A few general question about qiime2

Deal all,
I need you to help me with a a few general questions. Thanks in advance!

  1. In general, once I have a qza file, what commands can be used to convert it to qzv file that can be visualized in qiime2 view? After recalling what I have done so far with qiime2, it looks like both the “qiime feature-table summarize” and “qiime demux summarize” can do the job. But what is the difference? I should have some misunderstanding of qiime2 basic concepts.

  2. I have some 16s data to analyze, and I understand there might not be a standard operating procedure for qiime2 analysis. Please correct me if there is. I thought it all depends on what analysis you are going to do and how you do it. But this makes me a bit less confident of what I have done. Did I do it right? Here is my workflow and I would greatly appreciate if anyone could correct me if I miss anything or did not do it in the right order:
    –Trimming adapter and primer sequence
    –dada2 denoising (will produce rep seqs)
    –filtering samples and features
    –generating taxonomy.qza file (using rep seqs file)
    –alpha rarefaction
    –alpha/beta diversity analysis
    –generating taxa bar plot

After filtering samples and features, should I redo dada2? because filtering will remove some OTU and some samples, so representative sequences generated from the dada2 step will not be representative anymore, right?

Thank you very much.

Ok, I think now I can reply my first question.
“qiime2 demux summarize” only visualize the sequence information. But no features as OTU/ASV included. While the “qiime feature-table summarize” visualize OTU/ASV features, instead of sequencing reads. So, for converting qza to qzv for visualization, “qiime feature-table summarize” is the only option. Am I right?
Thank you.

Hi @arlandan,
I think you’ll benefit from reading theintroduction to core concept tutorial in Qiime2. Not all .qza files produced in qiime2 can be converted to .qzv and each plugin can have its own method of converting a qiime artifact into a qiime visualization type. The examples you provided are just 2 samples of this but by no means represent them all. For example the emperor plugin produces different visualizations using its own methods that have nothing to do with the examples you mentioned.

As for your second question, you are right that 16S data analysis is highly specific to the questions being asked and so there is no real right approach. The Qiime2 tutorials do an excellent job of showing many of the different things that can be done in qiime2, but they are not necessarily all of them. The plugin page shows a comprehensive list of all the core qiime2 plugins, and the qiime2 library holds various other plugins that can be installed independently.
The pipeline you posted is a totally fine approach and what would be considered a basic 16S analysis.

Nope, you only need to that step once per dataset. This step denoises your reads, what you do what those reads after is independent of this step and doesn’t require re-analysis. Your rep-seqs file will still be representative of those reads after filtering, they just may have some extra features which won’t really cause any issues downstream. Besides you can always filter the extra features if you wanted to anyways.


Hi @Mehrbod_Estaki,
Thank you so much for your timely reply. I have one last question regarding this post.

Can you please tell me how this is done? Did you mean filter those extra features from rep_seqs.qza file? How do I locate those extra features? Thank you.

Hi @arlandan,
Let’s say you ran dada2 and now have a feature table with 100 features across 10 samples, and the rep-seqs file is made of those 100 features. You decide to filter your table to remove any features with total frequency values of less than 50 (using the filter-features plugin). Now your feature table has 90 features across 10 samples, but your rep-seqs file still has 100 features. For the most part this isn’t an issue at all as the extra features will not really affect anything, except in some very rare cases when it comes to phylogenetic tree building it made distort some branch lengths. So you may want to remove those extra features anyways. To do this you can simply use your new filtered-feature table in filter-seqs action and use it to remove those unwanted features from your rep-seqs. So now you’ll end up with both a feature table and rep-seqs file with 90 features. This costs a tiny bit less computation time downstream as well. Hope that clarifies it a bit.

Hi @Mehrbod_Estaki,

Thank you very much for your time and patience. I have actually understood your previous reply on the logic of removing the extra features from rep-seqs file. But you are very kind and patient to further explain that with great examples. I really appreciate that.

However, what I wanted to ask was the commands for that particular step. I am not very familiar with command lines. While you have suggested to use filter-seqs, I am still not successful with this removal step. According to what I have understood, I need to use “qiime feature-table filter-seqs” and here is the commands I would like to run:

qiime feature-table filter-seqs
  --i-sequences pilot_repseqs.qza
  --i-table pilot_table_filtered_taxonomybased.qza
  --m-metadata-file metadata.tsv
  **--p-where** TEXT
  --o-filtered -data rep-seqs-filtered.qza

“qiime feature-table filter-seqs” is suggested outdated and not supported in qiime2. Am I on a right track with using this? I am wondering if “qiime taxa filter-seqs” is the right one? Also, would you be able to specify what to provide for the bolded area? Thanks so much.


Hi @arlandan,
No problem, glad you are moving along with your analysis!

I’m curious as to where the source of this claim is? :thinking:

To remove features from your rep-seqs.qza file based on IDs from a feature-table.qza you can use the following:

qiime feature-table filter-seqs \
--i-data rep-seqs.qza \
--i-table feature-table.qza \
--o-filtered-data no-miss-rep-seqs.qza \
--verbose #here in case of further trouble-shooting needed

This should filter rep-seqs.qza and retain only features found in the feature-table.qza
Hope that helps!

Hi @Mehrbod_Estaki,
It worked. Thank you very much for your timely help.

For this, I actually meant the following screenshot:

So I was not sure if I should continue with the "red button" or not. If I go with the "green", only a table of contents will show up and did not direct me to where I wanted. I clicked the "filtering data", but not able to get my question answered. Anyway, thanks a lot and now the problem is solved.

Hi @arlandan,
That Warning page only shows up when you are trying to look at the help files of a plugin in an older version of Qiime2. Whatever link you were trying to click on must have been from a previous qiime2 version. This doesn’t mean the plugin is not supported. Just find the plugin’s help file in the most recent 2019.4 version.

1 Like

I see. Thank you @Mehrbod_Estaki so much for the clarification. Have a great day!

1 Like