NR 数据库简介
目前有很多的数据库都存储了蛋白序列,比如NCBI Refseq, protein, swissprot 等,在各个数据库之间,或者是在某个数据库中,蛋白序列有大量冗余;为了方便使用,ncbi 构建了nr 库, 全称是 RefSeq non-redundant proteins;
Non-redundant protein sequences from GenPept, Swissprot, PIR, PDF, PDB, and NCBI RefSeq
完整的nr 数据库的蛋白序列和预先构建好的blast 索引可以从ncbi 的ftp 服务器上下载得到,地址如下:
https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/
通常情况下,我们直接下载构建好的blast 索引就可以了,因为
1) 整个nr 的蛋白序列非常大,大概30G 左右,如果自己构建索引,非常费时;
2)ncbi 提供的blast索引,在构建时已经把每条序列的种水平的tax id 加进去了,用这个索引可以非常方便的得到序列对应的物种注释信息;
3) 使用blastdbcmd 命令可以从索引中还原出原始的nr 序列;
对于NCBI ftp 的数据,我们可以用aspera 进行下载, 速度非常快
ascp -i ~/asperaweb_id_dsa.openssh -QTr -l6000m anonftp@ftp-private.ncbi.nlm.nih.gov:/blast/db/FASTA/nr.00.tar.gz ./
由于nr 库较大,所以 ncbi 把 nr 库分成了很多小份的fasta 序列,建立索引
对于nr 的序列而言,其标识符中包含了很多的信息
>XP_642131.1 hypothetical protein DDB_G0277827 [Dictyostelium discoideum AX4]P54670.1 RecName: Full=Calfumirin-1; Short=CAF-1BAA06266.1 calfumirin-1 [Dictyostelium discoideum AX2]EAL68086.1 hypothetical protein DDB_G0277827 [Dictyostelium discoideum AX4]
首先是1个蛋白序列的编号,后面是这条序列对应的详细信息,方括号内是物种名称; 由于nr 库是非冗余的,这里的每一条蛋白序列可以理解为 一个聚类的group 中的代表序列,第一条是该代表序列本身的信息,后面几条是属于这个group 下的其他序列的信息;
这里有两种情况,
1) 这一个group 中所有的蛋白序列都来源于同一个物种;
WP_003131952.1 30S ribosomal protein S18 [Lactococcus lactis]
2) 这一个group 中所有的蛋白序列都来源于多个物种;
WP_000184067.1 MULTISPECIES: MbtH family protein [Bacillus]
唯一不同的是,当来源于多个物种时,会在前面加上 MULTISPECIES 关键字
对于nr 中的序列,其标识符有两种:
1) WP 开头 :真实存在的蛋白序列
2)XP 开头: 理论上的蛋白序列(计算机软件预测的结果)
通常情况下,我们比对nr 库有两种用途:
1)蛋白质功能注释: 需要输出蛋白质的描述信息
对于这个需求,nr 库里包含了这些信息,所以比较简单,直接blast 比对,在输出结果中输出这个信息就可以了
2) 物种注释:输出蛋白对应的物种信息
在序列中有明确的 species 水平的注释,但是我们还需要phylum 等水平的注释,这时候就需要借助Taxonomy 数据库,把物种注释信息补充完整。