Demultiplexing error for CASAVA, Paired End format

Apart from the dialogue above, if I have .txt file extension instead of .tsv format in metadata file, Will Qiime2 work for demultiplexing?

By the way, I put this command:
qiime demux emp-paired \

–m-barcodes-file Barcodemetadate.txt
–m-barcodes-column StaggerandBarcode
–i-seqs LibAImported.qza
–o-per-sample-sequences demux.qza

I got this error:
There was an issue with loading the file Barcodemetadate.txt as metadata:

Metadata file path doesn’t exist, or the path points to something other than a file. Please check that the path exists, has read permissions, and points to a regular file (not a directory): Barcodemetadate.txt

There may be more errors present in the metadata file. To get a full report, sample/feature metadata files can be validated with Keemei:

Find details on QIIME 2 metadata requirements here:

I have already checked my metadata file with Keemei. It sent me ‘Good Job’! i did not have any error on Keemei!
What is the path problem?

I checked this discussion. I did not get any help!


Hey @Mehrdad

The extension does not matter to QIIME 2 — both .tsv and .txt are acceptable extensions. What matters to QIIME 2 is that the format of the metadata be correct:

This error means that either the file Barcodemetadate.txt doesn’t exist in your current working directory, or, it isn’t formatted correctly, although the path problem is my first guess. When you run ls, what do you see?

Whenever I get this issue I can usually get past it by writing out the full pathname to the file. so home/desktop/BarcodeMetadata.txt (just as an example). Also you might want to double check your spelling? It says Metadate not metadata.

I have to follow Cutadapt plugin. I did that but I got another error.
What do you reckon?
My data are paired end, CASAVA format, Illumina platform
The previous approach i was following was EMP, while I must to use a right way is suitable to my data as mentioned.


This is essentially the same error as before. It can’t find the file. (This time LibaImported.qza) As @thermokarst said before it doesn’t exist in your current directory. Double check it is in your directory and that you are spelling the file name correctly.

1 Like

Absolutely it is there!
There you go!


it is another photo

Filename Case sensitivity in python?
LibAImported.qza vs LibaImported.qza


Dear @kris-budd
I corrected that. But I have still errors!
I am telling again. My data are CASAVA (R1 and R2), paired-end, Illumina Highseq. They are imported successfully. I followed CASAVA and Moving picture platforms for demultiplexing but they failed because they are for EMP. Now I am following Cutadapt plugin for demultiplaxing. I run This command is present in the photo. based on the these info and details what is the my problem? And what is your idea?

By the way, my data have not been demultplexd by the sequencing center because I used my barcodes in my PCR assay and nobody knows what barcode sequences are used and also each library comes with different samples, so absolutely they should be demultiplexed. Now I am in this step. Please help me!
Thank you

Hi @Mehrdad - that error (Parameter ‘seqs’ received an argument of type…) means that your file called LibAImported.qza has been imported as an already-demultiplexed type – that means that you told QIIME 2 that it was demultiplexed when you imported it. If that is not the case then you will need to go back and reimport using the MultiplexedPairedEndBarcodeInSequence type, then you can use that imported file here in q2-cutadapt.


Just to clarify, @Mehrdad - I am not saying the your data is demultiplexed — I am saying that you told QIIME 2 it was demultiplexed by declaring the type as SampleData[PairedEndSequencesWithQuality] — this is a demultiplexed type. You will need to go back and reimport and tell QIIME 2 that the data is still multiplexed — you can do that by using the MultiplexedPairedEndBarcodeInSequence type I mentioned above.

Hello Dear Leader @thermokarst ,
Firstly apologize for sending a lot of questions. Honestly it is so hard for a newcomer in this field. And I am trying to solve it.
Thank you a lot for the valuable point. I will try to do that. One question!
if i want to import my data with MultiplexedPairedEndBarcodeInSequence type does it required to follow Casava format again, just exchange its type to this?

@thermokarst @kris-budd
by the way, in the command mentioned it is only for forward, while I have barcode sequences in both forward and reverse endings. Shall I have the second run for reverse? Or add the both reverse and forward barcode sequences in a metadata file and run altogether? Does is suffice? or must it be in a separate file to be run? I mean one metadata for barcode sequences are in forward endings and another one for barcode sequences are in reverse endings!

What is your idea?

Thanks a lot

Hi @Mehrdad! I noticed you have edited this post many times, which makes this difficult for me to keep track of what you are asking! I often will read posts and then think about how I will respond while working on other things, so when we come back and see the posts changing so often this makes it a bit of a “moving target.” Just something to keep in mind if you want to help expedite receiving timely responses!

You will need to update the --type flag in your import command to use MultiplexedPairedEndBarcodeInSequence — but, before you do that, please read the rest of my message below!

Unfortunately, QIIME 2 does not currently support demultiplexing dual-indexed reads. It sounds like from your post above that that is what you have — please correct me if I misunderstood. If you do have dual-indexed reads (barcodes in the forward and reverse reads) you will need to demultiplex these reads outside of QIIME 2 and then import them using a demultiplexed format (like the manifest format we discussed a few days ago).

1 Like

First of all, I apologize for the inconvenient. But I edited the text because I tried to transfer the idea or the thought lies in my question clearly. That is all.

Yes, I have the barcodes in the two endings - forward and reverse endings- so it means I have dual-reads, I did not know its concept before. Now the door is unlocked to me! Qiime2 does have this option unluckily! and according to your talking, I have to look for other software.

Your response was so clear! Now I capitulated!

One question:
Could you please introduce software to do that quickly?

I appreciate indeed!

No problem! In the future I suggest just writing more follow-up posts with your clarifications, this is generally a much easier linear flow to follow.

The only software that I personally know of is the Illumina demuxing software, and I think it requires you to use the illumina dual-indexing kits, but, I really don’t know for sure. We have discussed adding a dual-index demux action to QIIME 2, but it hasn’t happened yet and I don’t have a good time estimate for when it will happen.


I need to know sth.
I have bercode sequences in two sides of PCR amplicons, not two side of reads. I’d like to understand this these subjects are the same thing or not. I demultiplexed my data with this method:

qiime cutadapt demux-paired
​ --i-seqs paired
​ --m-forward-barcodes-file
​ --m-forward-barcodes-column
​ --o-per-sample-sequences
​ --o-untrimmed-sequences

Just for FORWARD! (But I demultiplex the data with a metadata including barcod4e sequences located at the PCR amplicons in forward and reverse sides.
Before, I drew a picture and sent to you.
In my eyes, I do not think so I have dual index read. I have barcode in two side of amplicons (not each reads). Can I continue the rest protocol the QIIME2 tutorial? What do you think?