Blast:3.本地化NR數據庫|按物種拆分

NR(Non-Redundant Protein Sequence Database)非冗余蛋白庫,是所有GenBank+EMBL+DDBJ+PDB中的非冗余蛋白序列。

NR數據庫包含了所有物種分類的蛋白序列數據,文章時間NR數據庫大約83G大小,由于注釋數據運行時間時間和數據庫大小幾乎呈集合級增長,另外防止其他物種序列影響注釋結果,因此在NR數據庫建庫時可以根據NCBI提供的物種分類號文件對NR數據庫序列進行分類,于我微生物研究方向一般使用bacteria和viruses的物種分類部分,因此本文章示例使用這兩部分的分類內容,其余建庫思路相似。

數據準備部分:

第一步,下載NR數據庫序列和md5文件,大文件下載后最好驗證一下文件完整性

可以在https網頁下查看包含內容

https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/

或者直接下載:

wget -c?https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz

#加-c可以斷點續傳?

md5sum -c?nr.gz.md5 nr.gz

第二步,下載taxid的accession號,同樣驗證完整性

同樣https瀏覽文件結構

https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/

截至文章時間,prot.accession2taxid目前有兩個文件,我下載了FULL版本:

wget -c?https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.FULL.gz

第三步:下載taxdump.tar.gz

wget ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz

解壓下載文件:

gzip -d nr.gz

gzip -d accession2taxid/prot.accession2taxid.FULL.gz

tar zxvf?taxdump.tar.gz

把解壓后的taxdump文件包含的兩個文件移到用戶根目錄下的.taxonkit路徑中

mkidr ~/.taxonkit

cp names.dmp ~/.taxonkit

cp nodes.dmp ~/.taxonkit

數據準備完成后,根據accession文件和fasta文件對應來建立不同物種分類下的子庫


序列提取方法很多,可以自己寫腳本提取,也可以用NCBI的序列提取工具,工具會簡單一些,但是也有人說用那些工具會有結果誤差,無論哪種方法,數據庫fasta文件提取出來以后最好檢查一下數據庫內容和完整性

序列提取用到的軟件:

csvtk:https://bioinf.shenwei.me/csvtk/download/

taxonkit:https://bioinf.shenwei.me/taxonkit/download/

nr文件和accession文件解壓后的格式如下

nr:

accession:

首先使用TaxonKit提取特定taxons下的所有taxid,細菌是2,病毒是10239:

taxonkit list --ids 2 --indent "" > bacteria.taxid.txt

taxonkit list --ids 10239 --indent "" > bacteria.taxid.txt

之后使用csvtk在prot.accession2taxid.gz文件中提取plant.taxid所有的accession:

cat prot.accession2taxid.FULL |/home/software/csvtk -t grep -f taxid -P taxid/2.bacteria/bacteria.taxid.txt |/home/software/csvtk -t cut -f accession.version > bacteria.taxid.acc.txt

wc -l bacteria.taxid.acc.txt

bacteria(2894144498)個taxid被找到,綜合archaea(9261926)、viruses(7496359)、fungi(24447089)、eukaryota(98755300)的數量來看數量應該是對的

隨后利用上面的得到的plant.taxid.acc.txt文件,我計算資源充足,可以使用blastdbcmd:

blastdbcmd可以從構建好的庫里提取序列

構建NR庫可以有兩種方式,一種是上述下載鏈接直接下載構建,另一種可以從ftp下載已經構建好的NR庫

#方法 1)

使用上面下載nr庫解壓后makeblastdb構建數據庫

#方法 2)

wget -c? https://ftp.ncbi.nlm.nih.gov/blast/db/nr.*

這里方法不完全,把00-38(2020-12-14)全都下載解壓即可

隨后使用blastdbcmd提取序列

blstdbcmd -db nr -entry_batch ../bacteria.taxid.acc.txt -out - | pigz -c > nr.bacteria.fa.gz

blast 或diamond建庫即可


如果是想提取特定物種(比如植物)下的所有NR序列,那么可以按照http://bioinf.shenwei.me/taxonkit/tutorial/的方法,主要的也是利用blast+的blastdbcmd工具:

blastdbcmd -db nr -entry all -outfmt "%a\t%T" |csvtk -t grep -f 2 -P plant.taxid.acc.txt |csvtk -t cut -f 1 |blastdbcmd -db nr -entry_batch - -out nr.plant.fa

由于我不需要構建,因此最后這部分引用自網絡:鏈接

另一篇參考文獻:http://www.lxweimin.com/p/1d6edfcb4110

還有一篇官方說明可供參考:https://bioinf.shenwei.me/taxonkit/tutorial/

由此建庫基本完畢,可以使用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容