一、BWA
1、介绍
简介:用于建立 index;基于 BWT 算法,将 reads 比对到参考基因组;最新版本 bwa-mem2,Intel实验室对计算效率进行了优化。
详情:baw是一款将序列比对到参考基因组上的软件,用于高通量测序数据处理,包含了BWA-backtrack、BWA-SW、BWA-MEM三种算法:
1、BWA-backtrack:适合比对长度不超过100bp的序列;
2、BWA-SW和BWA-MEM适合于长度为70-1M bp的序列;其中BWA-MEM是最新开发的算法,对于高质量的测序数据,其比对的速度更快,精确度更高,对于70-100bp的reads, BWA-MEM算法在比对长度为70-100bp的序列时,效果比BWA-backtrack 算法的效果更好;
总而言之,通常情况下,选择BWA-MEM算法就好。
更多介绍请参考:https://bio-bwa.sourceforge.net/bwa.shtml
2、下载
3、安装
打开终端,找到压缩文件所在位置;
# 安装
tar -jxvf bwa-*.tar.bz2
# 编译
cd bwa-0.7.17 # 要先进入对应的目录中
make bwa
# 添加环境变量
vim ~/.bash_profile # 编辑环境变量文件
export PATH=/Users/jolie/Desktop/工作/99-安装包/生信/bwa-0.7.17:$PATH # 编辑环境变量文件内容,文件所在路径要更新为你自己的地址哦!
# 使环境变量生效
source ~/.bashrc
# 验证是否安装成功
cd bwa-0.7.17 #如果添加了环境变量,在任意位置都可以执行,如果没有添加环境变量,则只能在对应目录下执行
bwa
二、Samtools
1、介绍
samtools是一个用于操作sam和bam文件的工具合集,包含有许多命令,同样用于用于高通量测序数据处理。
更多介绍请参考 http://samtools.sourceforge.net/samtools.shtml
2、下载
3、安装
打开终端,找到压缩文件所在位置;
# 安装
$ tar -jxvf samtools-*.tar.bz2
# 编译
cd samtools-1.17 # 要先进入对应的目录中
make
# 添加环境变量
vim ~/.bash_profile # 编辑环境变量文件
export PATH=/Users/jolie/Desktop/工作/99-安装包/生信/samtools-1.17:$PATH # 文件所在路径要更新为你自己的地址哦
# 使环境变量生效
source ~/.bashrc
# 验证是否安装成功
cd samtools-1.17 #如果添加了环境变量,在任意位置都可以执行,如果没有添加环境变量,则只能在对应目录下执行
samtools
4、使用
4.1、 view
1)、主要功能
将sam文件转换成bam文件;然后对bam文件进行各种操作。比如数据的排序(不属于本命令的功能)和提取(这些操作 是对bam文件进行的,因而当输入为sam文件的时候,不能进行该操作);最后将排序或提取得到的数据输出为bam或sam(默认的)格式。
2)、bam文件优点
bam文件为二进制文件,占用的磁盘空间比sam文本文件小;利用bam二进制文件的运算速度快。
3)、相关参数
- VIEW
view命令中,对sam文件头部的输入(-t或-T)和输出(-h)是单独的一些参数来控制的。
Usage: samtools view [options] <in.bam>|<in.sam> [region1 [...]]
# 默认情况下不加 region,则是输出所有的 region.
Options: -b output BAM
默认下输出是 SAM 格式文件,该参数设置输出 BAM 格式
-h print header for the SAM output
默认下输出的 sam 格式文件不带 header,该参数设定输出sam文件时带 header 信息
-H print header only (no alignments)
-S input is SAM
默认下输入是 BAM 文件,若是输入是 SAM 文件,则最好加该参数,否则有时候会报错。
-u uncompressed BAM output (force -b)
该参数的使用需要有-b参数,能节约时间,但是需要更多磁盘空间。
-c Instead of printing the alignments, only count them and print the
total number. All filter options, such as ‘-f’, ‘-F’ and ‘-q’ ,
are taken into account.
-1 fast compression (force -b)
-x output FLAG in HEX (samtools-C specific)
-X output FLAG in string (samtools-C specific)
-c print only the count of matching records
-L FILE output alignments overlapping the input BED FILE [null]
-t FILE list of reference names and lengths (force -S) [null]
使用一个list文件来作为header的输入
-T FILE reference sequence file (force -S) [null]
使用序列fasta文件作为header的输入
-o FILE output file name [stdout]
-R FILE list of read groups to be outputted [null]
-f INT required flag, 0 for unset [0]
-F INT filtering flag, 0 for unset [0]
Skip alignments with bits present in INT [0]
数字4代表该序列没有比对到参考序列上
数字8代表该序列的mate序列没有比对到参考序列上
-q INT minimum mapping quality [0]
-l STR only output reads in library STR [null]
-r STR only output reads in read group STR [null]
-s FLOAT fraction of templates to subsample; integer part as seed [-1]
-? longer help
4)、使用举例
# 将sam文件转换成bam文件
$ samtools view -bS abc.sam > abc.bam
$ samtools view -b -S abc.sam -o abc.bam
# 提取比对到参考序列上的比对结果
$ samtools view -bF 4 abc.bam > abc.F.bam
# 提取paired reads中两条reads都比对到参考序列上的比对结果,只需要把两个4+8的值12作为过滤参数即可
$ samtools view -bF 12 abc.bam >