Blastdb

安装

ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/中下载最新的BLAST可执行程序

wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.9.0+-x64-linux.tar.gz
mv ncbi-blast-2.9.0+ ~/local/app/ # 移动
cd ~/local/app/                    # 进入本地程序安装路径
mv ncbi-blast-2.2.30+ blast        # 修改目录名

将BLAST+可执行程序所在目录(bin)的绝对路径加入到环境变量$PATH中,方便通过程序名直接调用

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

source .bashrc

五种查询方式

BLASTNprograms search nucleotide databases using a nucleotide query
BLASTPprograms search protein databases using a protein query
BLASTXsearch protein databases using a translated nucleotide query(一条核酸序列会被翻译成可能的六条蛋白)
TBLASTNsearch translated nucleotide databases using a protein query
TBLASTXsearch translated nucleotide databases using a translated nucleotide query

构建数据库 makeblastdb

BLAST数据库分为核酸数据库和氨基酸数据库,可以用makeblastdb创建

makeblastdb -in Arabidopsis_thaliana.TAIR10.dna.toplevel.fa -dbtype nucl -out TAIR10 -parse_seqids

-dbtype必须,赋值为nucl或者prot,代表是核酸或者氨基酸序列。

-in非必须,要构建数据库的文件名。

-input_type:非必须,制定输入文件的格式,赋值为asn1_bin、asn1_txt、blastdb、fasta,默认为fasta。

-title:非必须,数据库标题,默认为-in输入文件名(加上不同的后缀)。

-parse_seqids:非必须,对于fasta格式文件,会分析输入序列ID;对于其他格式文件,自动分析。

-hash_idex:非必须(建议有),创建序列的hash。

-out:非必须(建议有),数据库名称,默认为-in输入文件名。

-max_file_sz:,非必须,数据库最大容量,默认为1GB。

-logfile:非必须(建议有),输出建立数据库时的log文件。在批量处理数据时候,可以检查数据库构建是否正确。默认输出到屏幕

结果

生成的数据库中有三个主要的文件——库索引(indices),序列(sequences)和头(headers)文件。

生成的文件的扩展名分别是:.pin、.psq、.phr(对蛋白质序列)或.nin、.nsq、.nhr(对核酸序列)。而其他的序列识别符和索引则包含在.psi和.psd(或.nsi和.nsd)中。

注意:自己生成的数据库中序列命名有以下三种形式:

a) > gnl|database|identifier

b) > lcl|identifier

c)  > identifier

别名

Blast 聚合多个数据库建立别名数据库命令

blastdb_aliastool -dblist 'EP/cdr_prot_patent_01 USPTO/cdr_prot_patent_02 WO/cdr_prot_patent_03' -dbtype prot -title "CDR_database" -out CDR_database 

使用别名来查询

别名只能用来查询,不能用来获取序列

查询命令:

blastp -db CDR_database -task blastp-short -matrix PAM30 -num_threads 4 -evalue 100 -max_hsps 1 -query TestQuery.fa -outfmt 6 -out TestResult.txt

查看数据库相关信息 blastdbcmd

# 查看信息
blastdbcmd -db TAIR10 -info
# 所有数据
blastdbcmd -db TAIR10 -entry all | head
# 具体关键字,如GI号
blastdbcmd -db TAIR10 -entry 3 | head
# 保存序列为样本文件
blastdbcmd -db test_db -entry seq1 -out test_query

-db <string>:必须,string表示数据库所在路径

-dbtype:必须,guess、nucl、prot,默认为guess

-info:查看数据库基本信息

-entry:抽取序列,输入序列标识,e.g.: 555, AC147927, 'gnl|dbname|tag', or 'all' to select all sequences in the database

-out:保存序列为样本文件

-entry_batch 提供一个包含多个检索关键字的文件

-out:输出文件名

-outfmt:默认是%f

           %f means sequence in FASTA format
           %s means sequence data (without defline)
           %a means accession
           %g means gi
           %o means ordinal id (OID)
           %i means sequence id
           %t means sequence title
           %l means sequence length
           %h means sequence hash value
           %T means taxid
           %X means leaf-node taxids
           %e means membership integer
           %L means common taxonomic name
           %C means common taxonomic names for leaf-node taxids
           %S means scientific name
           %N means scientific names for leaf-node taxids
           %B means BLAST name
           %K means taxonomic super kingdom
           %P means PIG
           %m means sequence masking data.

