Archives

NCBI Taxonomy 数据库更新,提供lineage、host信息

我们分析metagenome数据离不开使用NCBI的Taxonomy数据,NCBI Taxonomy 提供了一棵物种树,其实每个节点(Node)都分配了一个数字标识符,可以唯一描述一个系统分类信息。

NCBI Taxonomy 数据库提供了一个 taxdump.tar.gz, 并记录了节点的描述信息(names.dmp)以及树的上下游信息(nodes.dmp), 刚刚发布的更新版本提供了额外的lineage信息(rankedlineage.dmp) 以及 host 信息。

另外NCBI已经不再给Strain水平分配这种数字标识符,所以NCBI Taxonomy 提供了 typematerial.dmp 文件用于关联种和菌株(strain)的映射关系。

利用新的数据库我们可以很容易对一些短序列分类器进行注释, 常用的操作如下:

1、 格式化数据库,一般可以使用 tsv-utils

cut -f1,5  fullnamelineage.dmp | sed 's/ $//' >fullnamelineage.db
cut -f1,5  taxidlineage.dmp | sed 's/ $//' >taxidlineage.db
cut -f1,3  host.dmp  >host.db

2、 典型使用场景

下面以Kraken为例子,介绍如何格式化为有效信息, kraken的结果:

C   E00552:27:HJ2JYALXX:4:1101:5233:1801    435590  203 816:40 435590:21 A:31 435590:13 0:53 435590:10 0:5
U   E00552:27:HJ2JYALXX:4:1101:5781:1801    0   252 0:116 A:31 0:75

四列组成:

第一列: 序列分类标识符, C为分类,U为未分类
第二列: 序列ID
第三列: 命中的NCBI Taxonomy 数字ID,未命中为0;
第四列: Kmer匹配的信息;比如: 816:40,40个Kmer匹配Taxonomy ID 816;

现在可以生成一个关于序列分类的列表:

E00552:27:HJ2JYALXX:4:1110:28615:27257  12509   vertebrates,human   \
Viruses; dsDNA viruses, no RNA stage; Herpesvirales; Herpesviridae; Gammaherpesvirinae; Lymphocryptovirus; Human gammaherpesvirus 4;

通过执行下面命令问题就解决了:

grep -P ^"C" GY.txt \
| cut -f2,3 \
| tsv-utils definition  -c 2 fullnamelineage.db  - \
| tsv-utils definition  -c 2  host.db   -  \
>GY.taxonomy.tsv

Comments are closed.