qiime taxa filter-table --p-mode exact question


I would like to filter specific taxa from my table artifact and am unable to do so using p-mode exact in the qiime taxa filter-table command. I first use --p-mode contains to remove Archaea and Eykaryota sequences in my filtered table and did not have technical issues:

qiime taxa filter-table\
--i-table table.qza \
--i-taxonomy taxonomy.qza \
--p-mode contains \
--p-exclude "D_0__Archaea","D_0__Eukaryota" \
--o-filtered-table filtered_domains.qza

I then remove specific taxa with --p-mode exact using the output artifact as the input table

qiime taxa filter-table \
--i-table filtered_domains.qza \
--i-taxonomy taxonomy.qza \
--p-mode exact \
--p-exclude "D_0__Bacteria;D_1__Chloroflexi","D_0__Bacteria;D_1__Cyanobacteria" \
--o-filtered-table filtered_phyla.qza

When I use filtered_phyla.qza as the input table for a taxa bar plot, I successfully removed Archaea and Eukaryota domains but failed to remove Chloroflexi and Cyanobacteria phylum from my dataset.

If anyone can address what I am doing wrong I would greatly appreciate it. I am currently using qiime2-2020.2 if this information helps.



If you are using --p-mode exact to remove some taxa, the string you provide should be an exact match to taxonomy annotation you want to remove. So, you should take a closer look on taxonomy you want to remove and either provide an exact match, or switch to other method to remove those taxa


Hi Timur,

What other method(s) can I use to eliminate taxa?

Thanks for you input,


It depends on your data and what exactly you want to do. There are a lot of nice examples in this tutorial.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.