My query relates to the use of feature-table group prior to creating a barplot.
If I use --p-mode sum (or mean-ceiling) all sample frequencies in a group are aggregated.
If I have features with low prevalence but high frequencies (perhaps in samples with large numbers of total reads) and the feature table is not normalized, simply summing or averaging the frequencies will skew the group proportions in the barplot.
What I want is to convert the feature table to relative abundance and then apply the mean-ceiling to this table. Unfortunately, a relative abundance table is not compatible with feature-table group.
A couple of thoughts and observations. First, it's relatively rare that I see a super low abundance (below 1/(my rarefaction depth)) with high prevalence. So, prevelence filtering is often suffecient. That said, there's a brand new filter-features-conditionally function in q2-feature-table that filters features based on abundance and prevalence and might sit your needs.
A second thing to consider is whether you truly need to present all your data as a stacked barchart. I sit firmly in the "no" camp and experience no small measure of frustration that QIIME doesn't support this easily. The average non-colorblind adult human can distinguish between about 8 and 16 colors and 16 is really pushing it. Happily or coincidently, in many microbiome analyses, you can often threshold at 1% or 5% average relative abundance overall and find the exact same thing. (Milage may vary based on environment type, but like - mouth, gut, vaginal of adults). I dont know that you can do that filtering automagically in QIIME, but it's a note for... somewhere.
I think the fact that you can't collapse on the relative abundance semantic type is sort of weird; maybe @thermokarst can address that decision, or maybe we should open an issue.
The feature-table collapse method predates our machinery for "matching" output types to input types (via TypeMap and TypeMatch) - at this point it is just a matter of updating the signature of the method to use TypeMatch, and then we are all set.