串行的blast+2.2.25本地化系列: blastdbcmd,makeblastdb,blastn.使用简介

-----------------------------------------------------------------------

blast+中有许多命令.

blastdbcmd,makeblastdb是处理数据库较为常用的命令

blastn是核苷酸与核苷酸比对的命令.

以下结果来自 blast+ 2.2.25,

运行平台是 ubuntu 10.04

GCC 4.4.3

------------------------------------------------------------------------

1 blastdbcmd

  • 作用: Retrieves sequences or other information from a BLAST database

它相当于以前的fastacmd.利用这个命令,可以从一个blast数据库中获得你想要的信息:

一般的使用如:

  • 例子0:

blastdbcmd -db refseq_rna -info

可以查看数据库refseq_rna的信息

例子1:

blastdbcmd -db refseq_rna -entry 224071016 -out test.fa

可以从数据库中提取除gi号为224071016的序列,并且以fasta格式存入文件(当然也可以以其它格式获得序列)

  • 注:

gi ID是许多用来标志序列的标识符中的一种.是数据库文件中普遍使用,通行有效的保持索引的形式.

所有来源于NCBI的序列都有一个gi号“gi|gi_identifier”.是绝对唯一的.

而自己利用makeblastdb命令 构建的数据库中,利用以下三种标识符

  1. gnl|database|identifier
  2. lcl|identifier
  3. identifier

这些标识符的作用是

  1. 区别于gi号
  2. 在本数据库中使得序列标识符唯一
  3. 在查询和比对中分辨query序列与subject序列
  • 更加详细的参数参照 blastdbcmd -help

------------------------------------------------------------------------------------------

2 makeblastdb

  • 作用: Formats input FASTA file(s) into a BLAST database

顾名思义,它的作用是将各种格式的文件转换为一个可供blast算法使用的blast数据库

  • 一般的使用如:

makeblastdb -in input_file -dbtype molecule_type -input_type type_string -title database_title -parse_seqids -out database_name -logfile File_Name

-in 后接输入文件,你要格式化的序列

-dbtype 后接序列类型,nucl为核酸,prot为蛋白

-title 给数据库的别名

-input_type 给出输入文件的序列格式.

-parse_seqids 将序列分列

-out 后接数据库名,自己起一个有意义的名字,以后blast+搜索时要用到的-db的参数

-logfile 日志文件,如果没有默认输出到屏幕

  • 更加详细的参数参照 makeblastdb -help

----------------------------------------------------------

3 blastn简单介绍

  • 作用: 核苷酸序列的比对以及结果分析
  • 例子0: 最简单的使用格式

blastn -query test_query.fa -db refseq_rna -out test_results

  • 例子1:

blastdbcmd -db refseq_rna -entry nm_000249 -out test_query.fa blastn -query test_query.fa -db refseq_rna -task blastn -dust no -outfmt 7 -num_alignments 2 -num_descriptions 2

