NCBI的NT库比对——blastn

NT库比对,包括对测序数据和组装后的基因组序列进行NT库比对,查看是否存在菌污染以及是否是自己的数据。这里我提供这一部分的具体操作过程。

步骤一:NT全库下载

前面有一篇博文,提到了通过Aspera软件下载nt/nr/swissprot库。但是最近发现Aspera会报错,所以wget下载会好很多。(如果你的Aspera下载流畅,都可以)
时间:2022-09-26
NT库:https://ftp.ncbi.nlm.nih.gov/blast/db/
有75个子文件:https://ftp.ncbi.nlm.nih.gov/blast/db/nt.XX.tar.gz,且这75个文件是构建好的文件(使用了makeblastdb命令)。因此解压后,不需要使用makeblastdb命令
有1个总文件:https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nt.gz,这仅是fasta文件。因此解压后,需要使用makeblastdb命令

这里我对75个子文件下载。

cd /home/zhaohuiyao/Database/NT
#使用Aspera下载(尝试)
/home/zhaohuiyao/.aspera/connect/bin/ascp -v -QT -l 400m -k1 –i /home/zhaohuiyao/.aspera/connect/etc/asperaweb_id_dsa.openssh anonftp@ftp.ncbi.nlm.nih.gov:/blast/db/nt.00.tar.gz  ./
#报错信息,可能是服务器或者网络受限的问题
ascp: no remote host specified
Startup failed, exit
#使用wget下载,速度3MB/s(尝试)
wget https://ftp.ncbi.nlm.nih.gov/blast/db/nt.00.tar.gzmkdir /home/zhaohuiyao/Database/NT/nt    #存放解压后的文件
#共00~74个nt文件,编辑download_nt.sh,全部下载
#!/bin/bash
echo "download nt start on `date`"
cd /home/zhaohuiyao/Database/NT/
for i in {00..74}
dowget https://ftp.ncbi.nlm.nih.gov/blast/db/nt.${i}.tar.gz ./wget https://ftp.ncbi.nlm.nih.gov/blast/db/nt.${i}.tar.gz.md5 ./md5sum -c ./nt.${i}.tar.gz.md5tar -zxvf ./nt.${i}.tar.gz -C ./nt/echo "nt.${i} has done."
done
echo "download nt end on `date`"nohup /bin/bash ./download_nt.sh &
#查看目录/home/zhaohuiyao/Database/NT/nt下内容,下载完成
#查看文件nohup.out,查看是否所有都完成。grep "has done" ./nohup.out
nt.00 has done.
nt.01 has done.
nt.02 has done.
...
nt.74 has done.#若觉得占空间,可以将下载nt.XX.tar.gz和nt.XX.tar.gz.md5进行删除
rm nt.XX.tar.gz
rm nt.XX.tar.gz.md5

完成以上过程,你就拿到了构建好的NT全库了,接下来,就可以进行比对。

步骤二:随机提取10000条或5000条序列

如果是组装好的基因组文件,那么你可以根据情况选择(例如总共1000条,那就随机提取100条即可)

cd /home/zhaohuiyao/Genome_survey/nt
#这是常见的二代双端数据,两个fastq文件。每一个文件随机提取5000条。
nohup python3 Extract_sequence.py -i /XXX/raw_data/XXX_L1_1.fq -I /XXX/raw_data/XXX_L1_2.fq -o ./ -out_name XXX -f fq -n 10000 &
#最后拿到结果文件XXX_10000.fa
#参数-i:文件1;参数-I:文件2;参数-o:输出目录;参数-out_name:输出文件名;参数-f:fq/fa。默认是fq;参数-n:提取的序列个数#如果你是PacBio的HiFi测序数据,公司会给你bam/fasta/fastq格式的数据文件。这里仅针对fastq/fasta文件,提取5000条序列
nohup python3 Extract_sequence.py -i /XXX/raw_data/XXX_L1_1.fq -o ./ -out_name XXX -f f -n 5000 &

步骤三:对提取10000条序列进行全NT库blastn比对

保证软件blast已安装成功且测试通过

