StringTie 插件 | 直接在 Windows 下进行转录组组装与读段计数

写在前面

前述,我已经写了两个 TBtools 插件,实现了在纯粹的WIndows环境下(非虚拟机,非WSL),使用 Hisat2 进行基因组索引构建以及转录本回帖。最近家里事情较多,期间不少时间可以天马行空的想事情。过于具体的生物学问题难以思考出个答案,毕竟是以实践为主。但数据分析上的鬼点子倒是非常合适。
过去几年,正是这类时间,让我能设计出 TBtools/JIGplot,优化出其中各式各样的特性。正如现在 TBtools 的插件模式,也是临时想到的实现方式。
今天躺着,突然想着:

  • 目的是矫正基因注释
  • 手段是在我改造的基因浏览器 IGV-GSAme 矫正
  • 输入是基因组,待矫正的基因结构注释以及RNA读段回帖的BAM
  • 操作是基于RNA的Alignments,手动调整注释

那么问题来了,要在windows完成全部工作,我们会遇到几个问题

  1. IGV的特性不足,通过 IGV-GSAme 已经解决
  2. 转录组回帖,通过 TBtools 的 Hisat2 插件也解决了
  3. 基因组局部区域的有参考组装,无解!

既然无解,那我完全可以鼓捣一个windows下的stringTie,中间做个接口,那么就可以实现局部组装(注意,指定一个区域组装,常常反而能组装出准确的结果,具体自行思考)。千里之行始于足下,在让 IGV-GSAme 变得更强之前,先做一个简单的东西,TBtools插件。

StringTie Wrapper - 新的 TBtools 插件


一共两个对应的是 Stringtie 两个主要功能:

  1. Stringtie Assembly : 转录组组装
  2. Stringtie Quantify : 转录本表达量估计

StringTie Assembly 插件的使用


对于组装一步,参数简单,用户只需要提供排序好的BAM文件即可,这些文件,事实上可以通过前几天推的 Hisat-build 和 Hisat-align 插件来获取。需要注意的有三点:

  1. 参考物种基因结构注释是可选的
  2. 设置输出目录而不是输出文件,因为组装时是单个bam文件单独组装,最后再进行一次merge,得到最终可用的 GTF 文件(具体Fasta序列提取,可直接使用 TBtools 的 GXF Sequence Extract,请参考公号前述推文)
  3. 并行线程数,应该注意,此处的并行线程数与Stringtie软件的线程数并不等价。(我调整了stringtie源码,编译并使其可以在windows下运行,但windows系统限制,所以只能单线程,且速度上不来。这没关系,我们可以多个文件同时组装,这样也就只需要使用stringtie的单线程模式,毕竟很多时候,我们并不可能做一个样品的转录组测序和组装 - PS:windows下可能会慢不少,比如6G的转录组,估计组装时间大概要到 1个小时,在我的笔记本上。不过同时跑2个,那么也是1个小时嘛..)
    组装结果大体如下,我做了两个实际数据的,



StringTie Quantify 插件的使用


使用简单,用户需要的注意的几乎只有三点:

  1. 排序好的BAM文件
  2. 一个必须的基因结构注释文件,可以是gff3也可以是gtf,比如使用 StringTie Assembly插件整理的组装结果。
  3. ReadLength, 这一参数即测序读长。因为StringTie计算的其实是Coverage,并没有读段计数这一步。常见的操作是简单地基于Coverage反推raw counts。于是read length成为必要。

整体上会输出六个矩阵,具体大伙自己看名字就知道是啥。



即,转录本水平或基因水平的Counts,FPKM,TPM矩阵。可查看其中某个。



注意到,我前面做StringTie Assembly的时候设置了参考注释,所以AcoXXXX等ID为原始注释ID(事实上是没有被组装出来的,一般是覆盖率极低),而MSTRGXXXX等为已有注释中被当前样品覆盖以及新注释出来的基因。
PS:四个插件将会一并上线至插件商店,暂时票价应该会定位 100,打包估计 365,具体再定。

感兴趣的,想上车的,请参考前述《Plugin | 高速版插件商店!我又有一个绝妙的 idea》推文。

写在最后

现在是大年三十晚上九点,也算是在新春到来之时,了却一个鬼点子。
在此祝大伙新春快乐,牛年大吉!

你可能感兴趣的:(StringTie 插件 | 直接在 Windows 下进行转录组组装与读段计数)