前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bwa 软件用法简介

bwa 软件用法简介

作者头像
生信修炼手册
发布2020-05-11 10:41:34
2.7K0
发布2020-05-11 10:41:34
举报
文章被收录于专栏:生信修炼手册生信修炼手册

bwa 是一款将序列比对到参考基因组上的软件,包含了以下3种算法

  1. BWA-backtrack
  2. BWA-SW
  3. BWA-MEM

BWA-backtrack适合比对长度不超过100bp的序列;BWA-SWBWA-MEM适合于长度为70-1M bp的序列;其中BWA-MEM是最新开发的算法,对于高质量的测序数据,其比对的速度更快,精确度更高,对于70-100bp的reads, BWA-MEM算法在比对长度为70-100bp的序列时,效果比BWA-backtrack 算法的效果更好。总而言之,通常情况下,选择BWA-MEM算法就好。

bwa 的源代码存储在github上,链接如下

https://github.com/lh3/bwa

安装过程如下:

git clone https://github.com/lh3/bwa.git cd bwa make

安装好之后,会出现一个名为bwa的可执行文件,输入下面命令可以查看帮助信息

./bwa

代码语言:javascript
复制
Program: bwa (alignment via Burrows-Wheeler transformation)
Version: 0.7.17-r1188
Contact: Heng Li <<a href="mailto:lh3@sanger.ac.uk" _href="mailto:lh3@sanger.ac.uk">lh3@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

建立好参考基因组之后,就可以进行比对了。不同的比对算法,命令不同。

1. BWA-backtrack 算法

对应的子命令为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

2. BWA-SW 算法

对应的子命令为bwasw, 基本用法如下

bwa bwasw ref.fa reads.fq > aln-se.sam bwa bwasw ref.fa read1.fq read2.fq > aln-pe.sam

3. BWA-MEM` 算法

对应的子命令为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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. BWA-backtrack 算法
  • 2. BWA-SW 算法
  • 3. BWA-MEM` 算法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档