ncbi-blast 本地安装

详见:http://blog.shenwei.me/local-blast-installation/

Linux系统中NCBI BLAST+本地化教程

本文面向初学者(最好还是懂得基本的linux使用),高手可直接忽视。不介绍Windows系统中的安装方法,一是因为思路一样,二是因为Linux中BLAST效率更高,系统更稳定,不会卡死。所以,请用Linux服务器,我想你也不忍心让自己心爱的本本跑几十个小时的程序吧。

请不要因为篇幅长,而觉得很困难,只是为了初学者能懂,叙述比较详(luo)细(suo)而已

——————-[ 做好心理准备,开始了]——————-

1. 安装配置BLAST+程序

在ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/中下载最新的BLAST可执行程序(不要下载源代码`,源码编译非常慢),选择预编译版本,如ncbi-blast-2.2.30+-x64-linux.tar.gz。如果服务器能联网,可直接用wget下载。或者,下载后用SFTP客户端传输到服务器上。

wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.2.30+-x64-linux.tar.gz
解压缩:

tar -zxvf ncbi-blast-2.2.30+-x64-linux.tar.gz

(按理说解压缩后就可以通过绝对路径直接使用了,但为了今后的方便,还是继续配置吧)为了方便,将其移动到我安装本地程序的目录(参考《[Linux上设置良好的目录结构][1]》),并重命名(固定命名,不带版本号,避免因升级而修改配置文件),统一管理。

mv ncbi-blast-2.2.30+ ~/local/app/ # 移动
cd ~/local/app/                    # 进入本地程序安装路径
mv ncbi-blast-2.2.30+ blast        # 修改目录名

现在,已经将BLAST+安装到~/local/app/blast 中了(~知道吧,就是用户的家目录,可用环境变量$HOME代替)。

[[email protected] blast]$ pwd # 查看当前目录的绝对路径
/db/home/shenwei/local/app/blast
[[email protected] blast]$ ls  # 查看当前目录的内容
bin  ChangeLog  doc  LICENSE  ncbi_package_info  README

将BLAST+可执行程序所在目录(bin)的绝对路径加入到环境变量$PATH中,方便通过程序名直接调用。编辑~/.bashrc文件,在最后加入以下行:

export PATH=/db/home/shenwei/local/app/blast/bin:$PATH

如果不会使用vi/vim等编辑器,可直接运行下列一行命令,将上述内容添加到~/.bashrc文件(看清楚,和上面不同的是:$被转义了的):

echo "export PATH=/db/home/shenwei/local/app/blast/bin:\$PATH" >> ~/.bashrc

让配置生效:

source ~/.bashrc

到此,你就可以直接输入BLAST的子程序,如blastn进行比对了。试试输入blast -version ,看看是否如下显示:

[[email protected] blast]$ blastn -version
blastn: 2.2.30+
Package: blast 2.2.30, build Dec 10 2013 14:41:40

——————-[ 休息一下,鼓励一下自己 ]  ——————-

2. 配置本地BLAST库

当需要进行大量比对的时候,将BLAST数据库本地化能极大提高效率。

我存放库文件的目录为~/data/blast 。建立并编辑(如果还不会编辑,就复制到本地的一个文本文件ncbirc.txt,然后传到服务器,再改名mv ncbirc.txt .ncbirc )NCBI BLAST全局配置文件(在家目录),内容如下:

[[email protected] ~]$ cat .ncbirc  # 这是查看文件内容的命令,下面才是内容
; Start the section for BLAST configuration

[BLAST]

; Specifies the path where BLAST databases are installed
BLASTDB=/db/home/shenwei/data/blast

; Specifies the data sources to use for automatic resolution

; for sequence identifiers
DATA_LOADERS=blastdb

; Specifies the BLAST database to use resolve protein sequences
BLASTDB_PROT_DATA_LOADER=/db/home/shenwei/data/blast/nr

; Specifies the BLAST database to use resolve protein sequences
BLASTDB_NUCL_DATA_LOADER=/db/home/shenwei/data/blast/nt

BATCH_SIZE=10G

; Windowmasker settings

[WINDOW_MASKER]
WINDOW_MASKER_PATH=/db/home/shenwei/data/blast/windowmasker

; end of file

配置好后,后面选择库的时候就可以只输入名称(比如nr),不用输入绝对路径了。

3. 下载库文件

配置好之后,使用BLAST+自带的update_blastdb.pl脚本下载nr和nt等库文件(不建议下载序列文件,一是因为后者文件更大,二是因为可以从库文件中提取序列blastdbcmd -db nr -dbtype prot -entry all -outfmt "%f" -out nr.fa ,最主要是建库需要花费很长时间),直接运行下列命令即可自动下载。

update_blastdb.pl nt nr

提醒:下载文件较大,耗费时间较长,最好将任务转入后台。详见《Shell Note》中“用screen运行大量后台任务”部分。简单的做法,也可用nohup命令(下面nohup后面用了time命令,是为了看看整个消耗的时间):

nohup time update_blastdb.pl nt nr > log &

监控库文件是否下载完成,如何判断? 1. 查看log文件是否有提示;2. 查看update_blastdb.pl是否还在运行:执行ps -aef | grep update_blastdb.pl | grep -v update_blastdb.pl 命令,如过没有结果,则说明没有运行了。

下载完成后解压所有tar.gz文件(用通配符)即可:

nohup time tar -zxvf *.tar.gz > log2 &

提示:今后要更新库文件的时候,按照上述方法重新下载解压即可。

常用的BLAST库文件(比如基因组参考序列)也可以加入其中,今后调用的时候就不用输入库 文件的绝对路径了。

——————-[ 赞扬一下自己 ]  ——————-

4. 基本用法

可直接Google中文教程。更权威,更详细的请参考BLAST手册《BLAST Command Line Applications User Manual》。具体参数信息可直接输入blastn -help` 查阅。

提示blast输出格式有多种,其中11包含信息最全,其它格式都可用blast_formatter程序由11转化为其它格式。所以,比对结果请使用11格式。

1)如果本地化了nt库,直接在nt库中比对,部分参数的中文意义可见《BLAST+使用方法》。