#全NT库已经是构建好的,直接进行blast
cd /home/zhaohuiyao/Genome_survey/nt/
nohup blastn -num_threads 32 -max_target_seqs 10 -evalue 1e-05 -db /home/zhaohuiyao/Database/NT/nt/nt -outfmt "7 qseqid sseqid evalue pident ppos length mismatch gapopen qstart qend sstart send bitscore staxid sscinames stitle" -query ./XXX_10000.fa -out ./XXX_10000.blastn.out &#具体的参数含义,自行查阅即可
#可能会遇到这样的报错:BLAST Database error: Error: Not a valid version 4 database。原因可能是blast版本低,使用高版本的blast
#报警告,不影响blast结果,只是因为没有物种信息,无法用staxid获取sscinames信息
Warning: [blastn] Taxonomy name lookup from taxid requires installation of taxdb database with ftp://ftp.ncbi.nlm .nih.gov/blast/db/taxdb.tar.gz
#更新命令
cd /home/zhaohuiyao/Database/NT/
wget http://ftp.ncbi.nlm.nih.gov/blast/db/taxdb.tar.gz
tar -zxvf ./taxdb.tar.gz -C ./nt/
#更新后没有用,因此这里我整理一下staxid、scinames的信息,最后补充到blast结果中。如果你没有这类问题,则忽略
#我的blast结果(缺失scinames的信息,显示为N/A)
# BLASTN 2.10.1+
# Query: A00808:1021:H5HHFDSX3:3:2478:32217:24627 1:N:0:GACCAAGCTT+AGTGGAGTCA
# Database: /home/zhaohuiyao/Database/NT/nt/nt
# Fields: query id, subject id, evalue, % identity, % positives, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, bit score, subject tax id, subject sci name, subject title
# 46 hits found
A00808:1021:H5HHFDSX3:3:2478:32217:24627    gi|2268683873|emb|OX155639.1|   2.56e-54    93.421  93.42   152 8   2   1   150 15472611      15472762  224 218720  N/A Carterocephalus palaemon genome assembly, chromosome: 2

补充:staxid的scinames关系信息

这一步只有你的blastn的结果中scinames这一栏是N/A的情况下进行,若是没有,则跳过

#下载最新的taxdmp.zip(2022-09-28)
mkdir -p /home/zhaohuiyao/Database/taxdmp/ && cd /home/zhaohuiyao/Database/taxdmp/
wget https://ftp.ncbi.nih.gov/pub/taxonomy/taxdmp.zip
wget https://ftp.ncbi.nih.gov/pub/taxonomy/taxdmp.zip.md5
md5sum -c ./taxdmp.zip.md5
unzip ./taxdmp.zip
#解压后的文件中names.dmp,是我们需要的staxid-scinames关系文件
#执行脚本staxid-scinames.py,拿到两者关系文件staxid-scinames.txt,第一列:staxid;第二列:scinames
python3 ./staxid-scinames.py -i ./names.dmp -o ./#staxid的scinames关系文件目录
/home/zhaohuiyao/Database/taxdmp/staxid-scinames.txt

步骤四:对blastn结果进行统计

这一步执行的前提的是你已经拿到了blastn的结果文件。因为我的脚本里面需要补充scinames信息,所以要提供staxid-scinames.txt文件,若你不需要,则需要将脚本略微修改。(两种我都会提供)

#对blast结果补充scinames信息,并进行总结分类
python3 blastn_stat.py -i ./XXX_10000.blastn.out -f /home/zhaohuiyao/Database/taxdmp/staxid-scinames.txt -o ./XXX_10000.blastn.out.stat -num 10000#结果文件如下,cat XXX_10000.blastn.out.stat
Species_name    mapping_reads   total_reads ratio
unknown 9265    10000   92.65%
Wolbachia pipientis 207 10000   2.07%
Wolbachia endosymbiont of Ostrinia scapulalis   99  10000   0.99%
Wolbachia endosymbiont of Chrysomya megacephala 92  10000   0.92%
Opisthograptis luteolata    91  10000   0.91%
Wolbachia endosymbiont of Ostrinia furnacalis   90  10000   0.90%
Wolbachia endosymbiont of Corcyra cephalonica   76  10000   0.76%
Wolbachia pipientis wAlbB   76  10000   0.76%
Wolbachia endosymbiont of Drosophila mauritiana 75  10000   0.75%
Wolbachia endosymbiont of Diaphorina citri  73  10000   0.73%
#取blast前10的物种输出。第一列:物种名;第二列:比对到该物种的reads数;第三列:总参与比对reads数;第四列:占比
#为什么unknown这么多,这是二代数据太短了,150bp,造成的#这是一个PacBio的Hifi测序数据的NT库比对结果
Species_name    mapping_reads   total_reads ratio
unknown 1506    5000    30.12%
Glyphotaelius pellucidus    204 5000    4.08%
Spodoptera littoralis   195 5000    3.90%
Zeuzera pyrina  183 5000    3.66%
Hypsopygia costalis 171 5000    3.42%
Calamotropha paludella  169 5000    3.38%
Cerceris rybyensis  168 5000    3.36%
Mellicta athalia    166 5000    3.32%
Phosphuga atrata    155 5000    3.10%
Schistocerca gregaria   150 5000    3.00%

总结

