# Changing rooted tree tip lavels from IDs to taxonomy

**URL:** https://forum.qiime2.org/t/changing-rooted-tree-tip-lavels-from-ids-to-taxonomy/33199
**Category:** Other Bioinformatics Tools
**Created:** [May 26, 2025, 2:31pm UTC](https://forum.qiime2.org/t/changing-rooted-tree-tip-lavels-from-ids-to-taxonomy/33199 "2025-05-26T14:31:28Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![PabloCL](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/p/7ea924/32.png) [@PabloCL](https://forum.qiime2.org/u/PabloCL)
#### Post date: [May 26, 2025, 2:31pm UTC](https://forum.qiime2.org/t/changing-rooted-tree-tip-lavels-from-ids-to-taxonomy/33199/1 "2025-05-26T14:31:29Z")

</div>

Hello everyone,

I am currently trying to make lefse plot in R with the `lefser` Bioconductor package. However, I am having trouble making the package use ASVs instead of IDs. I have imported the relevant files (`filtered-table.qza`, `rooted-tree.qza`, `taxonomy.qza` and `metadata.tsv`) into a phyloseq object, followed by the next code. After `unclass`ing all components from the phyloseq object and turning them into a `SummarizedExperiment` object, running Lefse with default settings and plotting the result, I get this.

 ![lefser](https://forum-qiime2-org.s3.dualstack.us-west-2.amazonaws.com/original/3X/3/3/337e4c79cf706469c90ba194982b4157bf8b31e8.png)

Which is a mess. It seems lefser is comparing feature IDs between the categorical levels of the variable I am interested in (Sample type in this case) instead of a taxonomy table with all IDs properly assigned to their correct taxonomy, despite the fact that I am providing a taxonomy file with `rowData` when creating my `SummarizedExperiment` object. Can anyone let me know how I can fix this issue? I suppose I could try and going back to QIIME2 and providing the `rooted-tree.qza` file with the taxonomy labels or something else?

Thanks!

---

<div class="post-metadata">

### Author: ![ebolyen](https://forum.qiime2.org/user_avatar/forum.qiime2.org/ebolyen/32/11_2.png) [@ebolyen](https://forum.qiime2.org/u/ebolyen)
#### Post date: [June 3, 2025, 8:54pm UTC](https://forum.qiime2.org/t/changing-rooted-tree-tip-lavels-from-ids-to-taxonomy/33199/2 "2025-06-03T20:54:00Z")

</div>

I haven't used this wrapper, but my hunch would be to try `qiime taxa collapse` on the feature-table to just bake the taxonomy into your feature-table. It won't be ASVs anymore, but maybe that isn't a concern for you?

I don't think lefse needs the phylogeny, but I may be wrong on that, or perhaps the R wrapper would need it indirectly. In which case, collapse won't help all that much.

---

<div class="post-metadata">

### Author: ![SoilRotifer](https://forum.qiime2.org/user_avatar/forum.qiime2.org/soilrotifer/32/21071_2.png) [@SoilRotifer](https://forum.qiime2.org/u/SoilRotifer)
#### Post date: [June 3, 2025, 9:50pm UTC](https://forum.qiime2.org/t/changing-rooted-tree-tip-lavels-from-ids-to-taxonomy/33199/3 "2025-06-03T21:50:12Z")

</div>

Hi @PabloCL,

> [@PabloCL](#):
>
> Which is a mess. It seems lefser is comparing feature IDs between the categorical levels of the variable I am interested in (Sample type in this case

This seems like a formatting issue... If you'd like to obtain a traditional taxonomy style output from LEfSe (as intended, where different ranks are shown), you might follow the easy approach outlined [here](https://forum.qiime2.org/t/issue-with-lefse-analysis-in-qiime2-indexerror/32433/2). Then feed the output into LEfSe...

If you are trying to obtain LEfSe cladogram output, there is no phylogeny required. That cladogram is simply a hierarchical taxonomic cladogram, _not_ a phylogenetic cladogram.
