bwa比对软件的使用以及其结果文件(sam)格式说明
一、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)格式说明的更多相关文章
- 软件測试系统文章(文件夹&链接在此)
前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...
- Atom 编辑器安装 linter-eslint 插件,并配置使其支持 vue 文件中的 js 格式校验
安装方式有如下几种. 1.最常用的安装方式. # 进入atom插件文件夹 cd ~/.atom/packages/ # git clone 插件源文件 git clone https://github ...
- 重构qDebug()<<,使log输出到文件
重构qDebug()<<,使log输出到文件 #include <QProcessEnvironment> #include <QDateTime> #includ ...
- rabbitmq trace 日志的使用以及其疑惑之处
RabbitMQ 默认日志里只有类似客户端"accpet/close"等信息,对于有异常或者跟踪消息内部结构就比较麻烦了. 不过MQ有个rabbitmq_tracing插件,安装该 ...
- css3 transfrom使用以及其martix(矩阵)属性与其它属性的关系
写法 其属性martix与skew .scale .translate之间的关系 兼容性 : IE9+ : -ms-transform : IE9只支持2D转换 fire ...
- !!!易控INSPEC组态软件开发小结——-一次工程文件损坏和处理经过
从加入红橡开始熟悉和使用易控(INSPEC)组态软件,值得赞扬的是INSPEC的开放性和对C#语言的支持,除此之外,便也没有感觉它与其他组态软件有太多优势,有人说INSPEC软件授权比国内其他同类的组 ...
- mysql 备份软件 Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别
今天在操作 innobackupex 的时候,执行 change master to 的时候发现 xtrabackup_binlog_pos_innodb xtrabackup_binlog_i ...
- 使用安捷伦波形编辑软件产生GK101 任意波数据文件的方法(支持手绘)
软件安装包下载地址: 链接: http://pan.baidu.com/s/1bn8Lmhx 密码: v5xz 一.安捷伦IO套件安装 1.将压缩包解压,首先双击IOLibSuite_16_3_179 ...
- win7 摄像头驱动软件找不到,只有sys文件
有的驱动只有sys文件,但是仍然可以在qq视频等用,只是找不到amcap.exe等可执行文件, 因为没有摄像头软件,下载一个安装上即可
随机推荐
- FastAPI 学习之路(二十八)使用密码和 Bearer 的简单 OAuth2
OAuth2 规定在使用(我们打算用的)「password 流程」时,客户端/用户必须将 username 和 password 字段作为表单数据发送.我们看下在我们应该去如何实现呢. 我们写一个登录 ...
- 认真讲说static关键字
static 关键字主要有以下四种使用场景 修饰成员变量和成员方法 静态代码块 修饰类(只能修饰内部类) 静态导包(用来导入类中的静态资源,1.5之后的新特性) 修饰成员变量和成员方法(常用) 被 s ...
- linux exit 和 _exit的区别
今天仔细看了一下exit和_exit这两个函数的区别,实际上exit也是调用了_exit退出函数的,只不过在调用_exit之前,exit还进行了一些多余的工作,也正是因为这样,相比起来exit就没有那 ...
- P1231 教辅的组成(最大流)
P1231 教辅的组成 这个题一看便知是网络流量,(三分图??滑稽..) 就一个小细节,如果我们仅仅将所有的点分成三部分跑网络流的话会有点小问题.. 因为这可能导致一本书被重复利用,就是有两条流经过同 ...
- Java 中 List 分片的 5 种方法!
前些天在实现 MyBatis 批量插入时遇到了一个问题,当批量插入的数据量比较大时,会导致程序执行报错,如下图所示: 原因是 MySQL 只能执行一定长度的 SQL 语句,但当插入的数据量较多时,会生 ...
- SpringBoot整合reids之JSON序列化文件夹操作
前言 最近在开发项目,用到了redis作为缓存,来提高系统访问速度和缓解系统压力,提高用户响应和访问速度,这里遇到几个问题做一下总结和整理 快速配置 SpringBoot整合redis有专门的场景启动 ...
- Typecho 反序列化漏洞 分析及复现
0x00 漏洞简介 CVE-2018-18753 漏洞概述: typecho 是一款非常简洁快速博客 CMS,前台 install.php 文件存在反序列化漏洞,通过构造的反序列化字符串注入可以执行任 ...
- 升级JDK8的坎坷之路
为更好的适应JAVA技术的发展,使用更先进及前沿的技术.所以推出将我们现在使用的JDK1.6(1.7)及tomcat6(7)升级至JDK1.8及tomcat8,使我们的系统获得更好的性能,更好适应未来 ...
- Java基础复习之数组
Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...
- java中将double保留两位小数,将double保留两位小数并转换成String
将Double类型的数据保留2位小数: Double a = 3.566; BigDecimal bd = new BigDecimal(a); Double d = bd.setScale(2, B ...