下载

安装tar -jxf samtools-1.9.tar.bz2cd samtools-1.9/makeecho 'export PATH=/home/li.han/Softwares/samtools-1.9:$PATH' >> ~/.bashrc

用法

faidx

功能:提取fasta的长度信息

用法:samtools asidx [[...]]#生成一个名为ref.fa.fai的长度信息文件samtools faidx ref.fa

view

功能:将sam文件转换成bam文件;

对bam文件进行各种操作,比如数据的排序(不属于本命令的功能)和提取(这些操作是对bam文件进行的,因而当输入为sam文件的时候,不能进行该操作);

将排序或提取得到的数据输出为bam或sam(默认的)格式。

bam文件优点:bam文件为二进制文件,占用的磁盘空间比sam文本文件小;利用bam二进制文件的运算速度快。

用法:samtools view [options] || [region ...]

参数:

-b输出BAM格式的文件

-f int获得mapped过滤设置,0为未设置

-F int获得unmapped过滤设置,0为未设置。

数字4代表该序列没有比对到参考序列上

数字8代表该序列的mate序列没有比对到参考序列上

-h默认输出的 sam 格式文件不带 header,该参数设定输出sam文件时带 header 信息

-H只打印header部分(no alignments)

-o FILE设置输出文件名

-q int最小的比对质量值 [0]

-S若是输入是 SAM 文件(默认输入是 BAM 文件),则最好加该参数,否则有时候会报错。

-t FILE使用一个list文件来作为header的输入,一个制表分隔符的文件,对ref.fa使用命令“samtools faidx ”后,获得索引文件ref.fa.fai,使用此索引文件即可

-T FILE使用序列fasta文件作为header的输入

-u FILE输出非压缩的BAM,该参数的使用需要有-b参数,能节约时间,但是需要更多磁盘空间。

-@ INT设置线程数

示例:#bam转samsamtools view -h in.bam > out.sam#sam转bamsamtools view -bS in.sam -t ref.fa.fai > out.bam#输出没有比对上的read:samtools view -f 0x4 in.bam > out.sam#提取比对到参考序列上的比对结果samtools view -bF 4 abc.bam > abc.F.bam#提取paired reads中两条reads都比对到参考序列上的比对结果,只需要把两个4+8的值12作为过滤参数即可samtools view -bF 12 abc.bam > abc.F12.bam#提取没有比对到参考序列上的比对结果samtools view -bf 4 abc.bam > abc.f.bam#提取bam文件中比对到caffold1上的比对结果,并保存到sam文件格式samtools view abc.bam scaffold1 > scaffold1.sam#提取scaffold1上能比对到30k到100k区域的比对结果samtools view abc.bam scaffold1:30000-100000 > scaffold1_30k-100k.sam#根据fasta文件,将 header 加入到 sam 或 bam 文件中samtools view -T genome.fasta -h scaffold1.sam > scaffold1.h.sam

sort

功能:对bam文件进行排序,不能对sam文件进行排序,默认按染色体名称和位置大小顺序

用法:samtools sort [options]

参数:

-l INT小写L,设置输出文件压缩等级。0-9,0是不压缩,9是压缩等级最高。不设置此参数时,使用默认压缩等级

-m INT设置每个线程运行时的内存大小,可以使用K、M和G表示内存大小

-n按read名称排序

-o FILE将结果输出到指定文件而不是标准输出

-O FORMAT设置最终输出的文件格式,可以是bam,sam或者cram,默认为bam

-T PREFIX设置临时文件的前缀

-@ INT设置排序和压缩是的线程数量,默认是单线程

示例:#输出为out.bamsamtools sort -l 9 -m 90M -T sorted -@ 2 in.bam out    #老用法或samtools sort -l 9 -m 90M -T sorted -@ 2 -o out.bam in.bam

index

功能:对已经sort的bam文件进行建库,生成.bai文件

必须对bam文件进行默认情况下的排序后,才能进行index。否则会报错。建立索引后将产生后缀为.bai的文件,用于快速的随机处理。很多情况下需要有bai文件的存在,特别是显示序列比对情况下。

用法:samtools index [out.index]

参数:

-b创建bai索引文件,未指定输出格式时,此参数为默认参数

-c创建csi索引文件,默认情况下,索引的最小间隔值为2^14,与bai格式一致

-m INT创建csi索引文件,最小间隔值2^INT

-@ INT设置线程数

示例:#输出文件为in.bam.baisamtools index in.bam

tview

功能:将已经sort的bam文件比对结果形象化和可视化,使用不同的颜色区分比对质量和碱基质量

用法:samtools tview [ref.fasta]

示例:samtools tview in.bam ref.fa

说明:运行上述命令,进入可视化界面后,按“?”查看帮助信息;按“g”,输入:chr:position即可去到相应的位置

flagstat

功能:对bam文件统计比对情况

用法:samtools flagstat

示例:samtools flagstat in.bam

merge

功能:合并多个不同的bam文件

用法:samtools merge [-nr] [-h inh.sam] [...]

参数:

-f强制覆盖已经存在的bam

-h file把file作为输出bam的header

-l小写L,压缩等级1

-n合并后的bam按read名称排序

-r加上RG标签(inferred from file names)

-R str在特殊区域str内合并

-u输出非压缩的bam

示例:samtools merge -h in.header out.bam in1.bam in2.bam ...

请问对于同一份BAM文件使用samtools depth和用samtools mpileup跑出来的位点的depth有何差异?

你会注意到这个差异,应该是由于你所用的是Pair-End(PE)测序的数据吧,如果是SE数据,差异其实很小。对于PE测序数据主要有两个地方的差异:

