biom格式的文件如果想要删除某个物种啥的,转换以后直接修改是不行的
先转化成tsv
biom convert -i bak/feature_table_tax.biom -o feature_table_tax.tsv --to-tsv --header-key taxonomys
less feature_table_tax.tsv 
# Constructed from biom file
#OTU ID FT-1    CKR-4   CK0-1   CKR-5   FTR-4   CK0-5   CKR-1   FTR-5   FT-2    FT-3    CKR-3   CK0-4   CK0-3   FTR-3   FTR-2   FTR-1   FT-5    CK0-2   FT-4    CKR-2   taxonomy
6f8a1344c343b000bbe6c0946ef7af3f        3.0     0.0     0.0     9.0     10.0    0.0     0.0     2.0     0.0     0.0     3.0     0.0     5.0     2.0     0.0     0.0     0.0     0.0     3.0     0.0     k__Fungi; p__Fungi_phy_Inc
549c55efd9ef6cd14bd36400788f522b        34.0    30.0    0.0     0.0     3.0     9.0     7.0     5.0     0.0     19.0    20.0    6.0     0.0     0.0     3.0     10.0    0.0     0.0     4.0     0.0     k__Fungi; p__Basidiomycota
8235cac40e51a49e036c21599774db48        0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     134.0   37.0    0.0     0.0     0.0     k__Fungi; p__Ascomycota; c
3dfbc9a73f75b6dffe7d9d11d0bf5e6e        0.0     3.0     0.0     0.0     3.0     0.0     22.0    0.0     4.0     0.0     4.0     2.0     0.0     0.0     0.0     3.0     0.0     0.0     0.0     0.0     k__Fungi; p__Basidiomycota
处理完以后如果直接转化
biom convert -i feature_table_tax.txt -o feature_table_tax.biom --table-type="OTU table" --to-hdf5 --header-key taxonomy
Traceback (most recent call last):
  File "/share/work/biosoft/python/Python-v2.7.11/bin/biom", line 9, in <module>
    load_entry_point('biom-format==2.1.5', 'console_scripts', 'biom')()
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/click-6.3-py2.7.egg/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/click-6.3-py2.7.egg/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/click-6.3-py2.7.egg/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/click-6.3-py2.7.egg/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/click-6.3-py2.7.egg/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/biom_format-2.1.5-py2.7-linux-x86_64.egg/biom/cli/table_converter.py", line 129, in convert
    table_type, process_obs_metadata, tsv_metadata_formatter)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/biom_format-2.1.5-py2.7-linux-x86_64.egg/biom/cli/table_converter.py", line 207, in _convert
    write_biom_table(result, fmt, output_filepath)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/biom_format-2.1.5-py2.7-linux-x86_64.egg/biom/cli/util.py", line 35, in write_biom_table
    table.to_hdf5(f, biom.parse.generatedby())
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/biom_format-2.1.5-py2.7-linux-x86_64.egg/biom/table.py", line 3605, in to_hdf5
    self.group_metadata(axis='observation'), 'csr', compression)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/biom_format-2.1.5-py2.7-linux-x86_64.egg/biom/table.py", line 3577, in axis_dump
    formatter[category](grp, category, md, compression)
  File "/share/work/biosoft/python/Python-v2.7.11/lib/python2.7/site-packages/biom_format-2.1.5-py2.7-linux-x86_64.egg/biom/table.py", line 277, in vlen_list_of_str_formatter
    data[i, :len(value)] = [v.encode('utf8') for v in value]
TypeError: iteration over a 0-d array
会报错,需要加一个--process-obs-metadata参数
--process-obs-metadata [taxonomy|naive|sc_separated]
Process metadata associated with
observations when converting from a classic
table.
biom convert -i feature_table_tax.txt -o feature_table_tax.biom --table-type="OTU table" --to-hdf5 --header-key taxonomy --process-obs-metadata taxonomy
就可以了
 
                如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!