1. 简介
BWA 是一种能够将DNA序列,mapping到一个较大的参考基因组上的软件包,由三z种不同的算法:BWA-backtrack, BWA-SW 和 BWA-MEM组成。
BWA-backtrack 是用来比对 Illumina 的序列的,reads 长度能达到 100bp;而 BWA-SW 和 BWA-MEM 适用于更长一点的序列,可以从 70bp 到 几Mbp。BWA-SW 与 BWA-MEM 有很多的共性,比如都支持较长的read长度,支持嵌合体对比( chimeric alignmen ),同时都支持剪接性比对(split alignments),但是BWA-MEM是最新算法,更快也更准确;而且BWA-MEM在mapping 70 - 100bp 的illumina reads 时具备更佳的表现。
总的来讲, BWA需要构建出参考基因组的 FM-index,然后利用不同的命令去进行运算:
-
mem for the BWA-MEM algorithm.
-
aln/samse/sampe for BWA-backtrack
-
bwasw for BWA-SW
2. Note:
minimap2 has replaced BWA-MEM for PacBio and Nanopore read alignment. It retains all major BWA-MEM features, but is ~50 times as fast, more versatile, more accurate and produces better base-level alignment.
BWA-MEM2 has been released for short-read mapping. BWA-MEM2 is about twice as fast as BWA-MEM and outputs near identical alignments.
3. 下载安装
- github 下载编译
# git 克隆源码
git clone https://github.com/lh3/bwa.git
cd bwa
make
- SourceForge 编译
如果编译出现问题,要么是代码没写对,要么就是依赖包 zlib 未安装。
wget \
http://superb-sea2.dl.sourceforge.net/project/bio-bwa/bwa-0.7.17.tar.bz2
tar jxf bwa-0.7.17.tar.bz2
move bwa-0.7.17 bwa
cd bwa
make
# PATN环境变量
echo export \
PATH=$PATH:/your/bwa/path >> ~/.bashrc
source ~/.bashrc
- linux 预编译版本
从0.7.11版本开始,BWA 出现预编译版本。预编译版本包含BAM-FASTQ转换工具、mapping to ALT contigs, adapter triming, duplicate marking, HLA typing and associated data files。
wget \
-O bwakit.tar.bz2 \
https://sourceforge.net/projects/bio-bwa/files/bwakit/bwakit-0.7.15_x64-linux.tar.bz2
move bwakit.tar.bz2 ~/local/app
cd ~/local/app
tar -xjvf bwakit.tar.bz2
# 解压后一般会有安装说明 - INSTALL
cd bwakit
# 检查系统适用性
./configure
# 编译&安装
make
make install
# 清理临时文件
make clean
make distclean
4. 参数详解
可以在终端使用man ./bwa.1 来阅读详细参数说明,也可以参看网页版 bwa.1 和 BWA website。
- 建立索引
# example
bwa index ref.fa
OPTIONS: -P 输出数据库的前缀,默认和输入的文件名一致。 -a [is|bwtsw] 构建index的算法,有两个算法: is 是默认的算法,相对较快,但是需要较大的内存,当构建的数据库大于2GB的时候就不能正常工作。 bwtsw
- bwa-mem - Align 70bp-1Mbp query sequences with the BWA-MEM algorithm
bwa mem [-aCHMpP] [-t nThreads] [-k minSeedLen]
[-w bandWidth] [-d zDropoff] [-r seedSplitRatio] [-c maxOcc]
[-A matchScore] [-B mmPenalty] [-O gapOpenPen] [-E gapExtPen]
[-L clipPen] [-U unpairPen] [-R RGline] [-v verboseLevel]
db.prefix reads.fq [mates.fq]
- bwa-aln
网友评论