-show_blastdb_search_path: blast检索数据库路径

blastp

blastp -task blastp -query test.fasta -db rnodb -evalue 1e-5 -num_threads 4 -max_target_seqs 5 -outfmt 6 -out test_out.txt

-query必须,要查询的序列,需要是fasta格式文件。

-task必须,规定搜索任务类型,blastp、blastp-fast、blastp-short,默认为blastp。

  • “blastp”, for standard protein-protein comparisons,
  • “blastp-short”, optimized for query sequences shorter than 30 residues
  • “blastp-fast”, a faster version that uses a larger word-size per 

-db必须,指定blast搜索用的数据库。

-dbsize :非必须,数据库的有效长度

-out:非必须(建议有),输出文件名。

-evalue:非必须,搜索E-value阀值,默认为10。

-max_target_seqs:非必须,设置最多的目标序列匹配数

-num_threads:非必须(建议有),多核计算,默认为1,可以根据自己系统重新设置。

-remote:如果加上这个参数,就是使用远程比对,再有互联网的情况下,连接到NCBI的服务器来进行远程比对,然后返回到本地,从而不消耗本地的资源,设置了该参数,则-num_threads无效

-perc_identity  相似度,默认是大于0就显示,如果要显示大于95%,这后面接95

-comp_based_stats:非必须,组合统计模型,Blastp and blastp-fast的默认值是2,blastp-short的默认值是0(不使用组合统计模型)

-use_sw_tback:是否使用局部最优算法

-outfmt:非必须(建议有),有很多的输出格式化选项,非常方便用户选择。其中,比较常用的是:
     0 = Pairwise,显示具体匹配信息(缺省)
     1 = Query-anchored showing identities,查询-比上区域,显示一致性
     2 = Query-anchored no identities,查询-比上区域,不显示一致性
     3 = Flat query-anchored showing identities,查询-比上区域的屏文形式,显示一致性
     4 = Flat query-anchored no identities,查询-比上区域的屏文形式,不显示一致性
     5 = BLAST XML,信息最全
     6 = Tabular,结果以table的形式给出,清晰易懂
     7 = Tabular with comment lines,表格格式+说明行,有注释行的table格式,比6多了一些#开头的注释行。
     8 = Seqalign (Text ASN.1),
文本方式的ASN格式输出
     9 = Seqalign (Binary ASN.1),二进制方式的ASN格式输出
    10 = Comma-separated values,(csv格式)
    11 = BLAST archive (ASN.1),
    12 = Seqalign (JSON),
    13 = Multiple-file BLAST JSON,
    14 = Multiple-file BLAST XML2,
    15 = Single-file BLAST JSON,
    16 = Single-file BLAST XML2,
    18 = Organism Report

其中6,7,10,17可以自定输出格式。默认是

qaccver saccver pident length mismatch gapopen qstart qend sstart send evalue bitscore
简写含义
qaccver查询的AC版本(与此类似的还有qseqid,qgi,qacc,与序列命名有关)
saccver目标的AC版本(于此类似的还有sseqid,sallseqid,sgi,sacc,sallacc,也是序列命名相关)
pident完全匹配百分比 (响应的nident则是匹配数)
length联配长度(另外slen表示查询序列总长度,qlen表示目标序列总长度)
mismatch错配数目
gapopengap的数目
qstart查询序列起始
qstart查询序列结束
sstart目标序列起始
send目标序列结束
evalue期望值
bitscoreBit得分
score原始得分
ACaccession


blastn

blastn -db database_name -query input_file -out output_file -evalue evalue -max_target_seqs num_sequences -num_threads int_value -outfmt format "7 qacc sacc evalue length pident"

