【直播】我的基因组 33:用samstat软件对sam文件做统计

在此之前,我不止一次强调过QC的重要性,对全基因组测序等以找variation为主的分析流程来说,不仅仅是对测序数据的QC,还有比对之后的sam/bam文件也需要QC,最后找出的variation文件也需要QC。在我们生信技能树的论坛上面有详细的说明,见:要充分了解你的测序数据--论QC的重要性 (http://www.biotrainee.com/thread-324-1-1.html) 。之前曾耗费了10讲来解析sam格式,就是基于我个人的知识背景来对比对结果进行QC,而事实上,有很多成熟的软件就可以完成全套流程,当然,所谓的全套也只是基于软件作者的知识背景。我这里讲挑出两个读者来信咨询的最多的软件来简单讲解一下吧!

samstat

这个软件对大的bam文件运行经常会报错,就是程序界最出名的segment fault,应该是内存不够。正好,我们把这个大的bam文件根据染色体拆分成了小的bam,可以批量运行一下samstat,对比对文件进行一些统计。我在博客里面写过这个软件的教程,请点击阅读原文查看,或者复制链接(http://www.bio-info-trainee.com/751.html )到浏览器查看SAMStat软件使用说明书。

这是一个C源码程序,所以安装的时候需要./configure,make,make install 三步曲即可,如果没有root权限就指定一个环境变量来编译这个源码,具体参照博客,如果报错自己学会解决!

用法非常简单,因为这个软件做得事情不多,也就是跟我们之前耗费了10讲来解析sam格式的比对文件差不多!

命令如下:

samstat P_jmzeng.final.REF_*bam

默认对每一个输入的bam文件,都是会输出一个网页版的统计QC报告的,上面的命令会把所有染色体的bam文件都输入,但事实上这个软件对某几条染色体还是有限制,可以换成是

ls P_jmzeng.final.REF_*bam |xargs samstat

来运行,避免某些染色体报错,后面的都不能运行了。

但事实上,这个代码仍然会因为某个染色体的bam文件太大而中断,不知道shell里面有没有try这个类似功能的函数。

我简单Google了一下,shell的确没有这个功能,但是有程序猿给出了模拟的解决方案,我测试了一下:

ls P_jmzeng.final.REF_*bam |while read id do { # try samstat $id } || { # catch # save log for exception echo "This bam file is too big : $id " } done

还不错,可以把所有文件该跑出来的结果都跑出来了,结果没什么好解读的,这个软件其实很烂的,我一般都不用了。

samtools stats

而且samtools更新的版本本身就包括了一系列的统计和绘图功能!

现在比较好的就是:

samtools stats test.bam >test.stats

plot-bamstats -p test test.stats

因为我安装samtools的时候把它添加到了环境变量,所以我不需要用全路径来使用该程序,直接调用即可,plot-bamstats就是安装samtools软件时候附带的一个功能。

有时候,觉得生信工程师真心不容易,什么都得学一点什么都得会一点,但是最重要的,是要有解决问题的勇气和感觉。(现在划重点,本讲最重要的不是samstat软件怎么用,因为实在是太烂了这个软件,也不是samtools的stats功能怎么用,虽然出图很漂亮,统计的也很清晰。)

下一讲我们来重点谈谈Qualimap这个软件。

文:Jimmy、阿尔的太阳

图文编辑:吃瓜群众

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2016-12-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

打造刀郎安全PHP系统

有一段时间没有露面的,现在出来和各位打个招呼,今天给大家带来话题是打造安全php系统,web安全防不胜防,那么我们怎么尽可能的做到安全啦?

1055
来自专栏Jerry的SAP技术分享

Eclipse被卡死了或者失去响应了后分析根源的一个小技巧

大家在使用Eclipse的过程中可能会偶尔遇到该IDE失去响应或者一直停留在某个步骤迟迟结束不了的情况。没有经验的朋友可能会用任务管理器强制结束Eclipse进...

814
来自专栏木子昭的博客

用HEXO在Github建立个人博客

在sublime打开新建的~/zhaoolee-blog/source/_posts/在Github创建个人专属名片.md, 并加入内容 ...

522
来自专栏埋名

专门为Github党打造的超级无敌Chrome插件

作为GitHub党,分享一些好用的Chrome插件,帮助增强Github功能。标题名称在Chrome插件商场搜索,即可安装对应的插件。

823
来自专栏开源项目

精选 6 款程序员自己开发的文本编辑器 | 码云周刊第 51 期

相信很多小伙伴在编辑文本都会使用 Windows 自带的记事本,但是记事本由于功能所限,无法满足办公需要,下面推荐 6 款我们“程序猿”自己做的文本编辑器,普通...

3156
来自专栏叔叔的博客

关于bootstrap.yml,踩的坑

首先,bootstrap.yml作为配置文件,是在springcloud中实现的,而不是springboot!

882
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven

作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载。 前言 项目展示地址,点这里...

2656
来自专栏*坤的Blog

Opera福利谷歌

1353
来自专栏个人技术分享

android手机免root修改hosts

开发及测试过程中经常需要切换开发、测试、预发布等环境,切换环境是通过修改hosts实现的。

6453
来自专栏魏艾斯博客www.vpsss.net

Yoast SEO 插件英文版设置教程

1626

扫码关注云+社区