美文网首页基因组注释基因组组装生物信息学
史上最全的BLAST本地化教程(三)-nr数据库的下载及拆分

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

作者: 大号在这里 | 来源:发表于2020-08-06 09:38 被阅读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
    

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/uqxorktx.html