基因组注释基因组组装生物信息学

史上最全的BLAST本地化教程(三)-nr数据库的下载及拆分

2020-08-06  本文已影响0人  大号在这里

一、nr 数 据 库 介 绍

目前我们可以从很多数据库中获取蛋白质的序列信息,比如GenPept, Swissprot, PIR, PDF, PDB 和 NCBI RefSeq等。但是在这些数据库之间,蛋白质序列存在冗余性,为了解决这个问题,NCBI构建了一个非冗余的蛋白质序列数据库,即nr(non-redundant proteins)。我们可以看到最新版的nr库是2020.8.3更新的,压缩后的文件存储已经达到了78G,因此通过ncbi的物种分类信息来对nr库拆分为各个子库有助于提高比对速率降低资源消耗。
注意:目前新版本的nr库不在提供gi号,需要gi号的软件(如blast2go需要读取序列gi号)无法得到注释结果。

二、下载数据

  1. 下载NR数据库
  2. 下载分类数据库
    taxdump 目录中有两个重要文件:names.dmp:记录物种名及其分类编号;nodes.dmp:记录分类编号的分类节点信息)
  3. 下载accession与taxid的对应关系
  4. 用到的工具taxonkit和csvtk
wget -c https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz

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

wget -c https://github.com/shenwei356/taxonkit/releases/download/v0.6.0/taxonkit_linux_amd64.tar.gz

wget -c https://github.com/shenwei356/csvtk/releases/download/v0.20.0/csvtk_linux_amd64.tar.gz

三、NCBI生物分类数据库

Taxonomy Nodes (all dates)

四、构建命令

taxonkit list -j 2 --ids 10239 --indent "" --data-dir ./taxdump/ >Virus.list
cat prot.accession2taxid |csvtk -t grep -f taxid -P Virus.list |csvtk -t cut -f accession.version >Virus.taxid.acc.txt
blastdb_aliastool -seqidlist Virus.taxid.acc.txt -db /mnt/nas1/wanghw/database/nr/nr -out nr_Virus -title nr_Virus

taxonkit list -j 2 --ids 2157 --indent "" --data-dir ./taxdump/ >Archaea.list
cat prot.accession2taxid |csvtk -t grep -f taxid -P Archaea.list |csvtk -t cut -f accession.version >Archaea.taxid.acc.txt
blastdb_aliastool -seqidlist Archaea.taxid.acc.txt -db /mnt/nas1/wanghw/database/nr/nr -out nr_Archaea -title nr_Archaea

taxonkit list -j 2 --ids 2 --indent "" --data-dir ./taxdump/ >Bacteria.list
cat prot.accession2taxid |csvtk -t grep -f taxid -P Bacteria.list |csvtk -t cut -f accession.version >Bacteria.taxid.acc.txt
blastdb_aliastool -seqidlist Bacteria.taxid.acc.txt -db /mnt/nas1/wanghw/database/nr/nr -out nr_Bacteria -title nr_Bacteria

taxonkit list -j 2 --ids 4751 --indent "" --data-dir ./taxdump/ >Fungi.list
cat prot.accession2taxid |csvtk -t grep -f taxid -P Fungi.list |csvtk -t cut -f accession.version >Fungi.taxid.acc.txt
blastdb_aliastool -seqidlist Fungi.taxid.acc.txt -db /mnt/nas1/wanghw/database/nr/nr -out nr_Fungi -title nr_Fungi

taxonkit list -j 2 --ids 33208 --indent "" --data-dir ./taxdump/ >Metazoa.list
cat prot.accession2taxid |csvtk -t grep -f taxid -P Metazoa.list |csvtk -t cut -f accession.version >Metazoa.taxid.acc.txt
blastdb_aliastool -seqidlist Metazoa.taxid.acc.txt -db /mnt/nas1/wanghw/database/nr/nr -out nr_Metazoa -title nr_Metazoa

taxonkit list -j 2 --ids 33090 --indent "" --data-dir ./taxdump/ >Viridiplantae.list
cat prot.accession2taxid |csvtk -t grep -f taxid -P Viridiplantae.list |csvtk -t cut -f accession.version >Viridiplantae.taxid.acc.txt
blastdb_aliastool -seqidlist Viridiplantae.taxid.acc.txt -db /mnt/nas1/wanghw/database/nr/nr -out nr_Viridiplantae -title nr_Viridiplantae

1. taxonkit参数说明

-j :线程数;
--ids:需要提取的分类的taxid;
--data-dir:该目录下必须包含文件names.dmp和nodes.dmp;
--indent:提取的物种编号缩进位置,这个参数很重要,记得一定要设置为空 ""

2. blastdb_aliastool参数说明

旧版本的blastdb_aliastool参数-seqidlist不存在,可以通过-gilist同样可以得出结果。

taxonkit list -j 2 --ids 10239 --indent "" --data-dir ./taxdump/ >Virus.list
cat prot.accession2taxid |csvtk -t grep -f taxid -P virus.list |csvtk -t cut -f gi >virus.giid.acc.txt
blastdb_aliastool -gilist virus.giid.acc.txt -db /mnt/nas1/wanghw/database/nr/nr -out nr_Virus -title nr_Virus

3. blastdbcmd得到各类的fasta文件

#blastdbcmd -db database -entry_batch fasta_title.file > newfasta.fasta
blastdbcmd -db /mnt/nas2/database/ncbi/Nr/nr_Virus -entry all -dbtype prot -out nr_Virus.fa
blastdbcmd -db /mnt/nas2/database/ncbi/Nr/nr_Archaea -entry all -dbtype prot -out nr_Archaea.fa
blastdbcmd -db /mnt/nas2/database/ncbi/Nr/nr_Bacteria -entry all -dbtype prot -out nr_Bacteria.fa
blastdbcmd -db /mnt/nas2/database/ncbi/Nr/nr_Fungi -entry all -dbtype prot -out nr_Fungi.fa
blastdbcmd -db /mnt/nas2/database/ncbi/Nr/nr_Metazoa -entry all -dbtype prot -out nr_Metazoa.fa
blastdbcmd -db /mnt/nas2/database/ncbi/Nr/nr_Viridiplantae -entry all -dbtype prot -out nr_Viridiplantae.fa
上一篇下一篇

猜你喜欢

热点阅读