1.下载nr.gz(先前已下载)
2.下载taxid的accession号prot.accession2taxid下载地址 ftp://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz
prot.accession2taxid文件提供了nt/nr中accession号与物种分类taxid的对应关系,文件中第一列是accession号,第三列是对应物种的taxid号。
ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -QTr -l500m anonftp@ftp.ncbi.nlm.nih.gov:/pub/taxonomy/accession2taxid/prot.accession2taxid.gz ./
ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -QTr -l500m anonftp@ftp.ncbi.nlm.nih.gov:/pub/taxonomy/accession2taxid/prot.accession2taxid.gz.md5 ./ #下载
md5sum -c prot.accession2taxid.gz.md5 #验证MD5值
gunzipprot.accession2taxid.gz #解压
通过将acciessionid映射到taxid,再映射到divisionid,我们可以将nt/nr中的序列拆分到以上的12个大类中,分别代表:Bacteria, Invertebrates, Mammals, Phages, Plants and Fungi, Primates, Rodents, Synthetic and Chimeric, Unassigned, Viruses, Vertebrates, Environmental samples。
3.下载taxdump.tar.gz(文件不大,下载快)
ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -QTr -l500m anonftp@ftp.ncbi.nlm.nih.gov:/pub/taxonomy/taxdump.tar.gz ./
ascp -i ~/asperaweb_id_dsa.openssh -QTr -l500m anonftp@ftp.ncbi.nlm.nih.gov:/pub/taxonomy/taxdump.tar.gz.md5 ./ #下载MD5
md5sum -c taxdump.tar.gz.md5 #验证MD5值
tar -pzxvf taxdump.tar.gz #解压
4. 筛选 animal相关 taxdump
awk -F"\|" '{print$1"\t"$5}' nodes.dmp | awk '{if($2=="1"||$2=="2"||$2=="5"||$2=="6"||$2=="10")print$1}' > ANI.taxid
参考脚本:注意缩进空格
5.获取ID
python nrget.py ANI.taxid prot.accession2taxid ANI.ID
nrget.py代码如下:注意缩进空格
import sys
file1 = open(sys.argv[1], "r")
file2 = open(sys.argv[2], "r")
out = open (sys.argv[3], "w")
dic = {}
for line in file1:
line = line.strip()
dic[line] = "good"
for line in file2:
line = line.strip().split()
if line[2] in dic.keys():
out.write(line[1] + "\n")
file1.close()
file2.close()
out.close()
6.根据ID列表通过seqkit软件获取对应的fa序列
seqkit grep -f ANI.ID nr -o animals
7.构建diamond索引
diamond makedb --in animals -d animals
构建成功
参考:
https://www.jianshu.com/p/4138786bc2f9
https://www.cnblogs.com/jessepeng/p/13736609.html
https://blog.csdn.net/parkzx/article/details/125084218