一.BWA简介
bwa(全称Burrows-Wheeler Aligner),主要功能是将差异度较小的序列比对到一个较大的参考基因组上。其中提供了三种算法:
算法 | 应用场景 |
---|---|
BWA-backtrack | illumina测序结果(reads长度不超过100bp) |
BWA-SW | 支持序列长度70bp-1Mbp,同时支持剪接性比对(split alignments ) |
BWA-MEM | 最常用,最新,最准确,支持序列长度70bp-1Mbp,表现比BWA-backtrack好 |
二.构建index
官方文档说明:
1 | bwa index [-p prefix] [-a algoType] <in.db.fasta> |
其中需要的数据库序列为fasta格式。
选项介绍:
1 | -p 输出数据库的前缀(默认和输入的文件名一致,输出的数据库在其输入文件所在的文件夹,并以该文件名为前缀) |
三.数据比对
数据比对大多使用MEM(maximal exact matches) 进行 seeding alignments,再使用 SW(affine-gap Smith-Waterman) 算法进行 seeds 的延伸。
BWA–MEM 算法执行局部比对和剪接性。可能会出现 query 序列的多个不同的部位出现各自的最优匹配,导致 reads 有多个最佳匹配位点。这对 long reads 的比对是比较重要的结果。但是却会和 Picard 的 markDuplicates 程序不兼容。
使用方法:
1 | bwa mem [potions] ref.fa reads.fq [mates.fq] |
常用选项:
1 | -t 线程数,默认为1。 |
运行例子:
1 | bwa mem ref.fa reads.fq > mem-se.sam |
参考资料: