转载:教程:在NCBI批量Blast

本文全文转载子云生物:http://yunbio.com/49

先要多谢一下 Sophie 与 rebeccajiejie 的热心,让 云生物 看起来着实有些了活力。也希望更加的人参与进来回答问题。得开始认真宣传一下才行啊。

最近Sophie问了我关于批量Blast的问题。我尝试了一下NCBI的批量Blast,感觉非常不错。 写个教程分享一下。拿水稻的序列Blast做个例子。

Batch entrez

Batch entrez(http://www.ncbi.nlm.nih.gov/sites/batchentrez)是NCBI提供的批量搜索entrez数据库的工具。非常好用的。

比如说你有一个大量的accession或是gi的list(在文件里一行一个)。如下:

NM_016618
NM_022735
NM_023935
NM_022047
NM_004395

打开Batch entrez,载入这个文件。

如上图所示,选择一个文件。选择一个数据库。然后按Retrieve。

批量下载Fasta序列

在以一步之后,进入结果页面。在Display选择Fasta,然后再在send to 里选 择send to File。这样就完成了批量下载 Fasta序列了。

在NCBI批量Blast

上一步下载好的Fasta序列文件sequence.fasta先保留。打开Blast界面,http://blast.ncbi.nlm.nih.gov/Blast.cgi。选 择需要的物种的Blast程序。

上面已经说了拿水稻的做为例子。如下图所示,在choose a file to upload里选择刚刚下载好的Fasta文件。其它参数按需要选 择。

点Begin Search后,会进下如下图的界面。在Show Alignment as 里选 择 Plaing text(默认为html格式)。在Alignment View一栏选择Hit Table(即相当于在Blast选择-m9的参数)。

选择Hit table后,返回的结果有12列,依次是:

query id    query的ID

subject ids    比对到的ID

% identity   相似性(%)

alignment length  比对到的长度

mismatches  相对而言的,在alignment length中有多少个没有匹配,即PM

gap opens   同上,在alignment length中有多少个gap

q. start  query序列比对的开始

q. end   query序列比对的结束

s. start   subject序列比对的开始

s. end   subject序列比对的结束

evalue  E值

bit score  比对的得分

上面选 择完了之后,点击View report就可以查看结果了。如果数据太大,需要等一等。

返回的结果已经是清晰明了的。再把结果导入到Excel做一些筛选 工作就行了。这就不讲了。

NCBI批量Blast 完~  欢迎大家多写点文章来投稿啊。


### NCBI BLAST+ 的应用与操作 NCBI(美国国立生物技术信息中心)开发的 BLAST 工具是生物信息学领域中一种重要的序列比对工具,能够帮助研究者快速找到目标基因或蛋白质序列与其他已知序列之间的相似性[^1]。通过这种比对过程,可以推断未知序列的功能以及其可能所属的物种。 当拥有一组测序得到的序列数据时,可以通过使用 NCBI 提供的在线 BLAST 功能来识别这些序列所归属的具体物种。由于 NCBI 数据库覆盖范围广泛且更新及时,因此能迅速返回匹配的结果[^2]。如果事先了解待查询序列的大致来源物种,则可以在 BLAST 参数设置中的 Organism 选项框指定该物种名称,从而进一步缩小搜索空间并提高效率[^3]。 具体来说,在执行基于 BLAST 的序列比对过程中,主要遵循以下几个方面: #### 输入准备 用户需准备好要分析的目标核酸或氨基酸序列文件。通常情况下,这类文件采用 FASTA 格式存储,便于导入到各种生信软件里处理。 #### 执行流程概述 利用命令行版 NCBI BLAST+ 或访问 web 版本完成如下步骤: - **选择模式**: 对应不同类型的分子结构有专门设计好的算法模型可供挑选比如 blastn (针对核苷酸), blastp(面向蛋白). - **设定参数**: 如 E-value 阈值调整、字长大小定义等影响最终输出质量的关键数值. - **提交作业**: 将准备完毕的数据上传至服务器端等待计算结束. 以下是 Python 脚本调用本地安装 BLAST 命令的一个简单例子: ```python from Bio.Blast import NCBIXML import subprocess def run_blast(query_file, db_name="nt", evalue=0.01): output_xml = 'output.xml' command = f'blastn -query {query_file} -db {db_name} -evalue {evalue} -outfmt 5 -out {output_xml}' process = subprocess.Popen(command.split(), stdout=subprocess.PIPE) out, err = process.communicate() result_handle = open(output_xml) blast_records = NCBIXML.parse(result_handle) for record in blast_records: for alignment in record.alignments: for hsp in alignment.hsps: print(f"Sequence: {alignment.title}") print(f"Length: {alignment.length}") print(f"E value: {hsp.expect}") run_blast('example.fasta') ``` 此脚本展示了如何运行 `blastn` 并解析 XML 输出结果的一部分内容。 --- ### 结论 综上所述,BLAST 是一款非常实用的基础局部排列搜寻工具,它不仅限于发现两段或多段 DNA/RNA/Protein 序列间的同源关系,还能辅助判断新获得样本最接近哪些已记录分类群成员[^4]。对于希望借助计算机手段加速科学研究进程的研究人员而言,掌握好这一利器至关重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值