samtools软件的使用
1)samtools简介
--------------------------------------------------------------------------
背景:前面我们讲过sam/bam格式,sam文件虽然是可读的文本文件形式,但是通常是非常大,因此一般会对其压缩来节省磁盘空间,且对于很多软件来说,相比于对sam文件,对bam文件进行处理更加有效。SAMtools 是一款优秀的用以解析、处理sam/bam格式文件的一种软件包工具。其详细的文档可以在其官网里面找到。它主要包含以下功能:
1、格式转换(convert from other alignment formats)
2、排序 ,合并(sort and merge alignments)
3、去除PCR重复( remove PCR duplicate)
4、call SNP和indels( call SNPs and short indel variants)
5、数据提取(data extraction)
6、可视化(show alignments in a text-based viewer)
2)用法和命令
----------------------------------------------------------------------
像许多linux命令一样,SAMtool命令遵循流模型,允许将多个命令组合到数据处理管道中。标准流(stdin,stdout和stderr), 发送到stdout的数据默认打印到屏幕上,但很容易使用普通的Unix重定向器(>和>>)重定向到另一个文件,或通过管道(|)重定向到另一个命令。
SAMtools 命令的基本用法是: samtools <command> [options]
2.1) view
view命令用来过滤SAM或BAM格式的数据。输入通常是指定为参数的sam或bam文件,但可以是来自任何其他命令的sam或bam数据。 可选功能包括查看原始文件内容、BAM和SAM格式之间进行转换、将数据子集提取到新文件中, 提取读取的顺序得以保留。
-- Viewing
flags explain BAM flags
tview text alignment viewer
view SAM<->BAM<->CRAM conversion
depad convert padded BAM to unpadded BAM
示例:
2.1.1) 将bam文件转化为sam文件,h 参数表示header
samtools view -h RNA-seq.bam >RNA-seq.sam
2.1.2) 将sam文件转化为bam文件
samtools view -bS RNA-seq.sam > sample.bam
2.1.3) 提取某个区间的比对结果(需要索引文件)
samtools view -hb RNA-seq.bam 'chr17:40465680-40465850' >out.bam
2.14)tview命令启动基于ascii的交互式查看器,可用于可视化读取与参考基因组的指定区域。
Usage: samtools tview <aln.bam> [ref.fasta]
2.15)提取比对上的区域
samtools view -h -F 4 -b RNA-seq.bam > aln_only_mapped.bam
2.2)index
index命令创建一个新的索引文件,生成的* .sam.sai或* .bam.bai文件,允许快速查找(已排序)SAM或BAM中的数据。
-- Indexing
dict create a sequence dictionary file
faidx index/extract FASTA
fqidx index/extract FASTQ
index index alignment
示例:
2.2.1)samtools faidx longreads.fa #对fasta建立索引,会生成.fai文件
2.2.2)samtools faidx longreads.fa r1 >r1.fas #建立索引后就可以提取指定的序列,这里提r1
2.2.3)samtools fqidx longreads.fq #对fastq建立索引
2.2.4)samtools index RNA-seq.bam #对比对文件建立索引
2.3)格式转换
-- File operations
collate shuffle and group alignments by name
cat concatenate BAMs
merge merge sorted alignments
mpileup multi-way pileup
sort sort alignment file
split splits a file by read group
quickcheck quickly check if SAM/BAM/CRAM file appears intact
fastq converts a BAM to a FASTQ
fasta converts a BAM to a FASTA
示例
2.3.1)samtools sort -n RNA-seq.bam >RNA-seq_sorted_out.bam #将bam文件进行排序
2.3.2)samtools fastq RNA-seq.bam >RNA-seq.fq #将bam 文件转化为fastq
2.3.3)samtools fasta RNA-seq.bam >RNA-seq.fa #将bam 文件转化为fasta
2.4)编辑
-- Editing
calmd recalculate MD/NM tags and '=' bases
fixmate fix mate information
reheader replace BAM header
targetcut cut fosmid regions (for fosmid pool only)
addreplacerg adds or replaces RG tags
markdup mark duplicates
示例:
2.4.1)samtools markdup RNA-seq.bam RNA-seq. markdup.bam #进行duplicates标记
2.6)统计
-- Statistics
bedcov read depth per BED region
depth compute the depth
flagstat simple stats
idxstats BAM index stats
phase phase heterozygotes
stats generate stats (former bamcheck)
示例:
2.6.1)samtools depth RNA-seq.bam >depth.out #统计depth信息
2.6.2)samtools flagstat RNA-seq.bam >flagstat.out # 统计大致信息
2.6.1)samtools idxstats RNA-seq.bam >out # 统计index信息
3)参考资源
----------------------------------------------------------------------
1)https://en.wikipedia.org/wiki/SAMtools
2)The Sequence Alignment/Map format and SAMtools
3)https://davetang.org/wiki/tiki-index.php?page=SAMTools
4)https://github.com/davetang/learning_bam_file
samtools软件的使用的更多相关文章
- samtools软件作用
samtools的说明文档:http://samtools.sourceforge.net/samtools.shtml samtools是一个用于操作sam和bam文件的工具合集,包含有许多命令.以 ...
- SAM格式 及 比对工具之 samtools 使用方法
参考资料: SAMtools(官网) SAM Spec v1.4 (SAM格式 说明书) (重要) samtools-1.3.1 使用手册 (SAMtools软件说明书) samtools常用命令详解 ...
- GATK--使用转载
http://blog.sciencenet.cn/blog-1469385-819498.html 文章目录 一.准备工作 二.流程概览 三.流程 首先说说GATK可以做什么.它主要用于从seque ...
- BAM/SAM格式
本质上就是二进制压缩的SAM文件,大部分生物信息学流程都需要这个格式,为了节省存储空间以及方便索引. # BiocInstaller::biocLite('Rsamtools') library(Rs ...
- Python通过调用windows命令行处理sam文件
Python通过调用windows命令行处理sam文件 以samtools软件为例 一.下载或者索取得到windows版本的samtools软件,解压后如下: 进入文件内部,有如下几个文件: 二.将s ...
- 解读sam格式文件
1,SAM文件格式介绍 SAM(The Sequence Alignment / Map format)格式,即序列比对文件的格式,详细介绍文档:http://samtools.github.io/h ...
- 安装生物信息学软件-Samtools
装完Bowtie2,官方文档给出的栗子说可以玩一玩samtools,所以我入个坑 参考这篇http://m.010lm.com/roll/2016/0620/2343389.html Step 1: ...
- samtools常用命令详解
samtools的说明文档:http://samtools.sourceforge.net/samtools.shtmlsamtools是一个用于操作sam和bam文件的工具合集.包含有许多命令.以下 ...
- 安装生物信息学软件-bowtie2
好吧,这是本周(2016.10.21-28)的学习任务之一:安装bowtie2并学习其使用方法&参数设置 所以,啃文档咯,官方文档Version 2.2.9 http://bowtie-bio ...
随机推荐
- PHP图像处理
1.创建画布: $img=imagescreatetruecolor(200,200); 创建颜色并填充 $red=imagecolorallocate($img,255,0,0); //创建颜色 ...
- Mono.Cecil 修改目标.NET的IL代码保存时报异常的处理。
使用Mono.Cecil对目标.NET的DLL程序进行IL修改后保存时报“Failed to resolve assembly: ' xxxxxx, version=xxxxx,Culture=xxx ...
- BASIC-20_蓝桥杯_数的读法
示例代码: #include <stdio.h>#include <string.h>#define N 10 char num[N] = {0} ; void yuyin(i ...
- BASIC-3_蓝桥杯_字母图形
示例代码: #include <stdio.h>#define N 26 int main(void){ int i = 0 , j = 0 , k = 0; int n = 0 , m ...
- [转]判断是否 Win7 且需要管理员权限
public static void Load() { if (NeedAdmin()) { new Form().ShowDialog(); Environment.Exit(); } } publ ...
- python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures
1.用例执行顺序 unittest默认会按照ascii码的顺序,依次执行.类名--方法名排序,使用discover也是默认排序.如果不想使用默认排序,就使用testsuite测试集的方式. impor ...
- mysql存储过程中遍历数组字符串的两种方式
第一种:多次使用substring_index()的方法 DELIMITER $$ DROP PROCEDURE IF EXISTS `array`$$ CREATE PROCEDURE `arra ...
- echo off
就是说关闭回显 @echo off并不是DOS程序中的,而是DOS批处理中的.当年的DOS,所有操作都用键盘命令来完成,当你每次都要输入相同的命令时,可以把这么多命令存为一个批处理,从此以后,只要运行 ...
- Spark 编程模型(上)
Spark的编程模型 核心概念(注意对比MR里的概念来学习) Spark Application的组成 Spark Application基本概念 Spark Application编程模型 回顾sc ...
- AVL树Python实现
# coding=utf-8 # AVL树Python实现 def get_height(node): return node.height if node else -1 def tree_mini ...