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.