blastn -query test.fa -db nt -outfmt 11 -out "[email protected]" -num_threads 8

其中输出文件名[email protected]是个人习惯,即“序列文件名.blast子程序名@库名.结果格式”,这样是不是很直观?

转换格式(如自定义表格格式):

blast_formatter -archive "[email protected]" -outfmt "7 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids salltitles" > "[email protected]"

转为默认格式 :

blast_formatter -archive "[email protected]" -outfmt 0 > "[email protected]"

2)如果没有本地化nt库,可添加-remote选项(就不能使用-num_threads参数了),进行在线比对(当然要慢一些,适合数据不多的情况):

blastn -query test.fa -db nt -outfmt 11 -out "[email protected]" -remote

3)用自己的序列建库

makeblastdb -in db.fasta -dbtype nucl -parse_seqids -out dbname

如果该库需要经常使用,可将库文件移到前面配置的库文件的目录,今后在其它目录运行blast的时候,便可直接输入库名(不用输入绝对路径),直接使用。

mv dbname.* ~/data/blast

  

————- [ 在实践中学习,不会的请google、看手册] ————-

时间: 2025-01-01 22:41:37

ncbi-blast 本地安装的相关文章

本地blast的安装

1 下载程序 在ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下载 ncbi-blast-2.2.25+-x64-linux.tar.gz 2 解压 如解压到用户的主目录(/home/***)下,把解压后的文件夹重新命名为blast,则BLAST+的所有程序在目录/home/***/blast/bin下. 3 添加环境变量 打开终端(Terminal),切换为root用户,执行vim /etc/profile 在最末尾添加e

推荐下载App,如果本地安装则直接打开本地App(Android/IOS)

推荐下载App,如果本地安装则直接打开本地App(Android/IOS) - 纵观现在每家移动网站,打开首页的时候,都有各种各样的形式来提示你下载自身的移动App(Android/IOS),这是做移动客户端产品的一个很好地引流的手段.当然各家引流下载的交互和视觉各不相同,有的是完全“强奸”用户,有的是完全取悦用户.但是最终的形式就是你点击一个按钮之后,可以去下载对应的App(Android直接下载对应的Apk文件,IOS会跳转到App store的对应地址). 之前开发这个需求的时候,就是很简

JBoss - 本地安装篇

JBoss:免费的J2EE服务器 相比于价格昂贵的WebLogic和Websphere等商业J2EE服务器,JBoss 更加适合中小型企业应用,J2EE从高贵的殿堂走向了普通百姓家.JBoss + MySQL 是J2EE完美的商业运行平台,其巨大的优越性就是无与伦比的性价比,是中小型企业实施J2EE的黄金组合!JBoss使用非常方便,解压后,执行bin目录下的批命令(windows是.bat, linux是.sh)就可以启动JBoss,将J2EE应用系统(以.ear或.war结尾的文件)部署到s

Python本地安装numpy包

python的pip工具可以很方便的在线安装各种第三包包,但有时也需要离线的方式通过本地包来安装,下面就介绍一下如果通过本地安装的方式安装numpy包 1. python官网下载python安装包,并安装,记得在安装选项栏里将pip选项选上,pip是python官方自带的包管理工具 可以很方便的通过pip安装所需要的包,不过忘记点也没有关系 2. 在https://pypi.python.org/pypi/numpy下载合适的numpy版本的包,由于机器安装的是python2.7,所以这里选择了

查看本地安装的 .NET Framework(CLR) 版本

方法一:%SystemRoot%\Microsoft.NET\Framework 要了解安装了哪些版本的 .NET Framework,可以通过检查下面目录的子目录解决: %SystemRoot%\Microsoft.NET\Framework %SystemRoot%\Microsoft.NET\Framework64 (%SystemRoot%即目录C:\Windows) 也可以在命令行中输入下面命令,筛选出我们关注的结果: %SystemRoot%\Microsoft.NET\Framew

大数据集群本地安装方法

大数据集群本地安装方法 1.使用Vmware安装Linux系统 请自行下载,并安装.至少安装两台(这里以安装三台为例) 2. 安装xshell和xftp 安装xshell和xftp主要主要是方面后面传文件.写命令等操作. (注意,xshell和xftp的版本一定要一致,不然安装xftp可能会有问题) 3. 配置虚拟机IP A. 每台虚拟机都用root账号登录 a.  编辑hosts文件(使用以下命令) sudo vi /etc/hosts 添加以下内容 192.168.79.131 master

微赞,你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试.

你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试. 解决方法: 路径中不能中文.

nodejs npm install全局安装和本地安装的区别

npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:代码如下:复制代码npm install # 本地安装npm install -g # 全局安装 下面分别解释.全局安装:npm install xxx -g 时, 1. 模块将被下载安装到[全局目录]中.2. 可以直接在命令行里使用 注,[全局目录]通过 npm config set prefix "目录路径" 来设置:通过 npm config get prefi

从本地安装Eclipse的SVN插件详解

由于绝大多数Eclipse插件的Update Site服务器位于国外,甚至无法访问,再加上Eclipse自身缓慢的下载速度,导致在线安装Eclipse插件耗费的时间非常多.因此,一般情况下,我们建议先通过加速下载工具手动下载插件安装包,然后从本地安装Eclipse插件. 从本地安装Eclipse插件的方法有多种,下面我们根据难度从易到难一一为大家介绍. 1.以图形化方式从本地安装插件 Eclipse为我们提供了以图形化方式本地安装插件的方法. 首先,点击Eclipse菜单栏的[Help]->[I