-task:任务类型,blastn、blastn-short、dc-megablast、megablast、rmblastn,默认是megablast

  • blastn 完全匹配的传统blastn
  • blastn-short 优化查询:短于50个碱基
  • megablast 查找十分相似的序列(如物种内部或相关的物种间)
  • dc-megablast 查找亲缘关系比较远的序列(如物种间)
  • rmblastn 兼容了RepeatMasker

-num_alignments:输出数据库中能与Query比对上的的序列数目,与max_target_seqs不能同时使用。
-max_target_seqs:最多允许比对到数据库中的序列数目,参数仅适用于outfmt >4。
-perc_identity :比对的最低相似度
-max_hsps:由于不对时一条序列比对成多段,如果只想输出其中的几段,就设定相应的数目,与-num_alignments不能同时使用。

BLAST程序常用的两个评价指标 

Score

使用打分矩阵对匹配的片段进行打分,这是对各氨基酸残基(或碱基)打分求和的结果,一般来说,匹配片段越长、相似性越高则Score值越大,结果越可信。

E-value

E值的计算:

E=K*m*n*(e-lambda*S)

其中,K和lambda与数据库和算法有关,是个常量;m代表目标序列的长度,n代表数据库的大小,S就是前面提到的S值。

E值就是S值可靠性的评价。它表明在随机的情况下,其它序列与目标序列相似度要大于S值的可能性。所以它的分值越低越好

E值(Expect)表示随机匹配的可能性,例如,E=1,表示在当前的数据库中,完全由几率搜到对象数的平均值为1。

E值越大,随机匹配的可能性也越大。E值接近零或为零时,具本上就是完全匹配了。

BLAST程序在搜索空间中可随机找到获得这样高分的序列的可能性(期望值),因此E-value越高,则代表结果越有可能是随机获得的,也就越不可信,搜寻空间大小约等于查询序列的长度乘以全部database序列长度的总和,再乘以一些系数。

如果检索的序列较短,可适当的提高E值,否则可能会找不到目的序列,反之如果序列较长可适当提高E值。
通常无论是从DNA水平,还是蛋白质水平进行检索,E值设为1通常可满足要求。

通常来讲,E值小于10^-5就是比较可性的S值结果。相同的数据库,如果E=0.001时有1000条的S值比现在这个要高,那么E设置为10^-6时可能就会只得到一条结果,就是S值最可靠的那个。但是E值也不是万能的。它在以下几个情况下有局限性:
1)当目标序列过小时,E值会偏大,因为无法得到较高的S值。
2)当两序列同源性虽然高,但有较大的gap(空隙)时,S值会下降。这个时候gap scores就非常有用。
3)有些序列的非功能区有较低的随机性时,可能会造成两序列较高的同源性。

E值总结:
E值适合于有一定长度,而且复杂度不能太低的序列。

当E值小于10^-5时,表明两序列有较高的同源性,而不是因为计算错误。

当E值小于10^-6时,表时两序列的同源性非常高,几乎没有必要再做确认。

学习资料

  1. Linux系统中NCBI BLAST+本地化教程 - CSDN博客
  2. Index of /blast/executables/blast+/LATEST
  3. 这或许是我写的最全的BLAST教程 - 简书
  4. BLAST® Command Line Applications User Manual - NCBI Bookshelf
  5. BLAST: Basic Local Alignment Search Tool
  6. Linux系统中NCBI BLAST+本地化教程 · Wei Shen's Note
  7. windows 下的blast+安装以及使用 - 简书
  8. blast+中blastp参数详解_LittleStarLord_新浪博客
  9. BLAST Settings
  10. Latest Posts
  11. /blast/executables/blast+/LATEST/ 的索引
  12. BioJava:CookBook:Core:Overview
  13. IMGT/DomainGapAlign
  14. Germline CDR Grafting Humanisation | Abzena
  15. Frontiers | V(D)J Rearrangement Is Dispensable for Producing CDR-H3 Sequence Diversity in a Gene Converting Species | Immunology
  16. sam's note
  17. VBASE2 - the integrative germ-line V gene database
  18. CDR - Wikipedia
  19. search tips
  20. IgBLAST使用及后续结果处理_bioinfomatics2medicine_新浪博客
  21. Overview — changeo 0.4.4.999-2018.11.03 documentation
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值