Windows平台下新版blast(2.2.24+)本地化构建+数据库下载+序列间的相似性检索
从blast-2.2.23-ia32-win32这个版本开始,本地化blast的参数有了很大改变,NCBI新近对 blast 程序做了一些修改推出了 blast+,目前最新版本为ncbi-blast-2.2.24+-ia32-win32。与之前的blast相比,新的blast+将blastn,blastx等合作与blastall命令分隔开来,对各个命令的参数定制更加方便而网上相关的一些教程大同小异,一部分操作已经不适用了,遂整理如下,仅供参考,不当之处,敬请指正。
正则化工具包blast+的本地化构建
1.1程序下载链接到:ftp://bi.v/blast/executables/blast+/LATEST
下载最新的BLAST+程序包,推荐版本ncbi-blast-2.2.24+-(绿版windows32位系统),其他版本:ncbi-blast-2.2.24+-适用于windows32位系统,ncbi-blast-2.2.24+- 适用 Windows 64 位系统,请注意选择。
1.2安装流程
建议安装在非系统盘,如将下载的 BLAST 程序安装到 E:\blast,生成 bin、doc 两个子目录,其中 bin 是程序目录,doc是文档目录,这样就安装完毕了。
1.3用户环境变量设置
右键点击“我的电脑”-“属性”,然后选择“高级系统设置”标签-“环境变量”(图1),在用户变量下方“Path”随安装过程已自动添加其变量值,即“E:\Blast\bin”。此时点击“新建”-变量名“BLASTDB”,变量值为“E:\Blast\db”(即数据库路径,图2)。
1.4查看程序版本信息
点击 Windows 的“开始”菜单,输入“cmd”(XP系统在运行中输入cmd)(图3)调出 MS-DOS 命令行,转到 Blast 安装目录,输入命令“blastn -version”即可查看版本(图4):
点击 Windows 的“开始”菜单,输入“cmd”(XP系统在运行中输入cmd)(图3)调出 MS-DOS 命令行,转到 Blast 安装目录,输入命令“blastn -version”即可查看版本(图4):
看到图4显示说明本地blast已经安装成功。
2.blast+本地数据库的构建
2.1 数据的获取
法 1:直接从 NCBI或者其他数据库网站下载所需序列做成数据库,或者自己已有的测序数据(格式必须是fasta,名字可以自己随便命名,具体做法下面有说明)。
法 2:从NCBI中的 ftp 库下载所需要的某一个库或几个库,其链接为ftp://bi.v/blast/db/FASTA/其中 nr.gz 为非冗余的数据库,nt.gz 为核酸数据库, 为最近一个月的核酸序列数据。下载的先用winrar解压缩,然后用格式化。
法 3:利用新版 blast自带的 update_blastdb.pl进行下载,这需要安装perl程序。
上述三种方法各有优缺点,前两种下载速度较快,但是每次进行检索都需要对数据库进行格式化(转化成二进制数据),第三种方法下载速度较慢,但是是 NCBI 中已经格式化好的,在进行本地检索时不需再进行格式化,直接用即可。
2.2数据的格式化
本文以ratwy.fasta作为查询序列,以rat.fasta作为数据库文件为例进行讲解。首先将rat.fasta放到E:\blast\db文件夹下,然后调出MS-DOS命令行,转到E:\blast\db文件夹下运行以下命令:
格式化rat.fasta命令: -in rat.fasta -parse_seqids -hash_index -dbtypeprot
-in参数后面接将要格式化的数据库,-parse_seqids, -hash_index两个参数一般都带上,主要是为blastdbcmd取子序列时使用,-dbtype后接所格式化的序列的类型,核酸用nucl,蛋白质用prot;如图
至此,本地数据库已经建立完毕!!!
3.序列间的相似性检索
BLAST+系列程序均要求查询序列以fasta格式存在,fasta格式已经程序事实上的序列标准被广泛采用,几乎所有的序列处理程序都要求fasta格式。所谓FASTA格式是指DNA序列第一行开始于一个标识符:">",紧接着(没有空格)是对该序列的唯一描述(即ID),然后一个空格,接着是对该序列的描述(也可以没有),从第二行开始就是一行行的序列,中间的空格,换行没有影响。为了方便阅读,每一行序列最好不要超过80个字母。详细的说明请看着这里biocompute.bmi.ac/MPprimer/Fasta_help.html 。
本文以ratwy.fasta作为查询序列,以rat.fasta作为数据库文件为例进行讲解。首先将ratwy.fasta放到E:\blast文件夹下,然后调出MS-DOS命令行,转到E:\blast文件夹下运行以下命令:
-task blastp -query rat1.fasta -dbrat.fasta -
相关参数说明: 程序执行命令,exe 前的程序根据自己的需要而换;
-task 后面选择你所要用的程序,blastn,blatp,tblastx等;
-query 后接查询序列的文件名称;
-db后接格式化好的数据库名称;
-out 后接要输出的文件名称及格式;如图:
比对结束后可在blast文件夹下查看结果,本文存结果的文件名为。
4.从格式化本地数据库到序列比对如图:
核酸的比对与蛋白质相似,用。
blastn的相关命令参数可用blastn–help 命令查询,blastp的相关命令参数可用blastp–help查询,依次类推,如图。这里面有很多参数,比上网参数的意义省事的多,这个就得自己研
究吧!
另外新版blastn还有一个可以定制输出结果的参数-outfmt,有了这个参数,BioPerl、Biopython中的blast解析器就可以不必使用了。这确实又是BLAST+新版另外一个最大的提高,非常非常方便。本人的一些工作就依赖于BLAST结果的解析,有了这个参数,就不需要解析BLAST结果了,确实很好很强大。具体如何使用,各位可以摸索一下,非常简单。
希望各位战友将自己的经验分享以将 blast 越用越好。
附:以下来自于网友
个人在使用blastn的过程中总结了一些自认为常用的参数,总结如下:
blastn -dbdatabase_name -query input_file -out output_file -evalueevalue -max_target_seqsnum_sequences -num_threadsint_value -outfmt format format_string
blastn -dbdatabase_name -query input_file -out output_file -evalueevalue -max_target_seqsnum_sequences -num_threadsint_value -outfmt format "7 qaccsaccevalue length pident"
例如:
blastn -dbplant_rna -query test.fa -out test.out -evalue 0.00001 -max_target_seqs 5 -num_threads 4 -outfmt format "7 qaccsaccevalue length pident"
blastn:这个不用说了吧,核酸对核酸的比对
-db: 指定blast搜索用的数据库,详见上篇文章
-query:用来查询的输入序列,fasta格式
-out:输出结果文件
-evalue: 设置e值cutoff
-max_target_seqs:设置最多的目标序列匹配数(以前我都用-b 5 -v 5,理解不对请指教)
-num_threads:指定多少个cpu运行任务(依赖于你的系统,同于以前的-a参数)
-outfmt format "7 qaccsaccevalue length pident" :这个是新BLAST+中最拉风的功能了,直接控制输出格式,不用再用parser啦, 7表示带注释行的tab格式的输出,可以自定义要输出哪些内容,用空格分格跟在7的后面,并把所有的输出控制用双引号括起来,其中qacc查询序列的acc,sacc表示目标序列的acc,evalue即是e值,length即是匹配的长度,pident即是序列相同的百分比,其他可用的特征(红字体)如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论