#一、下载nr库以及安装taxdump、accession2taxid、csvtk、taxonkit软件
ascp -P33001 -l 500m --mode recv -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -QTr -l6000m [email protected]:/blast/db/FASTA/nr.gz ./
wget -t 0 -c ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz
wget -t 0 -c https://ftp.nacbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz
conda install csvtk -y
conda install taxonkit -y
mkdir taxdump
mv taxdump.tar.gz taxdump
tar -zxvf taxdump.tar.gz
rm taxdump.tar.gz
二、建库(nr库)
nohup makeblastdb -parse_seqids -in nr -dbtype prot -out nr &
三、使用TaxonKit提取特定taxons下的所有taxid(以病毒为例:病毒NCBI编号 txid:10239)
taxonkit list -j 45 --ids 10239 --indent "" --data-dir ./taxdump/ > Virus.list
cat prot.accession2taxid | csvtk -t grep -f taxid -P ../nr/Virus.list | csvtk -t cut -f accession.version > Virus.taxid.acc.txt
blastdb_aliastool -seqidlist Virus.taxid.acc.txt -db /public1/data/xxxx/data/parasite/nr/nr/nr -out nr_virues -title nr_virues
blastdbcmd -db /public1/data/xxxxx/data/parasite/nr/accession2taxid/nr_virues -entry all -dbtype prot -out nr_Virus.fa
diamond makedb --in nr_Virus.fa --db nr_Virus -p 10
至此nr_Virus子库已经构建完成
##################注意:不推荐使用NR子库或单一,检索出来假阳性率非常高!
####
#但是运算起来能节省数十倍的时间,尤其是随着NR库的日益增大!###
#ids 10239 virus 病毒
#ids 2157 Archaea 古菌
#ids 2 Bacteria 细菌
#ids 4751 Fungi 真菌
#ids 33208 Metazoa后生动物
#ids 3193 > sub.plants.list
#ids 33208 > sub.animals.list
taxonkit list -j 45 --ids 10239 --indent "" --data-dir ./taxdump/ > Virus.list
taxonkit list -j 45 --ids 2157 --indent "" --data-dir ./taxdump/ > Archaea.list
taxonkit list -j 45 --ids 2 --indent "" --data-dir ./taxdump/ > Bacteria.list
taxonkit list -j 45 --ids 4751 --indent "" --data-dir ./taxdump/ > Fungi.list
zcat prot.accession2taxid | csvtk -t grep -f taxid -P ../nr/Virus.list | csvtk -t cut -f accession.version > Virus.taxid.acc.txt
zcat prot.accession2taxid | csvtk -t grep -f taxid -P ../nr/Archaea.list | csvtk -t cut -f accession.version > Archaea.taxid.acc.txt
zcat prot.accession2taxid | csvtk -t grep -f taxid -P ../nr/Bacteria.list | csvtk -t cut -f accession.version > Bacteria.taxid.acc.txt
zcat prot.accession2taxid | csvtk -t grep -f taxid -P ../nr/Fungi.list | csvtk -t cut -f accession.version > Fungi.taxid.acc.txt
暂无评论