-task 规定搜索采用的策略:可选为'blastn' 'blastn-short' 'dc-megablast'  'megablast' 'vecscreen'. 默认为`megablast'

  • 例子2: 常用的格式:

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

-evalue 预期的从hit筛选hsp的阈值

-outfmt 选择性输出的一些内容. 如 : 7 代表查询结果表格化并且带有注释行. 而 qacc 以及 sacc等则是自定义的所需的信息.可供选择的信息选项详见 -outfmt参数.-outfmt直接触发分析程序,而不用另外使用分析程序了.

更加详细的参数参照 blastn -help

------------------------------------------------------------------------

经过观察发现: 用于blastn的query序列使用 fasta格式即可. 而数据库则不能直接使用fasta格式.而且数据库实际上是一个文件夹,而非单个文件.

可以使用makeblastdb将fasta格式的文件转化为数据库

另一方面可以用blastdbcmd从数据库中获取信息

-------------------------------------------------------------------------

makeblastdb,blastdbcmd,blastn使用示例:

/****

fasta文件的格式,形如:

> identifier1

ATCG...ATCG

>identifier2

ATCG...ATCG

...

...

...

> identifier3

ATCG...ATCG

****/

现有fasta文件test.fasta如下:

>seq1

ATGTTCAACGCGAAGAACGGTTTTTCTGAGGCACACGTGAGGGGATGTCAGACCAAACGACTCACCAAACAGAACTACGC

CGAACTTTCTCGATGTGACACGTTGGAAGACATCAAGACGTACTTGCAAACGATGAGTGATTATTCAGAATATGTTCGTG

ATCTTCAAGCGCCAGTGAGACCGGTTGACATTATTGAATGCTGCAGAAAGAGACAGATCGCAGAGTTTAATATTTGCTGT

CAGCAGGCTTCTTCCCCTTTGTCCAATTTTTTGGAGTATTTGACGTACGGATACATGATCGATAATCTTGTGTTGGCTTT

>seq2

AAATGGCATGCTTCGTGGACGTACCACAGAGGCAATACTTGAGAAGTGTAGCCCCATTGGTTTTTTCGATTCTTTATCCG

CGGTTGTCGTGTCGAGTAGTGTCCAAGAACTCTACAGACTAGCTCTCGTGGATACACCGCTTGCCTCTTATTTCAGTAGC

TCGATTAAGGCAGAAGATCTGGATGAGTTAAATATTGAGCTCATACGGAACGTCCTATACAAGGAATATTTGCAAGATTT

CATGGTTTTCTGCAACAAAATGGATCAAAACACACGTCAATTGATGGAGAAACTACTTAGCATGGAGGCCGATCGGCACG

>seq3

CGATAAGAATCACACTGAACTCTTTCGGAACAGAGCTTTCCAAGGCTGATCGAAGAAATCTTTATACGAATTTTGGCACC

ATGTACCCCGATGGCTTCGCGCGTCTTGCGAATTGTGAAACGGTAGATGAAGTGAAACGCATACTAGTAGCTTATCCAGA

ATTCAGAGAGTTGACGAAAAGTGATGATCCCCACTACATTGACAGGGGACTACGCGTTCTCGAACTGGAAGCATGTGGAC

AAGCACTCGATGAGCAATTCAATTTCGCTATCTTTTATGCTTTCGTAAAGTTTCAGGAGAACGAAATAAACAACCTGATG

TGGCTCACTGAGTGTGTTGCTCAAAGGCAAAAAAGTAGTCTAGGCGAGGGCATTGTCTACATACAATAG

/***

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

a) > gnl|database|identifier

b) > lcl|identifier

c)  > identifier

***/

1 makeblastdb使用示例:

1)用命令将test.fasta转化为数据库test_db:makeblastdb -in test.fasta -dbtype nucl -title lidachao -parse_seqids -out test_db

oboyo@oboyo-laptop:~/blast-lastest$ makeblastdb -in test.fasta -dbtype nucl -title lidachao -parse_seqids -out test_db

Building a new DB, current time: 05/19/2011 17:31:55

New DB name:   test_db

New DB title:  lidachao

Sequence type: Nucleotide

Keep Linkouts: T

Keep MBits: T

Maximum file size: 1073741824B

Adding sequences from FASTA; added 3 sequences in 0.00573689 seconds.

2)格式化数据库后,创建三个主要的文件——库索引(indices),序列(sequences)和头(headers)文件。生成的文件的扩展名分别是:.pin、.psq、.phr(对蛋白质序列)或.nin、.nsq、.nhr(对核酸序列)。而其他的序列识别符和索引则包含在.psi和.psd(或.nsi和.nsd)中。

该示例是核苷酸所以生成的数据库文件是: nin , nsq ,nhr , .nsi ,.nsd ,.nog

2 blastdbcmd使用示例

1)查看生成的test_db数据库的信息

oboyo@oboyo-laptop:~/blast-lastest$ blastdbcmd -db test_db -info

Database: lidachao

3 sequences; 1,029 total bases

Date: May 19, 2011  5:56 PM Longest sequence: 389 bases

Volumes:

/home/oboyo/blast-lastest/test_db

2)从test_db中抽取一段 数据库的序列(seq1),并以fasta形式显示

oboyo@oboyo-laptop:~/blast-lastest$ blastdbcmd -db test_db -entry seq1

>lcl|seq1

ATGTTCAACGCGAAGAACGGTTTTTCTGAGGCACACGTGAGGGGATGTCAGACCAAACGACTCACCAAACAGAACTACGC

CGAACTTTCTCGATGTGACACGTTGGAAGACATCAAGACGTACTTGCAAACGATGAGTGATTATTCAGAATATGTTCGTG

ATCTTCAAGCGCCAGTGAGACCGGTTGACATTATTGAATGCTGCAGAAAGAGACAGATCGCAGAGTTTAATATTTGCTGT

CAGCAGGCTTCTTCCCCTTTGTCCAATTTTTTGGAGTATTTGACGTACGGATACATGATCGATAATCTTGTGTTGGCTTT

test_db是自定义的数据库.利用自己的标识符"seq1",可以成功抽取了在数据库中标识符为 lcl|seq1 的序列.

在使用下载的数据库时同样可以使用gi ID 抽取序列.

3)将抽取的序列以fasta格式保存到 test_query文件

oboyo@oboyo-laptop:~/blast-lastest$ blastdbcmd -db test_db -entry seq1 -out test_query

3 blastn使用示例.

1)利用上面生成 fasta格式的 test_query与 自定义的数据库 test_db进行比对.

oboyo@oboyo-laptop:~/blast-lastest$ blastn -query test_query -db test_db

BLASTN 2.2.25+

Reference: Zheng Zhang, Scott Schwartz, Lukas Wagner, and Webb

Miller (2000), "A greedy algorithm for aligning DNA sequences", J

Comput Biol 2000; 7(1-2):203-14.

Database: lidachao

3 sequences; 1,029 total letters

Query= lcl|seq1

Length=320

Score     E

Sequences producing significant alignments:                          (Bits)  Value

lcl|seq1                                                               592    2e-173

>lcl|seq1

Length=320

Score =  592 bits (320),  Expect = 2e-173

Identities = 320/320 (100%), Gaps = 0/320 (0%)

Strand=Plus/Plus

Query  1    ATGTTCAACGCGAAGAACGGTTTTTCTGAGGCACACGTGAGGGGATGTCAGACCAAACGA  60

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Sbjct  1    ATGTTCAACGCGAAGAACGGTTTTTCTGAGGCACACGTGAGGGGATGTCAGACCAAACGA  60

Query  61   CTCACCAAACAGAACTACGCCGAACTTTCTCGATGTGACACGTTGGAAGACATCAAGACG  120

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Sbjct  61   CTCACCAAACAGAACTACGCCGAACTTTCTCGATGTGACACGTTGGAAGACATCAAGACG  120

Query  121  TACTTGCAAACGATGAGTGATTATTCAGAATATGTTCGTGATCTTCAAGCGCCAGTGAGA  180

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Sbjct  121  TACTTGCAAACGATGAGTGATTATTCAGAATATGTTCGTGATCTTCAAGCGCCAGTGAGA  180

Query  181  CCGGTTGACATTATTGAATGCTGCAGAAAGAGACAGATCGCAGAGTTTAATATTTGCTGT  240

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Sbjct  181  CCGGTTGACATTATTGAATGCTGCAGAAAGAGACAGATCGCAGAGTTTAATATTTGCTGT  240

Query  241  CAGCAGGCTTCTTCCCCTTTGTCCAATTTTTTGGAGTATTTGACGTACGGATACATGATC  300

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Sbjct  241  CAGCAGGCTTCTTCCCCTTTGTCCAATTTTTTGGAGTATTTGACGTACGGATACATGATC  300

Query  301  GATAATCTTGTGTTGGCTTT  320

||||||||||||||||||||

Sbjct  301  GATAATCTTGTGTTGGCTTT  320

Lambda     K      H

1.33    0.621     1.12

Gapped

Lambda     K      H

1.28    0.460    0.850

Effective search space used: 307764

Database: lidachao

Posted date:  May 19, 2011  5:56 PM

Number of letters in database: 1,029

Number of sequences in database:  3

Matrix: blastn matrix 1 -2

Gap Penalties: Existence: 0, Extension: 2.5

2)选定模式进行输出

oboyo@oboyo-laptop:~/blast-lastest$ blastn -query test_query -db test_db -task blastn -dust no -outfmt 7 -num_alignments 2 -num_descriptions 2

# BLASTN 2.2.25+

# Query: lcl|seq1

# Database: test_db

# Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score

# 1 hits found

lcl|seq1 seq1 100.00 320 0 0 1 320 1 320 2e-169 578

# BLAST processed 1 queries

串行的blast+2.2.25本地化: blastdbcmd,makeblastdb,blastn.简介相关推荐

  1. 25章 SPI—读写串行FLASH

    SPI 协议简介 3 条总线分别为SCK(时钟).MOSI(主出从入).MISO(主入从出),片选线为SS1.2.3(从设备)(多少设备也就这三条ss) MOSI和MISO能看出是全双工(输入输出两条 ...

  2. SPI、UART、I2C三种串行总线简介

    是一种 高速.全双工.同步.串行通信总线,3~4线接口,以主从模式工作,收发独立,可以实现多个SPI设备互相连接. 提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI ...

  3. RS-232串行口连接线 com口连接线 并口链接线 双绞线 交叉线 直连线

    通过串口并口共享资源在两台计算机之间进行通信,最好的方法当然是建立局域网.如果没有建立网络, 又想进行联机通信,在距离不太远(比如不超过20米)的情况下,可考虑通过计算机的并 行口或RS-232串行口 ...

  4. 测试串行回收与堆初始值有关系01

    吞吐量到底是什么意思啊,我们开始是实战的做调优了,首先吞吐量是什么意思呢,你们可以找到一个文档,它会专门有一个测试报告,Average是平均响应的时间,响应时间是21秒,我们主要是看这个数字Throu ...

  5. SPI、I2C、UART三种串行总线的原理、区别及应用

    SPI协议解析,链接如下 https://blog.csdn.net/weiqifa0/article/details/82765892 I2C协议解析,链接如下 https://blog.csdn. ...

  6. C++串行编程步骤介绍

    (一) 串口的参数设置及打开   对RS-232-C串行端口进行参数配置是使用串口进行通讯的必要条件.而且由于场合不同.用途.功能的不同对串口也采取不同的配置方式,为了使本程序更灵活,适应面更广,采取 ...

  7. 【转载】TreeView序列化,TreeView串行化,TreeView反序列化 c# winform

    转载自http://www.yongfa365.com/Item/WinForm-TreeView-SerializeTree.html 2009年给公司做了个管理系统,里面用到了TreeView,数 ...

  8. 干货!高速串行Serdes均衡之FFE

    原标题:干货!高速串行Serdes均衡之FFE 来源:EETOP论坛 及 公众号:不忘初心的模拟小牛牛 作者:131v1vv 本系列,准备把高速串行通信中用到的均衡进行一个总结.这期先介绍发送端. 高 ...

  9. 路由器重温——串行链路链路层协议积累-帧中继FR协议

    在串口链路中link-protocol还可以配置成fr,即使用帧中继,现在对帧中继进行学习. 帧中继技术是在数据链路层用简化的方法传送和交换数据单元的快速分组交换技术.帧中继技术是在分组交换技术充分发 ...

最新文章

  1. qt练习11 鼠标,按键,滚轮事件学习
  2. php 命令执行crud_如何使用原始JavaScript执行CRUD操作
  3. 超详细面经:无论文、无实习拿下腾讯CV算法岗
  4. 使用设置报头x-Frame-Options限制iframe网页嵌套
  5. Qt中的QBoxLayout
  6. 年前最后一期!知识图谱理论与实战(线下集训)
  7. linux suse 共享目录_SUSE环境下YAST源(连接共享目录)
  8. mui switch 实现方案 让你的html 设计更贴近原生
  9. mysql json字段的使用与意义
  10. 从Android应用程序访问Internet需要什么权限?
  11. ActiveMQ消息队列安装和使用
  12. 怎么用matlab赋值圆孔,【求助】求一个MATLAB的杨氏双孔干涉程序(要圆孔) - 物理 - 小木虫 - 学术 科研 互动社区...
  13. MVC使用jQuery从视图向控制器传递Model的2种方法
  14. 线性代数 --- 带有置换矩阵P的LU分解
  15. i2c驱动之调用ioctl函数进行读写at24c08
  16. 终端字符乱码解决方法
  17. Logstash详解之——input模块
  18. 通俗易懂的Latex教程文档
  19. directx是什么?
  20. typescript环境配置

热门文章

  1. cucumber 如何中途退出 scenario
  2. ngnix配置及实例
  3. 折叠目录html,在WEB页中实现折叠式动态目录结构
  4. 打车日记 - 谨慎的小哥哥
  5. java saf_java – 从SAF内容URI中提取文件名
  6. Fork/Join框架基本使用
  7. 走进音视频的世界——视频封装格式
  8. 多种进制转换方法,原码、反码、补码计算与转换,位运算符的使用方法,函数简介
  9. 【LeetCode】309. Best Time to Buy and Sell Stock with Cooldown 解题报告(Python C++)
  10. nova launcher_如何访问Nova Launcher的“实验室”设置以进行实验功能