admin管理员组文章数量:1446760
BLAST—序列相似性搜索必备神器
工欲善其事 必先利其器
BLAST
BLAST(Basic Local Alignment Search Tool) 是一款用于在蛋白质或 DNA 数据库中进行相似性搜索的分析工具。BLAST 程序能够快速比对查询序列与公开数据库中的序列,并计算相似性得分,以进行统计分析。
自 1997 年发布以来,BLAST 经过多次升级,功能与性能不断优化。然而,随着时间推移,BLAST 的源代码变得越来越复杂和难以维护,限制了进一步的功能扩展和优化。与此同时,NCBI 推出的 C++ Toolkit 项目也促使 BLAST 的维护者决定从零开始,重新开发 BLAST 代码。
2009 年 7 月,NCBI 发布了全新的 BLAST+ 。BLAST+ 在继承 BLAST 核心算法和优势功能的基础上,进行了模块化重构,提升了性能和可维护性。新版本的改进包括:
- 将 blastn、blastp、blastx 等工具拆分为独立程序,取代了原有的
blastall -p blastn
这种调用方式。 - 新增了 makeblastdb、blastdb_aliastool、blastdbcmd 等与数据库相关的工具,增强了数据库管理和操作能力。
- 重点优化了长序列比对的性能,提高了计算效率和易用性。
由于 BLAST+ 在性能和可扩展性方面的显著提升,NCBI 也建议用户放弃旧版 BLAST,转而使用 BLAST+。
BLAST 常用程序
网页端:.cgi
网页端
命令 | 查询序列 | 数据库 | 适用场景 |
---|---|---|---|
blastp | 蛋白质 | 蛋白质 | 蛋白功能预测、同源比对 |
blastn | 核酸 | 核酸 | 核酸序列比对、基因组研究 |
blastx | 核酸 | 蛋白质 | 预测编码区、功能推测 |
tblastn | 蛋白质 | 核酸 | 在基因组/转录组中搜索蛋白编码基因 |
tblastx | 核酸(翻译) | 核酸(翻译) | 物种间的编码基因比对 |
如何安装
Blast安装非常简单,官网提供预编译的二进制安装包,下载解压即可使用。
- .html
- +/LATEST/
##下载软件安转包,网速慢的话,可以本地下载再上传到服务器
wget -c +/LATEST/ncbi-blast-2.16.0+-x64-linux.tar.gz
##文件大小
246M 3月 9 22:51 ncbi-blast-2.16.0+-x64-linux.tar.gz
##解压,软件包为预编译的二进制包,解压就能使用
tar -xf ncbi-blast-2.10.0+-x64-linux.tar.gz
解压即可
基本使用
构建数据库
代码语言:javascript代码运行次数:0运行复制makeblastdb -in genome.fasta -dbtype nucl -out ./dbname
-in: #构建数据库所用的序列文件
-dbtype: #数据库类型。构建的数据库是核苷酸数据库时,dbtype设置为nucl,数据库是氨基酸数据库时,dbtype设置为prot。
-out: #输出结果(自定义数据库名称)
#注:构建数据库的时候不要加`-parse_seqids`参数
当然NCBI也提供的有以及构建好的数据库,可以直接下载使用【Get NCBI BLAST databases:/】:
代码语言:javascript代码运行次数:0运行复制#查看可以有哪些可以下载的数据库
update_blastdb.pl --showall [*]
支持的数据库
代码语言:javascript代码运行次数:0运行复制$./update_blastdb.pl --showall [*]
28S_fungal_sequences
16S_ribosomal_RNA
ITS_RefSeq_Fungi
18S_fungal_sequences
Betacoronavirus
ITS_eukaryote_sequences
LSU_eukaryote_rRNA
LSU_prokaryote_rRNA
SSU_eukaryote_rRNA
env_nt
env_nr
human_genome
landmark
mito
mouse_genome
nr
nt_euk
nt
nt_others
nt_prok
nt_viruses
pataa
patnt
pdbaa
pdbnt
ref_euk_rep_genomes
ref_prok_rep_genomes
ref_viroids_rep_genomes
ref_viruses_rep_genomes
refseq_select_rna
refseq_select_prot
refseq_protein
refseq_rna
swissprot
tsa_nr
tsa_nt
taxdb
core_nt
其中nt为核酸数据库,nr为蛋白质数据库
nt 数据库
database:/
nt.*tar.gz
:来自 GenBank、EMBL 和 DDBJ 的所有传统分类中部分非冗余核苷酸序列,不包括 GSS、STS、PAT、EST、HTG 和 WGS。
/
代码语言:javascript代码运行次数:0运行复制screen -r ncbi
##下载nt数据库(默认下载到当前目录)
update_blastdb.pl --decompress nt
下载nt数据库
由于单个文件2.5G,整个nt数据库比较大,这里就不再一一下载,后面示例直接使用共享服务器提供的公共数据库。满足你生信分析计算需求的低价解决方案
代码语言:javascript代码运行次数:0运行复制##单个文件
2.5G 3月 10 16:59 nt.231.tar.gz
##每个nt.*.tar.gz 解压:
33M 3月 6 05:52 nt.231.nhd
747K 3月 6 05:52 nt.231.nhi
331M 3月 6 05:52 nt.231.nhr
22M 3月 6 05:52 nt.231.nin
15M 3月 6 05:52 nt.231.nnd
60K 3月 6 05:52 nt.231.nni
7.2M 3月 6 05:52 nt.231.nog
2.8G 3月 6 05:52 nt.231.nsq
229K 3月 6 05:52 nt.231.nxm
共享服务器公共数据库
blastn
代码语言:javascript代码运行次数:0运行复制blastn -query input.fa -db ./dbname -evalue 1e-6 -outfmt 6 -num_threads 6 -out out_file
-query: #输入文件路径及文件名
-out:#输出文件路径及文件名
-db:#构建的数据库路径及数据库名
-outfmt:#设定输出文件格式,6是tabular格式对应BLAST的m8格式
-evalue:#设置输出结果的e-value值
-num_descriptions:#tabular格式输出结果的条数
-num_threads:#线程数
-outfmt
输出文件选项
Formatting options
-outfmt <String>
alignment view options:
0 = Pairwise,
1 = Query-anchored showing identities,
2 = Query-anchored no identities,
3 = Flat query-anchored showing identities,
4 = Flat query-anchored no identities,
5 = BLAST XML,
6 = Tabular,
7 = Tabular with comment lines,
8 = Seqalign (Text ASN.1),
9 = Seqalign (Binary ASN.1),
10 = Comma-separated values,
11 = BLAST archive (ASN.1),
12 = Seqalign (JSON),
13 = Multiple-file BLAST JSON,
14 = Multiple-file BLAST XML2,
15 = Single-file BLAST JSON,
16 = Single-file BLAST XML2,
17 = Sequence Alignment/Map (SAM),
18 = Organism Report
示例
代码语言:javascript代码运行次数:0运行复制~/biosoft/ncbi-blast-2.16.0+/bin/blastn -query ~/seqtk_test/SRR23698412_2_subset.fasta \
-db /refdir/database/nt_makeblastdb/nt \
-out SRR23698412_2_subset.xml \
-max_target_seqs 1 -outfmt 5 -num_threads 4 -evalue 1e-5
blastn
至此,我们对blast有了一个基本的了解,也成功运行了一个很简单的示例,下一篇我们会再围绕一个具体使用场景介绍说明。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-03-11,如有侵权请联系 cloudcommunity@tencent 删除数据库服务器搜索性能优化本文标签: BLAST序列相似性搜索必备神器
版权声明:本文标题:BLAST—序列相似性搜索必备神器 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1748326771a2846570.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论