由于二代测序中普遍采取短读长(50~150bp)的测序策略,在后续分析的流程中需要使用比对软件将reads片段匹配到参考基因组中从而产生比对/匹配文件,进而用于后续流程的分析。

Samtools是一个用来处理SAM/BAM(SAM的二进制格式,用于压缩空间)格式的比对文件的工具,它能够输入和输出SAM(sequence alignment/map:序列比对)格式的文件,对其进行排序、合并、建立索引等处理。Samtools于2009年由Li Heng 发表在期刊BIOINFORMATICS上,被广泛地应用并整合在二代测序分析流程中,至今已超过2w+的引用率。

doi:10.1093/bioinformatics/btp352

一.安装

conda install samtools

安装成功后,在终端输入 samtools ,出现如下界面后,表示安装成

分为5类命令块:Indexing, Editing, File operations, Statistics, Viewing,

二.功能与命令(常用)

(1)faidx :index/extract FASTA

本命令对参考基因组(如hg19等)的fasta文件建立索引文件, 生成的文件以.fai后缀结尾。

$ samtools faidx ref.fasta

(2)sort: sort alignment file

本命令对bam文件中的序列进行排序,默认下是按序列在fasta文件中的顺序(即header)和序列从左往右的位点排序。

$ samtools sort [-T out.prefix][-@ threads][-m maxMem][-o out.sorted.bam][in.bam]
  • -TPREFIX:把临时文件写到 PREFIX.bam. 里面。这个参数是必须的。
  • -@INT:设置排序和压缩的线程数,默认是单线程。
  • -mINT:设置每个线程的最大内存,以 bytes 为单位设定或者添加一个 K, M, 或 G 后缀。
  • -oFILE: 将最后排好序后输出到 FILE 中,而不是标准输出。

(3)merge: merge sorted alignments

本命令将多个排好序的bam比对文件进行合并,产生一个排好序的bam输出文件(合并后的文件不需要再进行sort),这个文件含有所有的输入记录,并且保留了他们原来的顺序。

$ samtools merge [out.bam][in1.bam][in2.bam][in3.bam]

(4)index:index alignment

本命令对bam文件建立索引并产生后缀为.bai的文件,用于快速的随机处理。很多后续分析的过程需要有bai文件的存在,特别是显示序列比对情况下,比如samtool的tview命令等。

#必须对bam文件进行默认情况下的排序后,才能进行index。否则会报错。
$ samtools index aln.sorted.bam

(5) view:SAM<->BAM<->CRAM conversion

  • 本命令将sam文件转换成bam文件;然后对bam文件进行各种操作,比如数据的排序和提取(这些操作是对bam文件进行的,不能对sam文件进行该操作);最后将排序或提取得到的数据输出为bam或sam格式。
  • bam文件优点:bam文件为二进制文件,占用的磁盘空间比sam文本文件小;利用bam二进制文件的运算速度快。
#将sam文件转换成bam文件(默认情况下不加 region,则是输出所有的 region)
$ samtools view -b abc.sam > abc.bam
$ samtools view -b abc.sam -o abc.bam
  • 关于此部分更详细的说明请阅读 Samtools中文使用手册。

(6)depth:compute the depth

本命令对bam文件中的每个碱基位点的测序深度进行统计,并输出到标准输出。

$ samtools depth [-r reg] [-q baseQthres] [-Q mapQthres] [-b in.bed] <in1.bam> [...]

(7)mpileup:multi-way pileup

本命令用于对bam文件进行处理,生成mpileup, VCF或BCF文件,再使用bcftools或varscan2进行SNP和Indel变异位点的检测(耗时较长,且灵敏度并不高,不建议使用)。

$ samtools mpileup -gf ref.fasta [-M capMapQ] [-Q minBaseQ] [-q minMapQ]<in1.bam> [...]=

(8) fastq/a :converts a BAM to a FASTQ/A

本命令将bam文件转换为fastq或fasta格式。

$ samtools fastq [options...] <in.bam>

