Producing BIOM table compatible with FAPROTAX

I was hoping someone could help me figure out why I am receiving error messages when I run FAPROTAX. I am using v2021.8 with the following commands to export my feature table with final abundance and taxonomy metadata:

qiime taxa collapse \
   --i-table otu_clustering/otu_table_final.qza \
   --i-taxonomy taxa/otu_classification.qza \
   --p-level 7 \
   --o-collapsed-table otu_clustering/otu_table_collapsed.qza

qiime feature-table relative-frequency \
   --i-table otu_clustering/otu_table_collapsed.qza \
   --o-relative-frequency-table otu_clustering/otu_table_frequency.qza

qiime tools export \
   --input-path otu_clustering/otu_table_frequency.qza \
   --output-path final_export

sed -i -e '1 s/Feature/#Feature/' -e '1 s/Taxon/taxonomy/' taxa/taxonomy.tsv

biom add-metadata \
   -i final_export/feature-table.biom \
   -o final_export/feature-table_w_tax.biom \
   --observation-metadata-fp taxa/taxonomy.tsv \
   --sc-separated taxonomy

And then I run FAPROTAX on the above BIOM table produced:

./collapse_table.py -i final_export/feature-table_w_tax.biom -o final_export/functional_table.biom -g Enviromin_Faprotax_db.txt --collapse_by_metadata 'taxonomy'

biom convert \
   -i final_export/functional_table.biom \
   -o final_export/functional_table.txt \
   --to-tsv \
   --header-key taxonomy

After which I receive the following error message when running collapse_table.py:

./collapse_table.py:208: SyntaxWarning: "is not" with a literal. Did you mean "!="? return (s.lower() is not 'nan') and is_number(s);

This still returns a functional_table.biom file, which I then try to export and receive the following error message:

Traceback (most recent call last):
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/bin/biom", line 11, in
sys.exit(cli())
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/biom/cli/table_converter.py", line 114, in convert
table = load_table(input_fp)
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/biom/parse.py", line 672, in load_table
table = parse_biom_table(fp)
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/biom/parse.py", line 411, in parse_biom_table
t = Table.from_json(json.load(file_obj,
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/biom/table.py", line 4565, in from_json
table_obj = Table(json_table['data'], obs_ids, sample_ids,
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/biom/table.py", line 510, in init
errcheck(self)
File "/home/qiime2/miniconda3/envs/qiime2-2021.8/lib/python3.8/site-packages/biom/err.py", line 474, in errcheck
raise ret
biom.exception.TableException: Duplicate observation IDs

I believe these errors may be due to the format of the BIOM table I am using, but I am new to using QIIME and working with sequencing data, so I can't be sure.

Hi @April_Oliver - I moved this over to "Other Bioinformatics Tools" - we don't develop FAPROTAX so we probably aren't the best place to check - have you followed up with them about this? Thanks!

Thanks @thermokarst, I didn't realize this might not be an issue with my QIIME output. I haven't found any other posts about FAPROTAX on here, so I'll comb other parts of the web.

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