What plugins perform normalization automatically and why?

Sometimes I perform normalization on that table

May I ask you when you think it’s recommended to do this, and if you use a QIIME2 plugin to perform normalization?

Definitely, thanks for confirming that again!

I’ll say stick with the methods in the tutorials and see that reviewers suggest you do

I have another question here. Do QIIME2 plugins take the size of the sample (intended as the number of reads in a sample, probably the easiest normalization criteria) into account while performing any calculation? Or has normalization to be performed separately? If so, I think I completely missed it in the workflow tutorial I’m trying to stick to. :sweat_smile:

Good question.

The plugin developers can choose whether to include normalization, or work with the data directly and leave the normalization up to you.
For example, qiime diversity beta does not perform normalization before making the distance matrix. But qiime diversity beta-rarefaction includes normalization (like it says in the name) and let’s you pick the settings to you.


1 Like

May I ask you (should I open another thread?) if normalization is performed by default at any point of the following pipeline (it’s nothing special, I just made it up by using QIIME2 tutorials)?

I couldn’t find this type of information, nor apparently choose to perform a normalization among options, so maybe I made some wrong choices.
I tried to stick to the tutorials as much as I could but at this point I’m not sure whether I had to choose a different method to perform normalization at some point, and I may have not performed it at all. I guess, being those the suggested methods, it is performed by default at some point, to take into account the different sizes of the libraries, or possibly even in several steps?

Apparently, I’m never asked openly, except when creating heatmaps with qiime feature-table heatmap choosing either the options --p-normalize / --p-no-normalize.

Here are the key points of the pipeline (I’m skipping steps only producing .qzv files and filtering ones):

qiime tools import / Importing reads and demultiplexing
qiime dada2 denoise-paired / Denosing, clustering, chimeras filtering
qiime feature-classifier classify-sklearn / Taxonomy assignment
qiime phylogeny align-to-tree-mafft-fasttree / Phylogenetic tree building
qiime diversity core-metrics-phylogenetic / Alpha and beta-diversity analysis
qiime diversity alpha-rarefaction / Rarefaction curve creation
qiime composition ancom and qiime gneiss ilr-hierarchical Differential analysis (with other previous preparing steps, the ones suggested in tutorials)

I also used, among the others (for filtering and grouping data)
qiime taxa filter-table , qiime feature-table filter-features, qiime taxa collapse and the previously mentioned qiime feature-table heatmap which allowed me to choose whether to normalize my data or not.

Thanks in advance!

as @colinbrislawn indicated, currently any methods in QIIME 2 that require normalization automatically perform that normalization in the background. So:

These use rarefaction to normalize for library size

These use different log ratio transformation techniques for normalization of compositional data.

Why does QIIME 2 do it this way? Because different methods often require their own normalization techniques and using the wrong type of normalization (e.g., rarefaction prior to ANCOM) could lead to errors. So we leave it up to plugin developers to designate what types of transformations should be applied for a specific method.


I got ya!
(Once the discussion is about to switch topics, I try to open a new thread.)

1 Like

Thanks for doing that!

Thank you for your answer, I’m glad to hear the plugins were developed this way, because normalization can be tricky!


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