一、bwa比对软件的使用

1、对参考基因组构建索引

bwa index -a bwtsw hg19.fa   #  -a 参数:is[默认] or bwtsw,即bwa构建索引的两种算法,两种算法都是基于BWT的(BWT search while the CIGAR string by Smith-Waterman alignment.)。-a bwtsw对于短的参考序列是不工作的,必须要大于等于10Mb;-a is 不适用于大的参考序列,必须要小于等于2G;

output:hg19.fa.amb、hg19.fa.ann、hg19.fa.bwt、hg19.fa.pac和hg19.fa.sa

2、寻找输入reads文件的SA坐标

对于pair end数据,每个reads文件单独做运算,single end数据就不用说了,只有一个文件。

pair end:

bwa  aln  hg19.fa  read1.fq.gz  -l 30  -k 2  -t 4  -I  > read1.fq.gz.sai   or   bwa  aln  hg19.fa  read1.fq.gz  -l 30  -k 2  -t 4  -I -f read1.fq.gz.sai

bwa  aln  hg19.fa  read2.fq.gz  -l 30  -k 2  -t 4  -I  > read2.fq.gz.sai   or   bwa  aln  hg19.fa  read2.fq.gz  -l 30  -k 2  -t 4  -I -f read2.fq.gz.sai

single end:

bwa  aln  hg19.fa  read.fq.gz  -l 30  -k 2  -t 4  -I  > read.fq.gz.sai       or   bwa  aln  hg19.fa  read.fq.gz  -l 30  -k 2  -t 4  -I  -f  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格式。bwa  aln  hg19.fa  read.bam  > read.fq.gz.sai

3、生成sam格式的比对文件

如果一条read比对到多个位置,会随机选择一种

single end:bwa  samse  hg19.fa  read.fq.gz.sai  read.fq.gz  > read.fq.gz.sam

参数:

-n int:如果reads比对次数超过多少次,就不在XA标签显示。

-r str:定义头文件。‘@RG\tID:foo\tSM:bar’,如果在此步骤不进行头文件定义,在GATK后续分析中还是需要重新增加头文件。

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:定义头文件。同single end。

-n int:每对reads输出到结果中的最多比对数。

4、其他

(1)

bwa mem ref.fa reads.fq > aln-se.sam 单端测序

bwa mem ref.fa read1.fq read2.fq > aln-pe.sam 双端测序

(2)

bwa aln ref.fa short_read.fq > aln_sa.sai

bwa samse ref.fa aln_sa.sai short_read.fq > aln-se.sam

bwa sampe ref.fa aln_sa1.sai aln_sa2.sai read1.fq read2.fq > aln-pe.sam

(3)

bwa bwasw ref.fa long_read.fq > aln.sam

二、sam文件格式说明

1、

XT:A:U/R     Type:Unique/Repeat/N/Mate-sw    # U指第五列比对值>0;R指第五列比对值==0

参考文献:

1、《GATK使用方法详解(包含bwa使用)》http://www.tanboyu.com/gatk-bwa.html

2、《bwa英文操作手册》http://www.chinadmd.com/file/ecaeoaecwzvs3trpxpwtzows_1.html

