欢迎关注"生信修炼手册"!

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上,链接如下

https://github.com/lh3/bwa

安装过程如下:

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

cd bwa

make

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

./bwa

Program: bwa (alignment via Burrows-Wheeler transformation)

Version: 0.7.17-r1188

Contact: Heng Li <lh3@sanger.ac.uk>

Usage:   bwa [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。

扫描关注微信号,更多精彩内容等着你!

bwa是linux系统下软件,bwa 软件用法简介相关推荐

  1. linux服务器视频转换,Linux系统下视频转换软件使用方法

    Linux系统下视频转换软件使用方法 Linux下的视频转换:mencoder 制作适合在智能手机和PDA上观看的mpeg4视频. Linux上有一个很强大的视频音频转换软件,就是Mplayer自带的 ...

  2. kali linux wps 2019 删除_良心推荐!Linux系统下常用办公软件大盘点

    今天来给大家来盘点一下, Linux 系统下那些好用的办公软件!如果大家有更好的心水软件,也可以留言和大家分享哦~ WPS 办公套件 优秀的国产办公软件,打开文档迅速,相比 Windows 下的版本, ...

  3. 良心推荐!Linux系统下常用办公软件大盘点

    今天来给大家来盘点一下, Linux 系统下那些好用的办公软件!如果大家有更好的心水软件,也可以留言和大家分享哦~ WPS 办公套件 优秀的国产办公软件,打开文档迅速,相比 Windows 下的版本, ...

  4. linux系统可以玩星际争霸吧,能在Linux系统下运行Windows软件的Wine

    Wine,是一款优秀的Linux系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,如何配置请看下文 大家看看下面这幅图图1),你一定会惊奇地问:"哇!这不是 ...

  5. linux系统下监控录像软件,Linux安装使用监控软件Collectl的方法

    作为Linux系统监控工具,Collectl是款值得推荐的软件,使用Collectl能够及时掌握系统的运行状况,还能像iotop命令一样使用collectl进行智能统计,下面小编就给大家介绍下Coll ...

  6. linux系统下的编程软件,四款​linux​操作系统总有一款适合你

    转为使用Linux可谓是开启了一扇新工具和新技术的大门,它使你对计算环境的体验更为轻松.但是根据你所选择的Linux操作系统的不同,有时你甚至是浏览桌面环境也可能会充满了挑战,因此在客观上还是多少存在 ...

  7. linux系统下监控录像软件,Linux系统资源监控-Linux系统资源监控工具(LinuxSysMonitor)下载-西西软件下载...

    Linux系统资源监控工具(LinuxSysMonitor),吾爱大神原创制作的一个Linux系统资源监控工具,整合了多套命令系统,用户需要在JDK环境下调用该工具才能顺利运行,可以查看磁盘速度,CP ...

  8. linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)

    平时使用扫描件或者pdf查看文档,但是在ipad上当文字比较小的时候不能有效放大,过着每次阅读需要移动屏幕,十分不方便,为此想将pdf或者图片中的文字截取出来,可以有效处理,当然需要ocr技术了,现在 ...

  9. linux系统下监控录像软件,Linux系统信息监控软件system-monitor

    该软件是使用python2.7开发的,目的用于采集服务器性能数据. 1. 功能特点 支持服务器硬件信息及性能实时展示. 2. 部署 1) 安装依赖 sudo apt-get install nginx ...

最新文章

  1. java的三种代理模式
  2. python.freelycode.com-Python数据可视化2018:为什么这么多的库?
  3. JPOM - AOP+自定义注解实现操作日志记录
  4. sklearn pipeline_Sklearn介绍
  5. 清洗弹幕数据,去不相关的列和空值,MapReduce
  6. 如何用git将本地文件放到github上
  7. 清理redis集群的所有数据
  8. Unity 圆形图片实现
  9. 隐式微分方程求解Matlab
  10. 【实用技巧】 修改度娘的提取码
  11. 经典PID学习感悟(一)-初步认知【比例kp】
  12. 【软考-中级】系统集成项目管理工程师-【1信息化知识】
  13. 瞧,他的代码,他的内裤
  14. Java重写的7个规则
  15. iOS自定义相机实现拍照和连拍
  16. 我们能做出量子计算机却至今摸不透量子力学,【科技日报】我们能做出量子计算机,却至今摸不透量子力学...
  17. 我的世界服务器娘怎么修改配置,转【教学】Pixelmon配置文件修改指南
  18. Android解决部分手机拍照照片自动旋转的问题
  19. php实现仿淘票票订票网站
  20. 如何使用风向偏移简化风速风向传感器安装

热门文章

  1. 读书总结-自我修炼 | 推荐书单
  2. 文明大爆炸服务器维护,《文明大爆炸》完整版萌新攻略来袭!
  3. 攻击信标(IOA)与攻陷信标(IOC)
  4. 搞笑的短视频配音怎么制作?两个小方法来帮忙,好学又好做
  5. jQ【精】插件网址收集
  6. 使用最新PyPy代替CPython,加速Python执行
  7. 代码篇——DataGrid
  8. php查询返回对像,php – 如何从DQL查询返回对象?
  9. Vue html转pdf(A4纸)
  10. StringBuffer类