TaxDump格式 (skbio.io.format.taxdump )

NCBI分类数据库转储 (taxdump )格式存储生物体名称、分类和其他属性的信息。它是带有分隔符的表格格式: <tab><pipe><tab> 列之间的行和行尾 <tab><pipe> 毕竟是专栏。文件名通常以.dmp结尾。

格式支持

嗅探员:没有

读者

writer

对象类

是的

pandas.DataFrame

格式规范

State: Experimental as of 0.5.8.

NCBI分类数据库 [1] [2] 拥有生物体名称和分类。它有一个门户网站 [3] 和文件传输协议下载服务器 [4]. 也可以使用电子公用事业访问它 [5]. 数据库每天都在更新,每个月都会生成一个存档。数据发布的文件名为 taxdump 。它由多个.dmp文件组成。这些文件有不同的用途,但它们遵循共同的格式模式:

  • 它是一种表格格式。

  • 列分隔符为 <tab><pipe><tab>

  • 行尾为 <tab><pipe>

  • 第一列是数字识别符,通常代表分类群(即“TaxID”),但也可以是遗传编码、引文或其他条目。

数据发布的两个最重要的文件是 nodes.dmpnames.dmp 。它们分别存储分类系统的层次结构(即分类)和生物体的名称。它们可以用来构建生物的分类树。

每种.dmp文件类型的列的定义取自 [6][7].

nodes.dmp

名字

描述

tax_id

GenBank分类数据库中的节点ID

父税_id

GenBank分类数据库中的父节点ID

排名

该节点的排名(超级王国、王国、...)

EMBL码

位置名称前缀;不是唯一的

分区ID

请参阅Division.dmp文件

继承的div标志(1或0)

如果节点从父级继承除法,则为1

遗传密码ID

请参阅gencode.dmp文件

继承的GC标志(1或0)

如果节点从父代继承遗传密码,则为1

线粒体遗传密码id

请参阅gencode.dmp文件

继承的MGC标志(1或0)

如果节点从父代继承线粒体基因编码,则为1

GenBank隐藏标志(1或0)

如果名称在GenBank条目沿袭中被隐藏,则为1

隐藏子树根标志(1或0)

如果此子树还没有序列数据,则为1

评论

自由文本评论和引用

2018年起,NCBI发布《新分类文件》 [8] (new_taxdump )。新的 nodes.dmp 格式与经典格式兼容,在上述所有列之后再增加五列。

名字

描述

叶绿体遗传密码id

请参阅gencode.dmp文件

继承的PGC标志(1或0)

如果节点从父代继承了叶绿体基因编码,则为1

specified_ 物种

1如果节点谱系中的物种有正式名称

氢体遗传密码子id

请参阅gencode.dmp文件

继承的HGC标志(1或0)

如果节点从父代继承氢小体基因编码,则为1

names.dmp

名字

描述

tax_id

与此名称关联的节点的ID

name_txt

为自己命名

唯一名称

如果名称不唯一,则为此名称的唯一变体

NAME类

(同义词,常用名称,...)

division.dmp

名字

描述

分区ID

分类数据库分区ID

部门CDE

GenBank部门代码(三个字符)

部门名称

例如BCT、PLN、VRT、MAM、PRI...

评论

gencode.dmp

名字

描述

遗传密码ID

GenBank遗传密码ID

缩写

遗传密码名称缩写

名字

遗传密码名称

CDE

该遗传密码的翻译表

开始

启动这种遗传密码的密码子

SCISKIT-BIO目前不支持其他类型的.dmp文件。但是,用户可以在使用此实用程序时自定义列定义。详情见下文。

格式参数

以下格式参数在中可用 taxdump 格式:

  • scheme :输入.dmp文件的列定义方案名称。下面列出了可用的选项。或者,可以提供在名称到数据类型词典中定义的自定义方案。

    1. nodes :古典音乐 nodes.dmp 计划。它还兼容新的 nodes.dmp 格式,在这种情况下,将只读取由经典格式定义的列。

    2. nodes_new :新的 nodes.dmp 计划。

    3. nodes_slim :仅前三列:Tax_id、Parent_Tax_id和RANK,它们是构建分类树所需的最低信息。它既适用于古典的,也适用于新的 nodes.dmp 档案。它还可以处理仅包含这三列的自定义文件。

    4. namesnames.dmp 计划。

    5. divisiondivision.dmp 计划。

    6. gencodegencode.dmp 计划。

备注

SCRKIT-BIO将从最左边读取列,直到方案中定义的列数。多余的列将被裁剪。

示例

>>> from io import StringIO
>>> import skbio.io
>>> import pandas as pd
>>> fs = '\n'.join([
...     '1\t|\t1\t|\tno rank\t|',
...     '2\t|\t131567\t|\tsuperkingdom\t|',
...     '6\t|\t335928\t|\tgenus\t|'
... ])
>>> fh = StringIO(fs)

将文件读入到 pd.DataFrame 并指定应使用“nodes_slm”方案:

>>> df = skbio.io.read(fh, format="taxdump", into=pd.DataFrame,
...                    scheme="nodes_slim")
>>> df 
        parent_tax_id          rank
tax_id
1                   1       no rank
2              131567  superkingdom
6              335928         genus

引用