convert biom to tsv failed

I tried to export paired data, and i got stuck in this step:

biom convert -i feature-table.biom -o otu.tsv --to-tsv

Traceback (most recent call last):
File "/home/finkels9/.conda/envs/qiime2/bin/biom", line 11, in
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/click/", line 1130, in call
return self.main(*args, **kwargs)
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/click/", line 1055, in main
rv = self.invoke(ctx)
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/click/", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/click/", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/click/", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/biom/cli/", line 125, in convert
_convert(table, output_fp, sample_metadata_f, observation_metadata_f,
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/biom/cli/", line 182, in _convert
result = table.to_tsv(header_key=header_key,
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/biom/", line 5231, in to_tsv
return self.delimited_self('\t', header_key, header_value,
File "/home/finkels9/.conda/envs/qiime2/lib/python3.8/site-packages/biom/", line 1695, in delimited_self
raise TableException("Cannot delimit self if I don't have data...")
biom.exception.TableException: Cannot delimit self if I don't have data...

here is the feature-table.biom:
feature-table.biom (20.8 KB)

Hi @shanif3,

This error indicates there is no data in this table - I downloaded the file you provided and confirmed this on my end (the table is empty). If this is not what you expected, you'll most likely want to examine your upstream analysis steps to see if you unintentionally filtered out all of the features in your table.

Cheers :lizard:

1 Like

Hi @lizgehret ,
First, how can i check if there is no data in the table?

here are the commands i exacuted:

qiime dada2 denoise-paired --i-demultiplexed-seqs demux-paired-end.qza --o-table dada2_table.qza --o-representative-sequences dada2_rep-seqs.qza --o-denoising-stats dada2_denoising-stats.qza --p-trim-left-f 5 --p-trim-left-r 5 --p-trunc-len-f 180 --p-trunc-len-r 120 --p-n-threads 0 --verbose

qiime vsearch cluster-features-de-novo --i-table dada2_table.qza --i-sequences dada2_rep-seqs.qza --p-perc-identity 0.99 --o-clustered-table table-dn-99.qza --o-clustered-sequences rep-seqs-dn-99.qza

qiime feature-classifier classify-sklearn --i-reads rep-seqs-dn-99.qza --i-classifier /home/finkels9/gg-13-8-99-nb-classifier.qza --o-classification gg-13-8-99-nb-classified.qza

qiime taxa filter-table --i-table table-dn-99.qza --i-taxonomy gg-13-8-99-nb-classified.qza --p-exclude mitochondria,chloroplast --o-filtered-table clean_table.qza

qiime feature-table filter-features --i-table clean_table.qza --p-min-samples 3 --p-min-frequency 10 --o-filtered-table feature-frequency-filtered-table.qza

qiime tools export --input-path feature-frequency-filtered-table.qza --output-path exports

biom convert -i feature-table.biom -o otu.tsv --to-tsv

here is the process i did, what do i need to change?

i want to mention, that i export this also as single data and i got a lot of data just with 2 samples for each one.

Thanks so much!

Hi @shanif3,

I used biom.load_table() to load the table you provided, and then printed the output to my terminal - which displayed an empty table.

Without seeing your data, I have no way of knowing which of these commands generated an empty table. With that being said, please remember that your work is your own. While we can advise on different recommendations within your analysis, it's important that you understand the commands that you've run above, and what each of them means in the context of your data and the aims of your research.

If you're not sure where to begin, I would highly recommend going through the Moving Pictures tutorial in depth - this will give you a better understanding of a set of common analysis steps in a 16S workflow, and how to effectively choose parameters within each action.

Cheers :lizard:


@lizgehret thanks! i will check

Just to add, biom summarize-table -i path/to/table will also work and provide a summary on the command line. A long running "nice-to-have" feature is to allow biom summarize-table to operate with .qza without introducing a circular dependency -- it would be a good entry level PR for a developer familiar with the QIIME 2 API if of interest


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