bwa比对软件的使用以及其结果文件(sam)格式说明的更多相关文章

  1. 软件測试系统文章(文件夹&链接在此)

    前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...

  2. Atom 编辑器安装 linter-eslint 插件,并配置使其支持 vue 文件中的 js 格式校验

    安装方式有如下几种. 1.最常用的安装方式. # 进入atom插件文件夹 cd ~/.atom/packages/ # git clone 插件源文件 git clone https://github ...

  3. 重构qDebug()<<,使log输出到文件

    重构qDebug()<<,使log输出到文件 #include <QProcessEnvironment> #include <QDateTime> #includ ...

  4. rabbitmq trace 日志的使用以及其疑惑之处

    RabbitMQ 默认日志里只有类似客户端"accpet/close"等信息,对于有异常或者跟踪消息内部结构就比较麻烦了. 不过MQ有个rabbitmq_tracing插件,安装该 ...

  5. css3 transfrom使用以及其martix(矩阵)属性与其它属性的关系

    写法 其属性martix与skew .scale .translate之间的关系   兼容性 :       IE9+ : -ms-transform :  IE9只支持2D转换       fire ...

  6. !!!易控INSPEC组态软件开发小结——-一次工程文件损坏和处理经过

    从加入红橡开始熟悉和使用易控(INSPEC)组态软件,值得赞扬的是INSPEC的开放性和对C#语言的支持,除此之外,便也没有感觉它与其他组态软件有太多优势,有人说INSPEC软件授权比国内其他同类的组 ...

  7. mysql 备份软件 Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别

    今天在操作 innobackupex 的时候,执行 change master to 的时候发现  xtrabackup_binlog_pos_innodb   xtrabackup_binlog_i ...

  8. 使用安捷伦波形编辑软件产生GK101 任意波数据文件的方法(支持手绘)

    软件安装包下载地址: 链接: http://pan.baidu.com/s/1bn8Lmhx 密码: v5xz 一.安捷伦IO套件安装 1.将压缩包解压,首先双击IOLibSuite_16_3_179 ...

  9. win7 摄像头驱动软件找不到,只有sys文件

    有的驱动只有sys文件,但是仍然可以在qq视频等用,只是找不到amcap.exe等可执行文件, 因为没有摄像头软件,下载一个安装上即可

随机推荐

  1. [Beta]the Agiles Scrum Meeting 6

    会议时间:2020.5.20 21:00 1.每个人的工作 今天已完成的工作 成员 已完成的工作 issue yjy 帮助成员解决配置环境问题 tq 增加功能:添加多个评测机 评测部分增加更多评测指标 ...

  2. 【Golang详解】go语言中并发安全和锁

    go语言中并发安全和锁 首先可以先看看这篇文章,对锁有些了解 [锁]详解区分 互斥锁.⾃旋锁.读写锁.乐观锁.悲观锁 Mutex-互斥锁 Mutex 的实现主要借助了 CAS 指令 + 自旋 + 信号 ...

  3. DMA实现采样数据的直接搬运存储

    尝试了下STM32的ADC采样,并利用DMA实现采样数据的直接搬运存储,这样就不用CPU去参与操作了. 找了不少例子参考,ADC和DMA的设置了解了个大概,并直接利用开发板来做一些实验来验证相关的操作 ...

  4. configure: error: invalid variable name: `'

    今天在交叉编译一个编解码库的时候,出现一个莫名其妙的报错,一直找不到原因,后来无意中删除了一个空格,才发现就是这个空格造成的错误. ./configure --host=arm-linux LDFLA ...

  5. 自定义容器tomcat应用

    看不懂可以先去看:https://www.cnblogs.com/leihongnu/p/14506704.html 1.将103服务器上的mytomcat镜像打包为mytomcat.gz(花时间比较 ...

  6. 匿名函数托管器 spring-boot-func-starter

    spring-boot-func-starter spring-boot-func-starter 介绍 项目地址: https://gitee.com/yiur/spring-boot-func-s ...

  7. 【不费脑筋系列】发布个人的代码包到Nuget服务器上,并通过VS引用进行使用的方法

      打打酱油,写点不需要费脑筋的博客先压压惊. 下面讲个关于个人如何开发nuget包,并部署到nuget服务器上的例子.为了保证.net framework和 .net core都可以访问到我的包,我 ...

  8. requests的get请求基本使用

    官方文档 https://docs.python-requests.org/zh_CN/latest/   快速上手 https://docs.python-requests.org/zh_CN/la ...

  9. 【Python】300行代码搞定HTML模板渲染

    一.前言 模板语言由HTML代码和逻辑控制代码组成,此处@PHP.通过模板语言可以快速的生成预想的HTML页面.应该算是后端渲染不可缺少的组成部分. 二.功能介绍 通过使用学习tornado.bott ...

  10. [atAGC048F]01 Record

    先将这个序列翻转,贪心找到最长的'101010--'的形式的子序列并删除,重复此过程并记这些字符串长度依次为$l_{1},l_{2},...,l_{n}$,若最终还有字符剩余则一定无解 假设$S$中元 ...