一、bwa使用方法
bwa即Burrows-Wheeler-Alignment tool,是一种能够将差异度较小的序列比对到一个较大的参考基因组上的软件包。它有三个不同的算法:
- BWA-MEM:推荐使用的算法,支持较长的read长度,同时支持剪接性对比(split alignments),但是BWA-MEM是更新的算法,也更快,更准确,且BWA-MEM对于70bp-100bp的illumina数据来说,效果也更好些;
- BWA-backtrack:用来比对illumina序列,reads长度最长能到100bp;
- BWA-SW:用于比对long-read,支持长度为70bp-1Mbp,同时支持剪接性比对
在BWA命令中可以分别调用这三个算法:
bwa mem #BWA-MEMsuanfa
bwa aln #BWA-backtrack
bwa bwasw #BWA-SW
- bwa的使用
1、对参考基因组构建索引
bwa index -a bwtsw hg19.fa
#-a参数:is[默认] or bwtsw,即bwa构建索引的两种算法,两种算法都是基于BWT的
#-a bwtsw对于短的参考序列是不工作的,必须要大于等于10Mb
#-a is 不适用于大的参考序列,必须要小于等于2G
2、寻找输入reads文件的SA坐标
pair end:
bwa mem hg19.fa read1.fq.gz -l 30 -k 2 -t 4 -I > read1.fq.gz.sai
bwa mem hg19.fa read2.fq.gz -l 30 -k 2 -t 4 -I > read2.fq.gz.sai
single end:
bwa mem hg19.fa read.fq.gz -l 30 -k 2 -t 4 -I > read.fq.gz.sai
主要参数说明
-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格式
3、生成sam格式的比对文件
pair end:
bwa sampe -a 500 read1.fq.gz.sai read2.fq.gz.sai read1.fq.gz.read2.fq.gz > read.sam
#-a int:最大插入片段大小
#-o int:pair end两reads中其中之一所允许配对的最大次数,超过该次数,将被视为single end。降低这个参数,可以加快运算速度,对于少于30bp的read,建议降低-o值
#-r str:定义头文件。"@RG ID:foo SM:bar",如果在此步骤不进行头文件定义,在GATK后续分析中还是需要重新增加头文件
#-n int:每对reads输出到结果中的最多比对数
single end:
bwa samse hg19.fa read.fq.gz.sai read.fq.gz.sam > read.fq.gz.sam
#-n int:如果reads比对次数超过多少次,就不在XA标签显示
#-r str:定义头文件。"@RG ID:foo SM:bar",如果在此步骤不进行头文件定义,在GATK后续分析中还是需要重新增加头文件
二、bowtie2使用方法
bowtie2是将测序reads与长参考序列比对的工具。适用于将长度大约为50到100或1000字符的reads与相对较长的基因组(如哺乳动物)进行比对。bowtie2使用FM索引(基于Burrows-Wheeler Transform 或BWT)对基因组进行索引,以此来保持其占用较小内存。对于人类基因组来说,内存占用在3.2G作用。bowtie2支持间隔,局部和双端对齐模式。可以同时使用多个处理器爱极大的提升比对速度。
- bowtie2使用方法
1、参考基因组建立索引
bowtie2-build -f hg19.fa --threads 24 <bt2_base>
#-f:指明index的参考fasta文件
#-c:指明index的参考序列
#<bt2_base>:生成的index文件的前缀
2、序列比对
bowtie2 -x hg19 -1 read1.fq.gz -2 read2.fq.gz -S read_bowtie2_sam
#-x:由bowtie2-build所生成的索引文件的前缀
#-1:双端测序的文件1
#-2:双端测序的文件2
#-U:单端测序的文件,可以为多个文件,用逗号隔开
#-S:所生成的SAM格式的文件前缀
#-p:使用的线程数