Qiime taxa filter-table filtering multiple taxa

Hi all,

I’m trying to filter out three different orders from my table and my taxonomy file.
I tried running this command, but it fails:

qiime taxa filter-table --i-table table-dada2.qza --i-taxonomy taxonomy.qza --p-include o_Bacillales o_Clostridiales o_Lactobacillales --output-dir bac_clos_lacto3

I think my issue is how to separate the different orders in the command so that they are all included.

Thanks,
Lauren

Hello Lauren,

Try separating those included taxa with commas (and no spaces). See the example in this section:
--p-exclude mitochondria,chloroplast

https://docs.qiime2.org/2017.11/tutorials/filtering/#taxonomy-based-filtering-of-tables-and-sequences

Let us know if that works for you,
Colin

4 Likes

Hi Colin,

This worked. Thank you!

However, now that I’ve filtered out these orders anything with vibrionales etc anywhere in the name is also filtering out. I tried using p–mode exact but it threw this error:

(qiime2-2017.11) [lauren@pugh thesis_fastq]$ qiime taxa filter-table --i-table table-dada2.qza --i-taxonomy taxonomy.qza --p-include Enterobacteriales,Campylobacterales,Vibrionales --p-mode exact --output-dir ent_camps_vib2

Plugin error from taxa:

All features were filtered, resulting in an empty table.

Debug info has been saved to /tmp/qiime2-q2cli-err-c0rxa1pa.log

Any suggestions?

Thanks,
Lauren

1 Like

Hello Lauren,

I wonder if this is a bug. Let’s see what the qiime devs recommend.
@jairideout

Colin

1 Like

Hi @Lauren_O_Connell and @colinbrislawn,

The exact mode looks for taxonomy annotations that match the full string — e.g., You want to include only Enterobacteriales, Campylobacterales, and Vibrionales, so this command is looking for taxonomy annotations that exactly match those strings, NOT taxonomies that contain those terms as substrings (e.g., k__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Enterobacteriales...)

So it makes sense that all taxa are being filtered out (since you are telling QIIME2 to only include taxa that perfectly match those terms), and I do not believe this is a bug.

You should either:

  1. use contains mode instead of exact, and include some of the level information that is contained in Greengenes taxonomy annotations (it looks like you are using Greengenes). So instead of Vibrionales, use o__Vibrionales, and it should not be filtering out other groups (unless if there are other orders that contain one of these terms as a prefix, which seems unlikely)
  2. write the complete taxonomy strings for taxa that you explicitly wish to include — but this is probably not what you want in this case, since it looks like you want ALL taxa that fall into those orders. This approach would make sense only if you want a very narrow group (e.g., all sequence variants that match a particular species)

I hope that helps!

3 Likes

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