Blast在windows下的使用过程

Posted mushuise

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Blast在windows下的使用过程相关的知识,希望对你有一定的参考价值。

  老师要做一个关于生物信息工程的网站,一个同学要负责网站的搭建,让我来研究blast。但是这个软件的教程太少了,在看的过程中走了不少弯路。写个文章记录一下,以便以后使用。同时还会根据项目的进程进行更新。 ---2019/10/24

  一、说明

  Blast,全称Basic Local Alignment Search Tool,即"基于局部比对算法的搜索工具",由Altschul等人于1990年发布。Blast能够实现比较两段核酸或者蛋白序列之间的同源性的功能,它能够快速的找到两段序列之间的同源序列并对比对区域进行打分以确定同源性的高低。
  Blast简单来说,是一个完整的程序包,调用该程序包的命令来判断两个字符串的相似程度。
  二、下载
  所有的有关blast的文章都会说去ncbi的官网下载(ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.9.0/)直接去这吧,在镜像网站直接下载。(通常文章都是说用conta下载,conta还需要下载新的软件。我们只是要在程序中调用blast,如果再去下载这个软件的话太麻烦了)。

技术图片

 

下载红箭头指向的文件

下载之后发现文件结果如下技术图片

 

 一个bin,一个doc,一个卸载程序,但是点开bin之后就懵了。bin中几乎一半都是exe文件,但是这些exe文件没有一个是打开这个程序的,都只是些命令程序。技术图片

 

 

因为没办法直接使用,因此只能去cmd中用命令调用。
技术图片

 

2.1在c盘下建立三个包

技术图片

 

 移动到blast有bin的包下,输入blastn -version来看是否安装成功

2.2创建db

技术图片

 

 这个最后一个出问题了,它提示我File nr does not exist,然而我的nr文件是存在的。后来发现nr必须有文件后缀。(nr.fasta是要建成数据库的文件)

(建库命令:makeblastdb -in nr.fasta -dbtype prot -title "nr" -out NR)

技术图片

 

 2.3建好库后测试

技术图片

 到这一步基本上在win下已经能够正常的调用blast来运行代码了。这些处理结果和输入参数看不明白,也不用看明白。

三、常用的blast命令

 

二、格式化数据库
基本运行指令
formatdb -i DBfile1 -p (T/F) -o (T/F)
-i:输入需要格式化序列库的绝对路径,序列库一般一般使用的是fasta文件。

-o [T/F]:判断是否分析序列名并建立序列名索引。“T”表示建立序列名索引,“F” 表示不建立序列名索引。默认值为F。

-p [T/F]:选择建库的类型,“T”表示建立的是蛋白质数据库,“F”表示建立的是核酸数据库,缺省值为T。

java代码
Process process = Runtime.getRuntime.eexec("formatdb -i DBFile -p T -o T");

process.waitFor(); //等待命令执行结束,获取执行结果

程序运行结束后,如果建立的是核酸库,-o为F时,会输出**.nhr,**.nin,**.nsp文件,-o为T时,还会多输出**.hsd,**.nsi,**.nni和**.nnd文件。类似的,当建立的是蛋白质也会输出相应的文件:[-o F]--**.phr,**.pin,**.psq;[-o T]--**.psd,**.psi,**.pni,**.pnd。


三、在数据库中查询相应序列并返回结果
1.基本运行指令:blastall -i query.fasta -d database_prefix -o blast.out -p blastn [-e value -F (T/F) -m value -v 500 -b 250 -T (T/F)]
2.blast主程序blastall
程序的输入文件是query序列(-i参数)库文件(-d)
选择(-p)和输出文件(-o)有用户绝定
-p有五种取值:百度查找
3.-e参数
筛选适当的比对结果,指定一个参数,选出比这个参数大的期望值
4. -F (T/F)参数
用来屏蔽简单重复和低复杂度序列的。
T:程序在比对过程中会屏蔽掉query中的简单重复和低复杂度序列
F:不会屏蔽
缺省值(默认值)为“T”。
5.-m参数
设定输出格式,供选择为0~11之间的整数。默认0.
6.-v,-b参数
-v 默认值500,规定输出中的每一个query的比对列表最多显示subject的个数
-b 默认250,规定输出中每个query最多显示与多少subject的比对条形图
7. -T 参数
用于决定是否输出html格式的比对结果。
9.-W参数
指定坐比对的字的长度。

四、java程序中调用blast

....

 

 

 

以上是关于Blast在windows下的使用过程的主要内容,如果未能解决你的问题,请参考以下文章

BLAST+-2.6.0版本下载安装及pssm矩阵建立

如何安装BLAST+

Linux下BLAST的使用---转载

Windows环境下的TensorFlow安装过程

NDK在windows下的开发环境搭建及开发过程

Docker在windows下的使用