Samtools安装与使用相关推荐

  1. samtools merge_【生信工具】Samtools 安装与使用 | “十年以后,工具难免沦为朋友”...

    1.Description | 简介 http://samtools.sourceforge.net/ http://samtools.sourceforge.net/ 由于二代测序中普遍采取短读长( ...

  2. Samtools安装及常用命令详解

    Samtools是一个用于操作sam和bam文件的工具合集.包含有许多命令.以下是常用命令的介绍 下载安装包: http://www.htslib.org/download/ 安装依赖: yum in ...

  3. SAMTOOLS安装

    安装Ubuntu 1.目录下创建账户密码2.从Github上获取samtools wegt https://github.com/samtools/samtools/releases/download ...

  4. Trimmomatic、bowtie2、samtools和bedtools安装过程全记录(已全部安装成功)

    目录 安装ubuntu 安装trimmomatic 安装bowtie 安装GCC 安装samtools 安装zlib2 继续安装samtools 安装liblzma-dev 继续安装samtools ...

  5. 基因课笔记3:从源代码安装samtools、fastqc的安装、环境变量和shell

    1.从源代码安装samtools 创建一个samtools安装目录 mkdir samtool 进入安装目录 cd samtool wget samtools的下载url tar -jxvf samt ...

  6. Hic-pro 的安装

    Hic-pro 的安装 目前处理Hi-c数据的工具主要是Hic-pro和juicer.juicer相对来说更好用一些,因为更加流程化一些.(具体使用方法见<HIC数据介绍及相关分析>)但鉴 ...

  7. breakdancer安装过程中报错信息解决方法——SV结构变异

    一.安装breakdancer 1:在安装breakdancer之前必须先安装以下几个包 yum安装以下包: yum -y install perl yum install perl-ExtUtils ...

  8. 比对软件|Samtools

    Samtools 是一组实用程序,用于操作 SAM(序列比对/映射).BAM 和 CRAM 格式的比对.它在格式之间进行转换,进行排序.合并和索引,并且可以快速检索任何区域中的读取.被广泛应用在分析流 ...

  9. gff3转mysql_五月 | 2013 | 陈连福的生信博客

    1. GBrowse的安装 GBrowse安装说明文档:http://gmod.org/wiki/GBrowse_2.0_Install_HOWTO GBrowse的安装很少有能顺利安装成功的.需要不 ...

最新文章

  1. “脑补”的科学依据:眼前的黑不是黑,靠得是你的大脑
  2. SSH Web工程环境搭建总结
  3. http协议的Request Payload 和 Form Data 的区别
  4. linux无法创建符号链接 权限不够_Linux 基本命令(看完就会系列)
  5. leetcode 101. 对称二叉树 递归解法 c语言
  6. elasticsearch2.3安装以及集群部署
  7. c# 串口SerialPort
  8. 实名羡慕,国内这些厂.NET薪资高的吓人!
  9. 【渝粤题库】陕西师范大学165209 组织职业生涯管理 作业(专升本)
  10. 【Elastischearch】Elastischearch bulk 请求源码
  11. 使用Cool Edit Pro 去除音频文件中的咝咝噪声
  12. SQL注入工具-----sqlmap
  13. 内存管理之页转换 virt_to_page
  14. 小程序12306服务器,微信小程序12306来了!史上最详细体验出炉!
  15. dup java_关于JVM字节码中dup指令的问题?
  16. Balsamiq 介绍
  17. 让你的工作更高效!快来看看如何使用内网穿透
  18. 打字速度单位WPM、KPM定义与计算方法
  19. 树莓派获取LAN ip地址并发送到微信
  20. linux安装ati工具,Ubuntu 12.10 安装ATI显卡驱动安装

热门文章

  1. c语言malloc函数用法_C语言内存模型!小本本记起来啊!
  2. SLAM|C语言实现对文件的读写
  3. SLAM++: SLAM at the Level of Objects
  4. 2021-07-30 自己垃圾场景数据集训练Bisenet网络
  5. Python+pandas计算数据相关系数(person、Kendall、spearman)
  6. Ubuntu14.04 python 2.7环境下安装Scrapy
  7. 【问题收录】[ubuntu]startx doesn't work
  8. java转置矩阵相乘_java实现矩阵的加-减-乘-转置运算
  9. python 文件路径_「按需学Python」 1. Glob库遍历路径/文件
  10. iMeta期刊顾问James M Tiedje当选中国科学院外籍院士