首页 > 代码库 > BWA/BWT 比对软件

BWA/BWT 比对软件

 


名称   

      bwa –   Burrows-Wheeler  Alignment Tool

内容
摘要
描述
命令行与选项
SAM 比对格式
短序列比对注意事项
  比对精确性
  估计插入大小分布
  内存需求
  速度
Bwa-0.6中的改变
其他
作者
引用与授权
历史

摘要

b w a   i n d e x   r e f . f a
b w a   m e m   r e f . f a   r e a d s . f q   >   a l n - s e . s a m
b w a   m e m   r e f . f a   r e a d 1 . f q   r e a d 2 . f q   >   a l n - p e . s a m
b w a   a l n   r e f . f a   s h o r t _ r e a d . f q   >   a l n _ s a . s a i
b w a   s a m s e   r e f . f a   a l n _ s a . s a i   s h o r t _ r e a d . f q   >   a l n - s e . s a m
b w a   s a m p e   r e f . f a   a l n _ s a 1 . s a i   a l n _ s a 2 . s a i   r e a d 1 . f q   r e a d 2 . f q   >   a l n - p e . s a m

b w a   b w a s w   r e f . f a   l o n g _ r e a d . f q   >   a l n . s a m

描述

 BWA是用于将低分叉序列比对到大的参考基因组比如人基因组的软件包。BWA主要是由三种算法组成:BWA-backtrack,BWA-SW和BWA-MEM。第一个算法是针对于illumina测序reads最多100bp的算法。后面两个主要是针对于从70bp到1Mbp的更长序列。BWA-MEM和BWA-SW拥有一些相同的特征例如 长reads支持和 序列分开模式。但是相对而言,更加推荐更新的BWA-MEM,因为可以更快和更准确在更高质量上比对。BWA-MEM相比较BWA-backtrack在70-100bp illumina reads上有更好的性能。
 对于所有的三种算法,BWA首先序列针对于参考基因组构建FM-index。(index命令)。针对于不同的算法接下来使用命令行:aln/samse/sampe 对于BWA-backtrack。bwasw对于BWA-SW和mem对于BWA-MEM算法。

命令行与选项

 Index  


b w a   i n d e x   [ - p   p r e f i x ]   [ - a   a l g o T y p e ]   < i n . d b . f a s t a >

index数据库序列以FASTA格式。

选项

-p STR   输出数据库的前缀[与db 文件名相同]

-a STR   算法用于构建BWT  index。可以使用的选项:

      is   IS线性时间算法用于构建suffix array。需要5.37N内存,N是数据库的大小。IS算法相对较快,但是无法处理数据库大于2GB的数据。因为IS算法比较简单,作为默认值。目前IS算法的脚本由Yuta Mori从新植入。

      Bwtsw  BWT-SW中使用的算法。这个算法主要是针对于人类基因组。

    mem   b w a   m e m   [ - a C H M p P ]   [ - t   n T h r e a d s ]   [ - k   m i n S e e d L e n ]   [ - w   b a n d W i d t h ]   [ - d   z D r o p o f f ]   [ - rs e e d S p l i t R a t i o ]   [ - c   m a x O c c ]   [ - A   m a t c h S c o r e ]   [ - B   m m P e n a l t y ]   [ - O   g a p O p e n P e n ]   [ - Eg a p E x t P e n ]   [ - L   c l i p P e n ]   [ - U   u n p a i r P e n ]   [ - R   R G l i n e ]   [ - v   v e r b o s e L e v e l ]   d b . p r e f i xr e a d s . f q   [ m a t e s . f q ]

           BWA-MEM 算法比对70bp-1Mbp的输入序列。简要的说,算法主要是通过最大精确匹配作为种子比对,然后基于Smith-Waterman算法进行仿射空位罚分。

           如果mate.fq文件是缺失的和选项-p并未设置。这个命令说明数据为单端测序。如果mates.fa存在,命令行假设reads.fq的第i行与mates.fq的第i行形成read对。如果-p被使用,命令行假设reads.fq的2i行和2i+1行形成read对。这类文件被称为interleaved。在这种例子中,mates.fq文件被忽略。在paired-end 模式中,mem命令行会推断从一批reads中推断reads的方向和插入大小的分布。

选项

 -t  INT  线程数目

 -k  INT  最小种子长度。少于INT的匹配将会被忽略。匹配的速度通常对于这个值不敏感,除非明显偏离20.  [19]

  -w  INT  空值宽度。必要的说,gaps长于INT将不会被发现。需要注意最大gap长度同时受到评分矩阵和hit长度所影响。并不只由这个选项确定。[100]

 -d  INT  off-diagonal-X-dropoff (z-dropoff)。如果最好和目前的延伸分数差距大于 |i-j|*A+INT,将停止延伸,其中i和j是被比对和参考基因组中的位置。A是匹配得分。Z-dropoff 类似于BLAST 中的X-dropoff,除了该算法中并没有空格罚分。Z-dropoff不仅避免了不必要的延伸,同时减少了在较差的延伸比对中的比对。 [100]

 -r  FLOAT 引发长度大于minSeedLen *FLOAT的重新搜索。这是启发式算法调节算法性能的关键参数。更大的值产生更少的seeds,导致更快的比对速度但是更低的准确性。[1.5]

   -c  INT 丢弃大于INT出现次数的MEM。这是一个不敏感参数。

 -p  在paired-end 模式中,运行SW搜索得到缺失的命中。

 -A   INT  匹配得分。 [1]

 -B   INT 错配得分。序列的错误率估计方法:

     {0.75*exp[-log(4)*B/A]}.    [4]

 -o   INT  空值罚分。 [-6]

 -E   INT  空值延伸罚分。一个长度为K 的罚分为 O+K*E

 -L   INT          裁剪罚分。

-U INT  对于未配对read对罚分。对于未配对的read对BWA—MEM以scoreRead1+scoreRead2-INT进行评分。评分scoreRead1+scoreRead2-insertPenalty。比较这两种评分从而确定是否应该强制配对。 [9]

-p   假设第一个输入文件为interleaved 配对FASTA\Q文件。

-R STR 完成read group header行 ’\t‘可以在字符串中使用,将会在SAM文件中转换成SAM文件。read group ID也会附在输出文件每一个reads中。   【null】

-T INT 不要输出比对分数低于INT的比对。这个结果只影响最终结果。 【30】

-a 输出所有的比对以单端或未配对双端测序方式。

-c 将FASTA/Q的comment 追加到SAM输出中。选项可以将reads meta信息转移到SAM输出。注意FASTA/Q comment必须符合SAM特定要求。不正确的格式将导致不争取的SAM输出。

-H  使用大写H在SAM输出文件中,这个选项可以显著的减少输出文件的复杂度。当比对长或Bac序列时。

-M 标记短split hit为第二个。

-v INT 控制输出的冗长程度。这个选项并未在BWA完全被支持。理想的,值0 表示不输出到stderr。1表示只输出error。2表示warning和errror。3表示所有信息。4表示对于debug的更高信息。当选项是4时候,输出并不是SAM。 [3]

 
 
 

BWA/BWT 比对软件