因为考虑到全库比对会比较费时间,所以计划构建子库。但是尝试后发现,全库比对的时间可以接受,所以放弃制作子库,但是可以作为拓展练习。(正在努力,完成后会和大家分享学习~~ 这里提供别人的一篇文章,供大家参考,这是一篇nr子库构建:https://cloud.tencent.com/developer/article/1943973)

还有上面提到的四个脚本,我放在了gitee上,大家可以下载学习,也可以自己写。https://gitee.com/zhao-huiyao/python_script/tree/master/NT%E5%BA%93%E6%AF%94%E5%AF%B9

NCBI的NT库比对——blastn相关推荐

  1. NCBI下载nt/nr/swissprot库

    NCBI下载nt/nr/swissprot库 1. 确定你要下载文件的位置 https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/ 2. 进行下载 方法一:使用wge ...

  2. 本地blast与nr/nt库

    步骤一:NT/NR库全库下载 用wget 对数据库进行下载 NT/NR库:https://ftp.ncbi.nlm.nih.gov/blast/db/ NT库有76个子文件构建成NT全库 NR库有63 ...

  3. 构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb...

    参考链接: FTP README 如何下载 NCBI NR NT数据库? 下载blast:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+ 先了解 ...

  4. 一文搞懂NCBI Blast本地数据库(NT/NR等)构建

    背景介绍 blast+:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST blast db:ftp://ftp.ncbi.nlm.nih.gov/ ...

  5. 生物信息学习--nr/nt 数据库(总+子)构建

    1. 从ncbi上下载数据 下载地址:https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/ mac端: 安装brew,运行如下命令: /bin/zsh -c &qu ...

  6. 使用Aspera下载NCBI和ENA数据库中的数据

    使用Aspera下载NCBI和ENA数据库中的数据 NCBI数据库储存的常用数据有:Nt库,Nr库,Swissprot库,以及物种的基因组数据(Genome数据库)等. ENA数据库储存的常用数据有: ...

  7. Aspera高速下载nt数据库

    需要下载NCBI的nt数据库 一开始使用NCBI脚本update_blastdb.pl进行下载 update_blastdb.pl --decompress nt 发现很难下载下来,数据库文件很大,网 ...

  8. 下载NCBI的SRA数据 详细教程

    SRA(Sequence ReadArchive)数据库是NCBI(National Center for Biotechnology Information)旗下用于存储高通量测序数据的子库.来自世 ...

  9. Microbiome:芝麻菜中肠杆菌科主导核心微生物组并贡献抗生素抗性组(简单套路16S+meta+培养组发高分文章)

    文章目录 日报 文章思路总结 摘要 主要结果 图1. 三类样本的细菌组成 图2. 宏基因组中肠杆菌群体结构和丰度 图3. 叶际和根际中肠杆菌科的核心微生物组 图4. 芝麻菜抗性组评估 图5. 可食用植 ...

最新文章

  1. 搜集《ASP.NET中常用的26个优化性能方法》
  2. 假如曹操是一名程序员,会发生什么?
  3. systemd      kernel
  4. 矢量合成和分解的法则_力的合成与分解
  5. 韩山师范计算机科学与技术,韩山师范学院计算机科学与技术专业
  6. 小狼毫(Rime)输入法设置Shift直接上屏英文字符并切换为英文状态方法
  7. Linux centos7 安装python3.6.5 和 pip3
  8. python image模块需要安装吗_python Image模块安装
  9. Java:Spring @Transactional工作原理
  10. 添加删除windows的系统服务
  11. mysql查询交叉连接_MySQL表连接(内连接、交叉连接、外连接、联合查询)-阿里云开发者社区...
  12. python网易公开课官网_[Python][爬虫]网易公开课下载器,支持多线程,可分别下载视频及字幕...
  13. 明哥手把手《闲鱼快速入门指南》电子书!!
  14. Base64与bitmap之间相互转换
  15. Ubuntu下切换root用户认证失败解决方案
  16. c语言单片机红外报警设计,超级简单单片机红外感应开关DIY设计
  17. python实现大数定理
  18. 彻底关闭华为系统更新教程,也可以激活系统更新,最全教程,亲测
  19. 项目管理中的关键路径
  20. js深拷贝可以这样做

热门文章

  1. springboot常用注解详解
  2. “讲得清,控得住,降得下”——红辽公司备件全生命周期管理创新实践
  3. proxifier注册码
  4. RAID的使用和区别
  5. 通过分解和增强学习恢复微光图像(CVPR2020)
  6. ubuntu18.04下vi不能使用方向键和退格键
  7. Realtek HD声卡前置面板音频设置教程(前置音频没声音解决办法)
  8. php下载.xlsx,php下载excel文件
  9. 【前端面试】div和p标签都是块级元素,有什么区别?
  10. [深度学习从入门到女装]keras实战-Unet3d(BRAST2015)