Reference genome data 和 Short reads data
step 1: 建立 Index
根据reference genome data 建立 Index File
bwa index -a bwtsw reference.fa
构建索引时需要注意的问题:bwa构建索引有三种算法,三种算法都是基于BWT的,这三种算法通过参数-a is 、-a div和-a bwtsw进行选择。其中-a bwtsw对于短的参考序列是不工作的,必须要大于等于10Mb;-a is(效果和-a div是一样的)是默认参数,这个参数不适用于大的参考序列,必须要小于等于2G。
step 2: 寻找 SA coordinates
如果是 pair-end 数据(read_1.fq和read_2.fq)两个文件分别处理
bwa aln reference.fa read_1.fq > read_1.sai
bwa aln reference.fa read_2.fq > read_2.sai
如果是 single 数据(read.fq)
如果希望多线程运行,在其中加入 -t这个参数,另外-f这个参数可以指定结果输出文件,如:
bwa aln -t 3 -f read.sai reference.fa read.fq
主要参数说明:
-o int:允许出现的最大gap数。
-e int:每个gap允许的最大长度。
-d int:不允许在3’端出现大于多少bp的deletion。
-i int:不允许在reads两端出现大于多少bp的indel。
-l int:Read前多少个碱基作为seed,如果设置的seed大于read长度,将无法继续,最好设置在25-35,与-k 2 配合使用。
-k int:在seed中的最大编辑距离,使用默认2,与-l配合使用。
-t int:要使用的线程数。
-R int:此参数只应用于pair end中,当没有出现大于此值的最佳比对结果时,将会降低标准再次进行比对。增加这个值可以提高配对比对的准确率,但是同时会消耗更长的时间,默认是32。
-I int:表示输入的文件格式为Illumina 1.3+数据格式。
-B int:设置标记序列。从5’端开始多少个碱基作为标记序列,当-B为正值时,在比对之前会将每个read的标记序列剪切,并将此标记序列表示在BC SAM 标签里,对于pair end数据,两端的标记序列会被连接。
-b :指定输入格式为bam格式。
step 3:转换SA coordinates输出为sam如果是pair-end数据
bwa sampe -f pair-end.sam reference.fa read_1.sai read_2.sai read_1.fq read_2.fq
如果是single reads数据
bwa samse -f single.sam reference.fa read.sai read.fq
主要参数说明:
-a int:最大插入片段大小。
-o int:pair end两reads中其中之一所允许配对的最大次数,超过该次数,将被视为
single end。降低这个参数,可以加快运算速度,对于少于30bp的read,建议降低-o值。
-r str:定义头文件。同single end。
-n int:每对reads输出到结果中的最多比对数
其他:
fai是对ref基因组文件建的索引,方便软件快速随机读取基因组序列
sai是将fastq比对后出来的文件,用于最后输出比对结果sam文件的
官方文档
http://www.bbioo.com/lifesciences/40-113315-1.html
http://bio-bwa.sourceforge.net/bwa.shtml