BLAST在Windows系统中本地化
简介
NCBI除了提供在线的Web BLAST序列比对服务外,还提供FTP方式下载序列比对工具。这允许在本地平台上针对从NCBI下载或本地创建的数据库执行BLAST搜索。这些实用程序没有图形用户界面,通过类似DOS的命令窗口运行,并通过基于文本的命令行开关接受输入。
以下内容介绍了在运行Windows 7操作系统的PC上安装BLAST+和示例NCBI数据库所需的步骤。
下载
BLAST+软件包ncbi-blast-#.#.#+-win64.exe,适用于运行64位Windows操作系统的PC上。“#.#.#”表示软件包的当前版本号。注意,带有“.tar.gz”文件拓展名的压缩包没有安装程序,下面内容重点关注“.exe”扩展名的软件包。
步骤
下载包的步骤如下所述:
- 用浏览器打开下面网址:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/
- 右键单击所需的软件包,然后弹出菜单中选择“将链接另存为...”
- 在提示符中,切换到所需的目录(文件夹),然后单击“保存”按钮将软件包保存到本地磁盘上的选定位置
示例
图1a和图1b中给出了“ncbi-blast-2.2.29+-win64.exe”软件包的安装步骤,其中前两步在图1a中,最后一步在图1b中。
图1a 通过浏览器从NCBI下载blast +软件包:登录到ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/并选择“将链接另存为...”,然后右键单击“NCBI-BLAST-2.2.29+-win64.exe”。
图1b 通过浏览器从NCBI下载blast +软件包:在将软件包保存到所需位置之前,将后续提示中的位置更改为“C:”下的自己目录。
安装
上面下载的BLAST+软件包包含了内置安装程序,双击后接受许可协议,安装程序将提示选择安装目录,在此示例中,安装目录为“C:\users\tao\desktop\blast-2.2.29+”。单击“安装”按钮,安装过程中将创建指向BLAST+用户手册链接的“doc”子目录、用来删除安装的“卸载程序”以及BLAST程序所在的“bin”子目录。表1列出了BLAST+包中包含的程序和实用程序。
表1
blast+包中的程序和组件
Program | Function |
---|---|
blastdbcheck | 检查BLAST数据库的完整性 |
blastdbcmd | 从BLAST数据库中检索序列或其他信息 |
blastdb_aliastool | 创建数据库别名 |
blastn | 在核苷酸数据库中搜索查询提交的核苷酸序列 |
blastp | 在蛋白质数据库中搜索查询提交的蛋白质序列 |
blastx | 在蛋白质数据库中搜索提交的核苷酸序列翻译成的6种蛋白质序列 |
blast_formatter | 格式化输出请求的ID(RID)或保存的文档 |
convert2blastmask | 将小写转换为makeblastdb程序可读数据 |
deltablast | 使用更敏感的算法在蛋白质数据库中搜索查询提交的蛋白质序列 |
dustmasker | 掩盖提交的核苷酸序列中低复杂性序列 |
legacy_blast.pl | 将传统的blast搜索命令行转换为blast +对应命令执行 |
makeblastdb | 根据FASTA文件创建对应的BLAST数据库 |
makembindex | 索引用于megablast的现有核苷酸数据库 |
makeprofiledb | 从psiblast生成的输入位置特定评分矩阵(记分簿)列表中创建保守域数据库 |
psiblast | 查找蛋白质家族的成员,识别与查询有关的蛋白质,或为查询构建位置特定的评分矩阵 |
rpsblast | 在保守域数据库搜索提交的蛋白质序列以识别序列中存在的功能域 |
rpstblastn | 在保守域数据库中搜索提交的核苷酸序列翻译成的6种蛋白质序列 |
segmasker | 掩盖输入蛋白质序列中的低复杂性序列 |
tblastn | 在核酸数据库中搜索提交的蛋白质序列翻译成的由6种读码框翻译成的所有核酸序列 |
tblastx | 在核酸数据库中搜索提交的核酸序列翻译成的由6种读码框翻译成的蛋白质序列反翻译成的核酸序列 |
update_blastdb.pl | 从NCBI下载预先格式化的blast数据库 |
windowmasker | 在提交的核苷酸序列中搜索标记的重复序列 |
BLAST数据库测试
除了blast+包中的程序和组件,目标数据库也是关键组件之一。常用的预先格式化的BLAST数据库压缩文档可以从NCBI FTP站点获得,也可以使用makeblastdb程序从本地FASTA序列文件创建对应的BASLT数据库。要管理可用的BLAST数据库,需要先创建一个用于储存它们的目录。在本测试中,目录是“C:\users\tao\desktop\blastdb”。
从NCBI下载预先格式化的BLAST数据库类似图1中的步骤,如下:
- 用浏览器打开下面网址:ftp://ftp.ncbi.nlm.nih.gov/blast/db/
- 右键单击所需的文件(本示例中为refseq_rna.00.tar.gz)
- 从弹出菜单中选择“将链接另存为...”
- 出现提示时,将目录更改为“C:\users\tao\desktop\blastdb”。
使用WinZip或7zip软件对下载的数据进行解压和提取。注意,上述步骤仅下载安装了refseq_rna数据库的第一部分,完整的数据集需要下载所有refseq_rna.##.tar.gz文件。图2演示了使用Winzip解压提取过程。
图2 使用Winzip解压下载的压缩文件refseq_rna.00.tar.gz。右键单击数据库文件,然后选择“WinZip”和“Extract to here ...”
包含在blast+包中的组件update_blastdb.pl可用于简化从NCBI下载预格式化的BLAST数据库。该程序需要安装Perl,并且执行需要在“C:\users\tao\desktop\blastdb\”目录下,基本命令是:
perl update_blastdb.pl --passive base_database_name
其中“base_database_name”是目标数据库的名称,没有“##.tar.gz”后缀。
配置
为了便于执行blast+中的程序和组件,需要将安装目录“C:\users\tao\desktop\blast-2.2.29+\bin\”添加到名为PATH的用户环境变量中,BLASTDB环境变量的值设置为“C:\users\tao\desktop\blastdb\”目录。
环境变量
创建或修改环境变量的步骤如下:
- 单击“开始”按钮,然后单击“控制面板”链接以打开“控制面板”单击“系统”图标以打开系统提示
- 单击左列中的“高级系统设置”链接以打开“系统属性”提示
- 单击“环境变量”按钮以查看可用列表
- 单击“用户变量...”面板下的“新建”按钮
- 键入环境变量名称并输入绝对路径
- 单击“确定”关闭提示
截图
这些步骤的屏幕截图显示在图3a,3b和3c中。
图3a 使用Windows环境变量配置blast +:在初始系统弹出窗口中,单击“高级系统设置”链接以打开“系统属性”弹出窗口。 单击“环境变量...”按钮以访问现有环境变量或设置新变量(如3b所示)。
图3b 使用Windows环境变量配置blast+:点击图3a上的“环境变量...”按钮打开此弹出窗口,该弹出窗口提供对现有环境变量的访问,并允许分别使用“编辑”和“新建”按钮创建新变量。 与BLAST相关的两个用户变量是BLASTDB和PATH(突出显示)。
图3c 使用Windows环境变量配置blast+:单击图3c中的“新建”按钮会显示此弹出窗口,其中可以指定新变量的名称和路径。 在此示例中,使用值“C:\users\tao\desktop\blast-2.2.29+\bin\”指定名为“path”的用户变量。
执行和验证
blast+程序是没有用户界面(GUI)的,必须从命令提示符窗口(CMD)执行。单击“开始→所有程序→附件→命令提示符”或单击“开始→运行...”,然后键入“cmd”回车即可打开dos窗口。过程如图4a、图4b所示。
图4a 在Windows 7中打开命令提示符:单击“开始”按钮,然后单击“所有程序”链接以查看可用程序列表。 通过单击以查看命令提示符(突出显示)打开附件折叠。 单击它以启动。
图4b 在Windows 7中打开命令提示符:或者,单击“开始”按钮,然后单击右侧列中的“运行...”链接。 在弹出窗口中,在输入框中键入“cmd”以打开命令提示符。
执行示例
在命令提示符dos窗口下,输入“cd C:\users\tao\desktop\blast-2.2.29+”回车,工作目录将跟改为“C:\users\tao\desktop\blast-2.2.29+”。图5显示了测试blast安装。
图5 测试blast +安装的工作会话的输出:输入命令在红色框中。 blastdbcmd和blastn命令执行产生的输出文件用红色箭头标记。 最后一个命令用于检查BLASTDB环境变量设置,其输出由最后一组箭头标记。
测试命令说明
第一个命令将工作目录更改为blast-2.2.29 +目录。 “dir”列出了此目录下的文件和子目录。 “blastn -version”和“blastdbcmd -db refseq_rna.00 -info”命令无错误输出来验证安装。
实际测试应该是blast序列比对命令,以下使用blastcmd命令从已安装的数据库中转出序列用做此类查询。
blastdbcmd –db refseq_rna.00 –entry nm_000122 –outfmt "%f" –out test_query.txt
命令行的确切含义(从左到右)如下:
- 执行blastdbcmd
- 使用refseq_rna.00作为目标数据库
- 获取数据库序列中nm_000122作为名称的序列
- 以FASTA格式转储序列
- 将输出存储在test_query.txt文件中
将输出文件text_query.txt作为blast序列比对命令的输入文件
blastn –query text_query.txt –db refseq_rna.00 –out output.txt
这条命令让系统执行如下信息:
- 执行blastn程序在核苷酸数据库搜索提交的核苷酸序列
- 使用文件test_query.txt中的序列作为查询
- 在数据库refseq_rna.00中搜索
- 将结果保存到output.txt文件中
程序未指定参数将使用默认值,要进一步自定义搜索,可以键入“program -help”查看参数列表及接受的选项。“dir”命令显示输出文件(由红色箭头标记)。
最后一个命令“set | find BLASTDB”演示在dos窗口查看环境变量的方法。
参考资料
Standalone BLAST Setup for Windows PC
BLAST在Windows系统中本地化的更多相关文章
- UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...
- 关于Linux系统和Windows系统中文件夹的命名规范
Windows系统中. 1.在创建文件夹的时候不能以"."开头(但是文件以多个点开头并且还有其他合法字符的话就是合法的) 但是在windows系统中确实见过以一个点".& ...
- mysql绿色版在windows系统中的启动
mysql绿色版在windows系统中的启动 1.下载mysql免安装版 例如:mysql-5.7.11-winx64 2.修改配置文件,my-default.ini名称改为:my.ini,文件里面的 ...
- 在Windows系统中安装集成的PHP开发环境
原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...
- 获取Windows系统中的所有可用和在用串口
目的:获取Windows系统中的所有可用和在用串口 方法:注册表查询法 优点:简单.实用.快速.无遗漏,无多余结果. 说明:另外还有8种方法可以枚举串口,但都不如此法. 代码和详细注释如下: //-- ...
- Windows系统中设置Python程序定时运行方法
Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...
- 【其他】【服务器】【4】删除Windows系统中不想要的服务
步骤: 1,开始菜单栏查找“服务”,打开后找到想要删除的服务 2,右键单击想要删除的服务,选择“属性”-“常规”-“服务名称”,记下服务名称(AA) 3,开始菜单栏输入“cmd”打开命令行窗口,输入s ...
- Cmder命令行工具在Windows系统中的配置
一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如 ...
- python - 在Windows系统中安装Pygame及导入Eclipse
环境:python3.6(只有一个版本)+ windows10(64 bit) + Eclipse+pydev python3.6安装完成后,会自带 easy_install 和 pip3,在Win ...
随机推荐
- Mysql 导入实战
这个几天公司迁移预览版数据库,当前公司使用的是 Mysql 数据库,版本为 5.6.迁移的数据库大小也不算很大,2G 多一点,总体以小表为主,就几张表数据比较大,有业务记录表达到了 150W 的数量级 ...
- [原创]关于tomcat启动时时候端口被占用,8080,8005,8009
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- nginx expires缓存提升网站负载
语法: expires [time|epoch|max|off]默认值: expires off作用域: http, server, location使用本指令可以控制HTTP应答中的“Expires ...
- 【转】如何在html与delphi间交互代码
[转]如何在html与delphi间交互代码 (2015-11-19 22:16:24) 转载▼ 标签: it 分类: uniGUI uniGUI总群中台中cmj朋友为我们总结了如下内容,对于利用de ...
- Smarty 的安装
1.下载Smarty包可以从官方站点下载:http://smarty.php.net/ 2.解压缩Smarty包解压后的文件夹重命名为Smarty,放置在C:\Apache2\include下 3.修 ...
- HDU5371 Hotaru's problem
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- Storm- 使用Storm实现累积求和的操作
需求:1+2+3+... = ??? 实现方案: Spout发出数字作为input 使用Bolt来处理业务逻辑:求和 将结果输出到控制台 拓扑设计:DataSourceSpout -->SumB ...
- ReactJS结合ES6入门Template
一.前言 二.介绍 ReactJS ECMAScript 6 三.入门DEMO "Hello,XXX“ 输出 ES5写法 <div id="example"> ...
- php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组
版权声明:本文为博主原创文章,未经博主允许不得转载. 最近工作中碰到一个问题,用PHP将一个二维数组按照二维数组中的各个项中的某个特定字段值合并成一维数组,如果有重复则将重复的合并成二维数组,生成的二 ...
- leetcode 7 Reverse Integer(水题)
so easy,注意一下输入不爆int但是反转以后可能爆int. class Solution { public: int gao(int w){ ) ; else{ ; while(w--){ an ...