(1)第一个差异,对于PE数据,mpileup默认会把不正常比对的PE Read(比如read1和read2的比对位置彼此间的距离超过插入片段长度的波动范围或者read1与read2有一条没有比对上)先排除掉再做计算,但samtools depth则不会,depth默认不做任何过滤,只要比上就算。这也是我们会看到samtools depth计算的覆盖深度往往都高于mpileup的最主要原因。如果要让两者一致,可以在mpileup中加上 -A 参数,强制留下不正常的PE比对结果即可;

(2)它们之间的第二个差异是,在默认情况下,mpileup还会过滤掉测序质量值低于13的碱基,depth默认不过滤。

虽然调整一下参数就可以保证两者一样。但我并不建议这么做,虽说mpileup这里得到的是高质量的覆盖深度,但是说到底它和samtools depth的目的还是不同的。

此外,如果要更好地计算比对数据的覆盖深度和覆盖度的话,samtools depth虽然能够胜任,但是功能还是比较单一,而且由于每个位点都会输出,导致结果文件总是很巨大,我还是比较推荐使用bedtools2来完成,如下图,它的功能和输出形式要更加丰富。

bedtools2计算基因组覆盖度的不同模式

linux 查看samtools版本,samtools 1.9相关推荐

  1. linux 查看samtools版本,Samtools版本更新

    卸载旧版本samtools 1. 查看samtools版本 $ samtools Program: samtools (Tools for alignments in the SAM format) ...

  2. Linux查看centos版本 - 命令篇

    文章目录 Linux查看centos版本 - 命令篇 xshell命令: 执行后,截图示下: Linux查看centos版本 - 命令篇 xshell命令: 命令:cat /etc/redhat-re ...

  3. 【Linux查看tomcat版本】

    [Linux查看tomcat版本] 一.不同的tomcat查看版本可能不同,例如有的直接执行./version.sh就可以,其他就没有:一般来说,在tomcat启动时就会有版本信息,如: 信息: In ...

  4. 【转载】Linux查看PCIe版本及速率【方法】PCIE的X4X8X16 查看 数量 怎么看

    Linux查看PCIe版本及速率   PCIE有四种不同的规格,通过下图来了解下PCIE的其中2种规格   查看主板上的PCI插槽 # dmidecode | grep --color "P ...

  5. linux下查看bios命令,Linux查看BIOS版本/信息详情

    Linux查看BIOS版本/信息详情 命令如下: #dmidecode -t 0 例子: root@DS:~# dmidecode -t 0 # dmidecode 2.12 # SMBIOS ent ...

  6. linux查看java版本,以及java home的位置

    linux查看java版本,以及java home的位置 1.确定是否安装jdk java -version 2.查找java home的位置: vi  /etc/profile

  7. linux 查看内核版本

    linux 查看内核版本两种方法 方法一 cat /proc/version 方法二 uname -a

  8. Linux查看操作系统版本的几种方式

    Linux查看操作系统版本的几种方式: 1.uname -a 2.lsb_release -a 3.cat /etc/issue 4.cat /proc/version 5.cat /etc/redh ...

  9. linux查看当前ssh版本,Linux查看ssh版本的方法

    ssh是系统的安全外壳协议,已发展了好几个版本,那么你知道你使用的ssh是哪个版本吗?下面小编就教你查看Linux系统中ssh版本的方法,感兴趣的朋友不妨来了解下. 安全Shell(SSH)通过加密的 ...

  10. linux查看内核版本、系统版本、系统位数(32or64)

    为什么80%的码农都做不了架构师?>>>    1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version    Linux versi ...

最新文章

  1. formdata传递参数_前端利用formData格式进行数据上传,前端formData 传值 和 json传值的区别?...
  2. 用公网访问本地Nginx方法
  3. linux识别UDF文件系统吗,Linux Kernel UDF文件系统本地缓冲区溢出漏洞
  4. Class.forName和ClassLoader
  5. 【数据结构与算法】图的邻接表表示及其BFS、DFS的Java实现
  6. 写一个sql实现以下查询结果_SQL复杂查询—知识点梳理(四)
  7. 移位溢注:告别依靠人品的偏移注入
  8. chart控件支持鼠标滚轮放大缩小_强大的鼠标侧键功能设置工具:X-Mouse Button Control...
  9. 如何在Mac上更改“终端”窗口光标?
  10. Qimage Ultimate 2021(图片批量打印工具)官方正式版V2021.104 | 终极批量图片打印软件
  11. 小米4 第三方re奇兔_小米手机刷机教程整合版
  12. java类 英文文献_java英文参考文献
  13. matlab调用第三方api_matlab与外部程序接口调用心得(原创)
  14. Field属性(域)
  15. win7如何调整计算机c盘,win7系统让c盘和d盘合并的两种方法
  16. 深入理解Object.entries()
  17. 如何在word中打带矩形的√
  18. 华硕主机退出BIOS界面
  19. Efficient Parameter-free Clustering Using First Neighbor Relations
  20. 记录1——stm32f411CEU6之点亮一盏LED灯+按键控制LED灯

热门文章

  1. 动态lacp和静态lacp区别_lacp静态与动态区别
  2. 戴森创“新”公开课再度开讲,持续助力打造洁净居家环境 以升级科技守护家庭健康
  3. torch.hub.load(‘pytorch/vision‘, ‘deeplabv3_resnet101‘, pretrained=True)运行方法
  4. 主题模型LDA基础及公式推导
  5. 让网页成为蜘蛛网-SEO优化总结
  6. 解决RGB转Lab问题,lab值不对应的问题
  7. pythonapi接口开发教程_Python-接口开发入门解析
  8. 微信小程序之from表单提交数据到PHP后台
  9. 嵌入式 Linux 2.6.31内核优化指南小结
  10. 迪拜的“区块链野心”