BWA manual reference page

1. 简介:

BWA 是一种能够将差异度较小的序列比对到一个较大的参考基因组上的软件包。它由三个不同的算法:BWA-backtrack, BWA-SW 和 BWA-MEM;

BWA-backtrack 是用来比对 Illumina 的序列的,reads 长度最长能到 100bp,而 BWA-SW 和 BWA-MEM 适用于更长一点的序列,可以从 70bp 到 1Mbp.

BWA-SW 与 BWA-MEM 有很多的共性,比如都支持较长的read长度,同时都支持剪接性比对(split alignments),但是BWA-MEM是更新的算法,也更快,更准确,

且 BWA-MEM 对于 70bp-100bp 的 Illumina 数据来说,效果也更好些。

 

在运用这三种算法之前,需要利用 BWA 的 index 命令,构建出参考基因组的 FM-index,而对与上述的三种不同的算法而言,又有不同的命令:

aln/samse/sampe ----> BWA-backtrack   (samse 中的 se 是 single-end 的简写,而 sampe 中的 pe 是 paired-end 的简写)。

bwasw ----> BWA-SW

mem ----> BWA-MEM


2. BWA 的下载和安装 ( 转自 http://www.chenlianfu.com/?p=2103 )

$ wget http://jaist.dl.sourceforge.net/project/bio-bwa/bwa-0.7.9a.tar.bz2
$ tar jxf bwa-0.7.9a.tar.bz2 -C /opt/biosoft/
$ cd /opt/biosoft/bwa-0.7.9a/
$ make
$ echo 'PATH=$PATH:/opt/biosoft/bwa-0.7.9a' >> ~/.bashrc
$ source ~/.bashrc
 

3. 命令以及参数设置

index

         Usage:bwa index [ –p prefix ] [ –a algoType ] ref.fasta

-p STR 输出的数据库前缀;

【 默认和输入的文件名一致,输出的数据库在其输入文件所在的文件夹,并以该文件名为前缀。】

-a [ is | bwtsw ] 构建index 文件的算法,有以下两个选项

        -a is  是默认的算法,虽然相对较快,但是需要较大的内存,当构建的数据库大于2GB的时候就不能正常工作了。

        -a bwtsw 对于短的参考序列式不工作的,必须要大于等于10MB, 但能用于较大的基因组数据,比如人的全基因组。

mem

        Usage: bwa mem [options] ref.fasta reads.fq [mates.fq] > reads.sam

简单的来讲,mem 使用的 MEMs(maximal exact matches) 进行seedling alignments, 再使用 SW(affine-gap Smith-Waterman 算法)进行seeding extending.

mem 进行局部比对,因此,对于一条序列的不同区域可能会产生多种最优匹配结果, 这对于long reads 来说尤为重要。 有些软件如 Picard’s markDuplicates 跟 mem 的这种剪接性比对不兼容,

在这种情况下,可以使用 –M 选项来将 shorter split hits 标记为次优。

特别说明:

如果 mates.fq 缺省,且参数 –p 未设定,那么 reads.fq 被认为是 single-end;

如果 mates.fq 存在,且参数 –p 未设定,那么 mem 命令会认为 read.fq 和 mates.fq 中的  i-th reads 组成一个read对 (a read pair),这个模式是常用的 paired-end mode。

如果参数 –p 被设定,那么, mem 命令会认为 read.fq 中的 第 2i-th 和 第 (2i + 1)-th 的 reads 组成一个 read 对 (a read pair),这种方式也被成为交错式的(interleaved paired-end)。 在这种情况下,即使有 mates.fq,也会被忽略。

常用的参数如下:

-t INT    线程数,默认是1。

-M         将 shorter split hits 标记为次优,以兼容 Picard’s markDuplicates 软件。

-R STR   完整的read group的头部,可以用 '\t' 作为分隔符, 在输出的SAM文件中被解释为制表符TAB. read group 的ID,会被添加到输出文件的每一个read的头部。

-T INT    当比对的分值比 INT 小时,不输出该比对结果,这个参数只影响输出的结果,不影响比对的过程。

-a          将所有的比对结果都输出,包括 single-end 和 unpaired paired-end的 reads,但是这些比对的结果会被标记为次优。

align/samse/sampe

         Usage: bwa aln [ options ] ref.fasta read.fq > aln_sa.sai       bwa samse [ options ] ref.fasta aln.sa.sai read.fq > aln-se.sam

         Usage: bwa aln [ options ] ref.fasta read1.fq > aln_sa1.sai   bwa aln [ options ] ref.fasta read2.fq > aln_sa2.sai

                     bwa sampe [options ] ref.fasta aln_sa1.sai aln_sa2.sai read1.fq read2.fq > aln-pe.sam

 

bwasw

         Usage: bwa bwasw [ options ] ref.fasta reads.fq [mate.fq] > aln.sam

 


利用bwa进行比对的例子:

1)对参考基因组(reference)构建索引

bwa index -a bwtsw IRGSP-1.0_genome.fasta

生成的文件有以下几种类型:IRGSP-1.0_genome.fasta.ann, IRGSP-1.0_genome.fasta.pac, IRGSP-1.0_genome.fasta.amb, IRGSP-1.0_genome.fasta.bwt, IRGSP-1.0_genome.fasta.sa

2)用bwa mem 进行比对

bwa mem -t 4 -M -R "\@RG\tID:{library}\tLB:{library}\tPL:Illumina\tPU:{sample}\tSM:{sample}\" \

/home/glj/Data/data/rice/rice3k/ref/IRGSP-1.0_genome.fasta \

ERR622814_1.fastq ERR622814_2.fastq \

> ERR622814.IRGSP.bwa.mem.sam \

2> ./ERR62814.IRGSP.bwa.log

转载于:https://www.cnblogs.com/longjianggu/p/5073126.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值