Jordan,
do you mean removing OTUs found only in your controls from other
samples? For instance, if control_1 has OTU X, you'd want to remove X
from all samples. If this is what you are trying to do, you could:
1) get the OTU ids found in your controls, and generate a list with
those: I don't think we have something to do this easily, but here is
a way to do it:
+ filter all non-control samples from the OTU table:
filter_samples_from_otu_table.py -i otu_table.biom -o
otu_table.control_only.biom -m MappingFile.txt -s Treatment:NoControl
(make sure your mapping file contains one column 'Treatment' to
distinguish non-controls)
+ convert the resulting biom file to 'classic' format: convert_biom.py
-i otu_table.control_only.biom -o otu_table.control_only.txt -b
+ get the OTU ids found in controls: awk '{print $1}'
otu_table.control_only.txt | tail +3 > control_otu_ids.txt
2) remove OTUs found in controls
filter_otus_from_otu_tables.py -i otu_table.biom -e
control_otu_ids.txt -o otu_table_filtered.biom
This is kinda complicated, but I think it should work. If others have
better ideas, please share.
Jose
> --
>
>
>