专栏首页生信修炼手册玩转基因组浏览器之tdf文件

玩转基因组浏览器之tdf文件

将bam文件导入IGV之后,可以直观的查看测序深度的分布情况, 但是直接导入bam文件会占用比较大的内存,如果只是想要查看测序深度信息,有很多其他的代替方案。

tdf是IGV官方推荐的一种二进制格式,类似bedgraph格式,用窗口的方式来记录测序深度信息。相比bam文件,tdf文件会小很多,导入和查看也更快速。可以通过igvtools来生成tdf文件,命令如下

igvtools count input.bam out.tdf hg19.chrom.sizes

需要三个参数,第一个参数为输入文件,支持bam, sam等格式,第二个参数为输出文件,支持tdf和wig两种格式,第三个参数为基因组的ID或者保存染色体大小的chrom.sizes文件。在igvtools的安装目录,有个lib/genomes文件夹,保存了很多物种的chrom.sizes文件

当你提供了基因组ID时,软件会自动在该目录下查找对应的文件,默认的ID是hg18, 当然你也可以自己准备这个文件,内容如下所示

\t分隔的两列,第一列为染色体名称,第二列为染色体长度。在我的测试中,bam文件大小为1.3G, 输出的tdf文件大小为17M, 而wig文件为59M,转换为二进制的bigwig文件大小为25M。可以看到,tdf的文件大小最小。输出的tdf文件可以直接导入IGV进行查看,示意如下

上图的wig,tdf来自同一个bam文件,从峰型可以看出,三者基本一致。只所以说基本一致,是因为wig和tdf都是以窗口的方式来统计测序深度的,而bam则以单个碱基为单位。在IGV中进一步放大,可以看到下图

wig和tdf不再是平滑的峰,变成了一个个很宽的柱子。相比之下,bam文件依然是以碱基为单位的柱子。通过下面的命令,可以将tdf文件转换为bedgraph这种纯文本格式

igvtools tdftobedgraph  input.tdf out.bedgraph

内容如下

可以看到,tdf默认以25bp为窗口,统计该窗口内测序深度的平均值。窗口大小是可以调整的,可以通过如下命令进行调节

igvtools count -w 50  input.bam out.tdf hg19.chrom.sizes

tdf和bigwig两种格式都是以窗口方式统计测序深度,窗口越大,对应的文件大小越小,而分辨率也越低。

本文分享自微信公众号 - 生信修炼手册(shengxinxiulian),作者:lzyg

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-04

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 给你bam文件,你会画插入片段长度分布图吗?

    每200bp会存在一个峰,这个周期性波动反应的是核小体的个数。在ATAC_seq的数据分析中,会对插入片段长度分布进行可视化,观察其是否符合这样的周期性规律,一...

    生信修炼手册
  • EnhancerAtlas:人和小鼠的增强子数据库

    EnhancerAtlas结合三种高通量数据的分析结果来预测人和小鼠中的增强子,该数据库最新版本为v2.0, 网址如下

    生信修炼手册
  • fastx_toolkit:处理fasta/fastq文件的小工具

    在NGS数据分析中,常常需要对fasta/fastq文件进行一些处理,fastx_toolkit是一款综合性的工具,提供了很多有用的功能,能够简单方便的处理序列...

    生信修炼手册
  • Redis 简介 + Python 操作发布订阅

    众所周知,Redis 是一个高性能的内存 key-value 数据库。 它主要有三个有点:

    周萝卜
  • Redis特性和应用场景

    Redis使用标准C编写实现,而且将所有数据加载到内存中,所以速度非常快。官方提供的数据表明,在一个普通的Linux机器上,Redis读写速度分别达到81000...

    MonroeCode
  • Redis特性和应用场景

    Redis特性 速度快 Redis使用标准C编写实现,而且将所有数据加载到内存中,所以速度非常快。官方提供的数据表明,在一个普通的Linux机器上,Redis读...

    MonroeCode
  • 面对飞机残骸和辐射,这些机器人表现棒棒的!

    据外媒报道,上周末,美国军方和民间炸弹小组在新墨西哥沙漠举行的第12届年度机器人竞技赛(Robot Redeo)中展开交锋。这是由桑迪亚国家实验室组织的一场为期...

    机器人网
  • Spring AOP中JDK和CGLib动态代理哪个更快?

    昨天一位知识星球的小伙伴面试的时候被问到:Spring AOP中JDK和CGLib动态代理哪个效率更高?在知识星球整理了一下,今天特分享出来,供大家参考!

    Java后端技术
  • MySQL中explain中的结果字段介绍(三)

    之前的文章中对于explain的数据结果中的字段已经进行了一部分介绍了,今天来说一说剩下的几个字段,为了防止忘记,先看看这个表结构:

    AsiaYe
  • Redis 持久化之RDB和AOF 转

    Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可...

    双面人

扫码关注云+社区

领取腾讯云代金券