IGV-基因组浏览器-改造记录(五)
写在前面
IGV是目前广泛使用的基因组浏览器。但在前述的推文中,我们已经提到过,其并没有较多我们做小RNA数据分析或可视化所需的特性。为此,我们已经介绍了四处我们课题组对IGV修改。我的意思是,我们做了的IGV特性增强,远远不止于此。
今天抽空,摆出一个非常简单,却非常有用的特性。
小RNA测序数据特征
小RNA,长度往往在30bp以下。十年前的读长,足以一次将小RNA成熟体测通。换言之,我们得到的都是sRNA全长转录本。高度重复是小RNA数据固有特征。除去较多重复区域产生的sRNA,剩余的sRNA仍然在数据中表现出高丰度。有可能,在10M数据中,某个micro RNA的丰度是1M+。
小RNA数据快速分析逻辑与不足
基于这一数据特征,我们进行miRNA或者phasiRNA挖掘等分析时,我们常常会先进行数据的collaspe,大体是,如果一个sRNA的丰度是1000,那么我们会合并这个reads,并记录为
>id-1000CGATCGATCAGTGTTGGTTTT
随后再进行读段回帖和下游分析。这是一个非常机智的做法,
因为对于一套“高重复”的数据,直接比对,我们需要处理10M个reads的比对,而collaspe之后,我们只需要处理可能只有10K个reads的比对。(截图不全,时间数倍,对于更高深度,如目前最建议的30M,那么会有更明显的时间缩短)
collapsed之后,数据将占用更少的硬盘,比对结果文件同样减少许多。(数据量较少,对于更高深度,如目前最建议的30M,那么会有更明显的硬盘空间节省)
一切看起来都没有问题,但当我们想要在IGV上展示时,我们会发现,问题出现了。collasped的reads比对到genome的bam,无法在IGV上正常显示出reads的丰度。
如下,
可以看到Collasped之后,看到的覆盖率,事实上是uniqreads的数目,从左侧,40+,而实际数据应该是 1700+。错误的展示覆盖率,会影响我们做真实的判断。
改造IGV使其实时解析.collasped.fa.bam
解决这个问题,其实一样比较简单,我们可以改造IGV(而事实上,我们已经在之前的版本支持了,只是没有推文)。**改造之后,我们可以直接在IGV导入collasped之后的bam文件,同时可以得到实际数据应该有的覆盖率**。
不止于此!为了加速IGV,事实上,我们需要使用其downsample的特性,然而,使用这一特性意味着,低丰度的reads会被忽略,如左图missing部分。我们可以看到 ,当我们进行实时解析mc.fa的时候,就没有这种问题。因为我们需要的绘图时间。