downstream analysis of q2-perc-norm results in QIIME 2

I'm trying to incorporate the "perc-norm percentile-normalize" function into an analysis pipeline using QIIME2. The current steps are as follows:
'''

0

qiime tools import --type {params.type} --input-path {input} --output-path {output} --input-format {params.input_format}

1

qiime dada2 denoise-paired --i-demultiplexed-seqs {input} --p-trunc-len-f {params.trunc_len_f} --p-trunc-len-r {params.trunc_len_r} --o-table table.qza --o-representative-sequences {output.representative} --o-denoising-stats {output.stats} --verbose --p-n-threads {threads}

2

qiime feature-table relative-frequency --i-table table.qza --o-relative-frequency-table relative_table.qza

3

qiime perc-norm percentile-normalize
--i-table relative_table.qza
--m-metadata-file metadata.tsv
--m-metadata-column "#prova"
--m-batch-file metadata.tsv
--m-batch-column "#batch"
--o-perc-norm-table test_out.percentile_qiime.qza
'''
The function that would follow in the pipeline is:
'''
qiime diversity core-metrics-phylogenetic --i-phylogeny {input.tree} --i-table test_out.percentile_qiime.qza
'''
It would be highly helpful to know how to integrate this package into a QIIME2 pipeline (since it's a QIIME2 plugin). Is it possible to have an example of using this type of output file (i.e., FeatureTable[PercentileNormalized])?

Hi @Alenap26,
The developer of this tool noted the same issue (i.e., what to do with this downstream in QIIME 2) on the project's README - see here, so there may not be a simple answer to the question.

@cduvallet, I know you're not working on this anymore, but just in case I thought I'd ping you to see if you have any updated recommendations.

Sorry to not have a better answer for you @Alenap26! Let us know if there is anything else we can help with.

Thanks for the ping @gregcaporaso. Unfortunately there are no updated recommendations because this isn't a software issue so much as a scientific one. The fact that FeatureTable[PercentileNormalized] artifacts are not a valid input to any other QIIME2 function is by design (it's a feature, not a bug! :bug: ).

As we discuss in the README and this forum post, percentile normalized data was designed to address batch effects for differential abundance testing. If you want to use it for something else, you'd have to think through the statistical assumptions of those downstream analyses and make sure that the output data from percential normalization is an appropriate input.

Two other older posts tangentially addressing this question:

Actually, I think @seangibbons said it best in that last post:

2 Likes

Thanks for the input @cduvallet!

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