no change after qiime fragment-insertion filter-features

Dear all,

I have my 16s data and I conducted the DADA2 for generating table and rep-seqs.

qiime dada2 denoise-paired
–i-demultiplexed-seqs demux-paired-end.qza
–o-table table
–o-representative-sequences rep-seqs
–o-denoising-stats stats-dada2.qza

Then I want to apply the fragment insertion pipeline:

qiime fragment-insertion sepp
–i-representative-sequences rep-seqs.qza
–p-threads 4
–o-tree insertion-tree.qza
–o-placements insertion-placements.qza

For my understanding, if I don’t provide the --i-reference-phylogeny, the default Greengenes 13_8 99% tree will be applied.

After that, I filter my table by the insertion-tree.qza

qiime fragment-insertion filter-features
–i-table table.qza
–i-tree insertion-tree.qza
–o-filtered-table filtered_table.qza
–o-removed-table removed_table.qza

However, when I check the table.qza generated from DADA2, it has exact the same feature numbers as the filtered_table.qza.

May I have any idea where I did wrong?

Thank you very much

Hi @Lennon_Lee,

It sounds like everything is going the way its supposed to! You want your tree to match your table. In this case, you’ve taken the sequences from your table (rep-seqs.qza ) and added them to the fragment insertion algorithm. Behind the scenes, at a very high level, this places the sequences on the reference tree and then trims away any reference leaves. So, at the end, the tips on your insertion tree should match the tips of your table.

If, later on, you decide to filter your table because, say, you want to retain features with at least 50 counts, you don’t need to filter your tree, because that can be a superset of your tips. However, every feature ID in your table must be in your tree.


Dear @jwdebelius,
Thanks sincerely. I think I made some conceptional mistake of fragment insertion SEEP and fragment insertion filter feature.
My understanding to fragment insertion is to re-organize my tree by a reference tree. The intension should be the prevention of exaggerating the difference during beta diversity analysis. But what’s the role of the feature table?

I just wandering that the function fragment-insertion filter-features might remove some of the feature from the original table, but when I checked, it seemed nothing changed.

Latter, when I followed the instruction of PICRUSt2 Swapping in SEPP for read placement with q2 picrust2 pipeline, I inputed the filtered_table.qza and insertion-tree.qza and I got:

Standard error of failed command:

"Error: None of the reference ids within the function abundance table are found within the input tree. This can occur when malformed or mismatched custom reference files are used.

Execution halted
I guess I did something wrong in the fragment insertion procedure, do you have any idea about that?

Thank you very much!!

Hi @Lennon_Lee,

Feature table is a general way to describe your {OTU, ASV, gene, etc} table. I think the full fragment insertion algorithm already trims tips that are not in your feature table; theres not a reason for you to re-filter your tree.

Okay, your issue with PICRUSt is a separate one. You need to insert into the PICRUSt tree (check the tutorial) because that’s whats used for the phylogenetic re-construction. The default QIIME 2 fragment-insertion pipeline inserts into the greengenes 13_8 tree.


Got it !
Thanks a lot!

1 Like

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