bwa软件用法是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
bwa 是一款将序列比对到参考基因组上的软件,包含了以下3种算法
BWA-backtrack
BWA-SW
BWA-MEM
BWA-backtrack
适合比对长度不超过100bp的序列;BWA-SW
和BWA-MEM
适合于长度为70-1M bp的序列;其中BWA-MEM
是最新开发的算法,对于高质量的测序数据,其比对的速度更快,精确度更高,对于70-100bp的reads, BWA-MEM算法在比对长度为70-100bp的序列时,效果比BWA-backtrack 算法的效果更好。总而言之,通常情况下,选择BWA-MEM
算法就好。
bwa 的源代码存储在github
上,
安装过程如下:
git clone https://github.com/lh4/bwa.git
cd bwa
make
安装好之后,会出现一个名为bwa
的可执行文件,输入下面命令可以查看帮助信息
./bwa
Program: bwa (alignment via Burrows-Wheeler transformation) Version: 0.7.17-r1188 Contact: Heng Li <<a href="mailto:lh4@sanger.ac.uk" _href="mailto:lh4@sanger.ac.uk">lh4@sanger.ac.uk</a>> Usage: bwa <command> [options] Command: index index sequences in the FASTA format mem BWA-MEM algorithm fastmap identify super-maximal exact matches pemerge merge overlapping paired ends (EXPERIMENTAL) aln gapped/ungapped alignment samse generate alignment (single ended) sampe generate alignment (paired ended) bwasw BWA-SW for long queries shm manage indices in shared memory fa2pac convert FASTA to PAC format pac2bwt generate BWT from PAC pac2bwtgen alternative algorithm for generating BWT bwtupdate update .bwt to the new format bwt2sa generate SA from BWT and Occ Note: To use BWA, you need to first index the genome with `bwa index'. There are three alignment algorithms in BWA: `mem', `bwasw', and `aln/samse/sampe'. If you are not sure which to use, try `bwa mem' first. Please `man ./bwa.1' for the manual.
可以看到由很多的子命令构成。
bwa
软件的作用是将序列比对到参考基因组上,在比对之前,首先需要对参考基因组建立索引,命令如下:
bwa index in.fasta
索引建立好之后,会生成5个文件,后缀分别为
bwt
pac
ann
amb
sa
下面是对小鼠基因组构建索引的示例
bwa index mm10.fasta
├── mm10.fasta
├── mm10.fasta.amb
├── mm10.fasta.ann
├── mm10.fasta.bwt
├── mm10.fasta.pac
└── mm10.fastq.sa
建立好参考基因组之后,就可以进行比对了。不同的比对算法,命令不同。
对应的子命令为aln/samse/sample
单端数据用法如下:
bwa aln ref.fa reads.fq > aln_sa.sai
bwa samse ref.fa aln_sa.sai reads.fq > aln-se.sam
双端数据用法如下:
bwa aln ref.fa read1.fq > aln1_sa.sai
bwa aln ref.fa read2.fq > aln2_sa.sai
bwa sampe ref.fa aln_sa1.sai aln_sa2.sai read1.fq read2.fq > aln-pe.sam
对应的子命令为bwasw
, 基本用法如下
bwa bwasw ref.fa reads.fq > aln-se.sam
bwa bwasw ref.fa read1.fq read2.fq > aln-pe.sam
对应的子命令为mem
, 基本用法如下
bwa mem ref.fa reads.fq > aln-se.sam
bwa mem ref.fa read1.fq read2.fq > aln-pe.sam
对于超长读长的reads,比如PacBio和Nanopore测序仪产生的reads, 用法如下
bwa mem -x pacbio ref.fa reads.fq > aln.sam
bwa mem -x ont2d ref.fa reads.fq > aln.sam
上述的代码中, ref.fa
指的是参考基因组索引的名字,对于上面提供的小鼠的例子而言,参考基因组索引的名字为mm10.fasta
, 注意是不包含后缀的。
默认用法都非常简单,有时还需要对参数进行调整,以mem
子命令为例,常用的参数包括以下几个:
-t
指定线程数,默认为1,增加线程数,会减少运行时间;-p
忽略第二个输入序列,默认情况下,输入一个序列文件认为是单端测序,输入两个序列文件则是双端测序,加上这个参数后,会忽略第二个输入序列文件,把第一个文件当做单端测序的数据进行比对;-Y
参数对数据进行soft clipping
, 当错配或者gap数过多比对不上时,会对序列进行切除,这里的切除并只是在比对时去掉这部分序列,最终输出结果中序列还是存在的,所以称为soft clipping
。
看完上述内容,你们掌握bwa软件用法是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。