如何构建本地Blast?

Posted on 14 五月 2009 by 柳城 ,阅读 783 简洁版 繁體


Blast一种是在线的(http://blast.NCBI.nlm.nih.gov/Blast.cgi),一种是本地的(Local BLAST,单机版BLAST,Standalone BLAST)。
对于少量的序列,如果要在跟整个(或者某一物种)核酸或者蛋白库比对,一般采用在线BLAST,简单易用,直观,容易被人接受其;对于大量序列,或者是目前不方便公开的数据库,或者是自定义的数据库,一般采用本地BLAST,其效率高,能满足用户更多的要求,但操作相对有点繁琐;

在线blast的说明看这里:NCBI在线Blast的图文说明

blast软件下载看这里:   最新版本地blast下载

构建本地Blast首先要准备什么:

  1. 下载blast软件
  2. 构建本地的blast数据库
  3. 学习blast的常用参数与命令

如何构建本地的blast数据库:
假设有一序列数据(sequence.fa,多序列,fasta格式),欲自己做成Blast数据库,典型的命令如下:

核酸序列:

$ ./formatdb –i sequence.fa –p F –o T/F

蛋白序列:

$ ./formatdb –i sequence.fa –p T –o T/F

执行blast:

获得了单机版的Blast程序,解压开以后,如果有了相应的数据库(db),那么就可以开始执行Blast分析了。

单机版的Blast程序包,把基本的blast分析,包括blastn,blastp,blastx等都整合到了blastall一个程序里面。

以下是一个典型的blastn分析命令:
(待分析序列seq.fa,数据库nt_db)

$./blastall –p blastn –i seq.fa  -d nt_db –w 7 –e 10 –o seq.blastn.out

(该命令的意思是,对seq.fa文件中的核酸序列对nt_db数据库执行blastn搜索,窗口大小是7,e值限制是10,输出的结果保存到文件seq.blastn.out 中)。

Blastall的常用参数:

-p 程序名应该是blastn,blastp,blastx,tblastn,tblastx中的一个
-d 数据库名称,默认nr
-i 查询序列文件,默认stdin
-e E值限制,默认10
-o 结果输出文件,默认stdout
-F 过滤选项,默认T
-a 选择进行运算的CPU个数

详细blast参数请看:本地blast的详细用法

延伸阅读:

  1. 构建Web页面的Blast(windows/linux)
  2. Bioperl:使用和解析 BLAST
  3. 如何批量Blast
  4. BlastN/MegaBlast/Discontiguous MegaBlast 的区别
  5. blast formatdb 介绍

转载请注明 : 来源于 如何构建本地Blast? | 柳城博客

相关主题

5条评论 于 “如何构建本地Blast?”

  1. zhusy Says:

    我是新手,想问个问题,在构建本地的blast数据库的时候,要转化格式的序列文件非常多,要怎么写命令呢?用formatdb –i sequence.fa –p F –o T/F不是很麻烦吗?
    谢谢~

    [回复]

    Lc. 回复:

    为什么会有那么文件啊.. 合并在一起当作一个blast库就行了啊

    [回复]

  2. zhusy Says:

    那是怎么合并呢?
    比如我想比对人的序列,如果去网上下的话,每个染色体都有一个文件.加起来也有24个了..
    只是比如..

    [回复]

    Lc. 回复:

    自己去找找合并文件的工具呗。在win下就是麻烦. 在linux下的话,cat命令就能搞定。

    [回复]

    zhusy 回复:

    哦..知道了..bioEdit就可以. :ok:

    [回复]

Leave a Reply

[强] [握手] [可爱] [ok] [呲牙] :) [偷笑] [流泪] [疑问] [亲亲] [擦汗] [得意] [衰] [可怜] [抱拳] [大兵] more »

Advertise Here

最新评论

Lc.live