data demultiplexing error

Hello everybody,

will somebody help me with the following issue? I have a dataset of Illumina MiSeq-generated paired-end reads (bacterial 16s metabarcode) and I have a problem with the demultiplexing of these samples.

After importing my forward and reverse fastqs I receive my .qza file:

UUID: a7168d9f-c281-4579-86c3-d2d2d760343c
Type: MultiplexedPairedEndBarcodeInSequence
Data format: MultiplexedPairedEndBarcodeInSequenceDirFmt

My metadata file is in .tsv file (checked by Keemei) see below:


After running the demultiplexing command:

qiime demux emp-paired
--i-seqs emp-paired-end-sequences.qza
--m-barcodes-file sample-metadata.tsv
--m-barcodes-column forward-barcode-sequence
--o-per-sample-sequences demux.qza
--o-error-correction-details demux-log.qza \

I receive:

There were some problems with the command:
(1/2) Invalid value for '--i-seqs': emp-paired-end-sequences.qza does not
(2/2) Invalid value for '--m-barcodes-file': There was an issue with
retrieving column 'forward-barcode-sequence' from the metadata.

I have Qiime 2-amplicon-2024.2/Conda 24.1.2 running on the Ubuntu server (VERSION="22.04.4 LTS (Jammy Jellyfish)").

What should I do? Thank you very much...


Hi @Pardal_Oblackovy ,

Welcome to the forum! :smiley: :wave: There are a few things here that could be causing these errors.

This one:

Is telling you that the file you created at the import step can't be found, things to check are; what did you name your output file when you imported your data? What directory is it in?

this one:

is telling you that in your metadata file you don't have a column called 'forward-barcode-sequences' which I can tell that from looking at your file you've named the column that contains the barcodes 'BarcodeSequences' and 'BarcodeSequencesReversed'.

I would just double check to make sure what you have named files and metadata compared to what the tutroails have used, as they will differ.

hope that helps,



Dear Victoria,

thank you very much for your fast and kind reply <3.

(1/2) I named my QZA file "240320_XO1B_multiplexed-seqs.qza" and it's placed in one subdirectory in my home dir. (the same one where my sample-metadata.tsv file is btw.) see:

(2/2) This sounds logical to me and I even tried to rename the columns In various ways (according to the manual 4. Metadata in QIIME 2 — q2book and this forum) but the error is still the same.

Thank you for your time :slight_smile:


@Pardal_Oblackovy The error will be the same as you need to change your command to look for the artifact you created. Additionally, you need to add your directory paths if items are in different subdirectories

i.e. Your command should be something like:

qiime demux emp-paired
--i-seqs Ostrava_X01B/240320_XO1B_multiplexed-seqs.qza
--m-barcodes-file Ostrava_X01B/sample-metadata.tsv
--m-barcodes-column BarcodeSequence
--o-per-sample-sequences demux.qza
--o-error-correction-details demux-log.qza \

Do you see what I have done and that it is different to your command (in bold)? The column name in your file is different, your input file is different. The errors are just Qiime2 struggling to find your files.

Have a go at using subdirectories (relative paths) in the command and make sure you use the exact names you created.



Dear Vic,

thank you for your reply again. I see differences in command (in bold) but it doesn't work for me, with your command, or even after providing the absolute paths:

qiime demux emp-paired
--i-seqs /home/svecka/Ostrava_X01B/240320_XO1B_multiplexed-seqs.qza
--m-barcodes-file /home/svecka/Ostrava_X01B/sample-metadata.tsv
--m-barcodes-column BarcodeSequence
--o-per-sample-sequences demux.qza
--o-error-correction-details demux-log.qza \

I receive a different set of error messages:

(1/4) Missing option '--i-seqs'.
(2/4) Missing option '--m-barcodes-file'.
(3/4) Missing option '--o-per-sample-sequences'. ("--output-dir" may also be used)
(4/4) Missing option '--o-error-correction-details'. ("--output-dir" may also be used)

Thank you very much,



The error "Missing option" is telling you that you haven't input a required command, even though you have, this is could because you haven't placed a backslash before inputting the next line, to tell the terminal that you are continuing onto the next line, like so:

qiime demux emp-paired \
--i-seqs /home/svecka/Ostrava_X01B/240320_XO1B_multiplexed-seqs.qza \
--m-barcodes-file /home/svecka/Ostrava_X01B/sample-metadata.tsv \
--m-barcodes-column BarcodeSequence \
--o-per-sample-sequences demux.qza \
--o-error-correction-details demux-log.qza 

Otherwise it thinks you have pressed enter.

1 Like

Thank you for your reply. Missing backslash was a stupid mistake, i oversight them but still... if I run:

qiime demux emp-paired
--i-seqs /home/svecka/Ostrava_X01B/240320_XO1B_multiplexed-seqs.qza
--m-barcodes-file /home/svecka/Ostrava_X01B/sample-metadata.tsv
--m-barcodes-column BarcodeSequence
--o-per-sample-sequences demux.qza
--o-error-correction-details demux-log.qza

Qiime returns:
--i-seqs: command not found

Greetings from Prague :slight_smile:


Can you copy the full command and error message here, either a screen shot or copy and paste?

all the best,

from :scotland:

1 Like

Here is the complete screenshot of my terminal:

1 Like

Hi again,

This error is not "command was not found", this error says, "invalid value", then goes on to say that you have supplied to wrong type of artifact.

When you import your data, you are required to tell Qiime2 the type of data you have, using the option --type. You have imported as one type (MultiplexedpairedEndBarcodeInSequence) but then tried to demultiplex it using the EMP paired approach which expects a different type of data.

The second error is you have forgotten to add the line of code that indicates to Qiime2 where your metadatafile is, i.e. --m-barcode-file.

I think you might be helped by looking through the importing data tutorial again which can be found here. Also, try to work through a tutorial relevant to the type of data you have, those can be found here.




and I thank you again for your response Vic,

today I found the following note during the re-reading manual that I probably oversight previously.

Note: Currently q2-demux and q2-cutadapt do not support demultiplexing dual-barcoded paired-end sequences, but only can demultiplex with barcodes in the forward reads. So for the time being, this type of demultiplexing needs to be done outside of QIIME 2 using other tools, for example bcl2fastq.

This is probably core of my problem, isnt it?

I think dual-indexing is now supported by cutadapt:

Looks like we need to update that tutorial!