目前有很多的數據庫都存儲了蛋白序列,比如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 數據庫,把物種注釋信息補充完整。