# normalization = "TSS" vs "NONE" for pre-filtered relative abundance data

**URL:** <https://forum.biobakery.org/t/normalization-tss-vs-none-for-pre-filtered-relative-abundance-data/8994>\
**Category:** MaAsLin\
**Created:** [July 11, 2026, 12:46am UTC](https://forum.biobakery.org/t/normalization-tss-vs-none-for-pre-filtered-relative-abundance-data/8994 "2026-07-11T00:46:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bluuuec](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/bluuuec/32/3672_2.png) [@Bluuuec](https://forum.biobakery.org/u/Bluuuec)\
**Post date:** [July 11, 2026, 12:46am UTC](https://forum.biobakery.org/t/normalization-tss-vs-none-for-pre-filtered-relative-abundance-data/8994/1 "2026-07-11T00:46:52Z")

</div>

Hello MaAsLin3 team,

We are running MaAsLin3 on shotgun metagenomics relative abundance data (N = 4,491). Before analysis, we pre-filtered the data, retaining only taxa with relative abundance \> 0.0001 and prevalence \> 10%.

Due to this filtering, the per-sample sum of relative abundances no longer equals exactly 1. While the median sum remains high (0.95), a few outlier samples drop significantly (minimum sum ≈ 0.067).

fit\_joint ← maaslin3(  
input\_data = df\_input\_data, # Pre-filtered relative abundance matrix  
input\_metadata = df\_metadata,  
formula = ~ joint\_group + covariates,  
normalization = “TSS”, # ← Question is here  
transform = “LOG”,  
min\_prevalence = 0.1  
)

**My questions:**

1. Is it more statistically appropriate to change to `normalization = "NONE"`? We are concerned that `TSS` might artificially inflate the abundances of the remaining taxa, especially for those extreme samples (e.g., re-scaling 0.067 back to 1).

2. What is your recommended best practice for handling this type of pre-filtered relative abundance data?

Thank you for your time and for developing this great tool!

---

<div class="post-metadata">

**Author:** ![WillNickols](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/willnickols/32/3223_2.png) [@WillNickols](https://forum.biobakery.org/u/WillNickols)\
**Post date:** [July 11, 2026, 1:20am UTC](https://forum.biobakery.org/t/normalization-tss-vs-none-for-pre-filtered-relative-abundance-data/8994/2 "2026-07-11T01:20:39Z")

</div>

Hi,

1. Yes, using `TSS` will re-inflate the abundances so they scale to 1, so I’d use `normalization = "NONE"`.
2. Everything else should work the same as normal. I’d set `min_prevalence` and `min_abundance` to 0 so they don’t re-filter your data based on what’s left.

Will

---

<div class="post-metadata">

**Author:** ![Bluuuec](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/bluuuec/32/3672_2.png) [@Bluuuec](https://forum.biobakery.org/u/Bluuuec)\
**Post date:** [July 12, 2026, 5:41am UTC](https://forum.biobakery.org/t/normalization-tss-vs-none-for-pre-filtered-relative-abundance-data/8994/3 "2026-07-12T05:41:13Z")

</div>

Hi Will,

Thank you for the clarification and the quick response! Using `normalization = "NONE"` and setting the internal filters to 0 makes perfect sense for my pre-filtered data. I will proceed with these settings.
