使用TopHat+Cufflinks的流程图
序列的比对是RNA分析流程中核心的一步。序列的比对,或者说是字符串的比对本身就是计算机科学中的一个经典问题,在生物信息学中更加频繁的出现。序列比对中的错配,插入、缺失可以识别出样本和基因组之间的多态性,甚至可以找出肿瘤样本中的gene fusion。而map到没有注释的基因可能是新的编码基因,或者是非编码RNA。同时RNA-seq的序列比对可以揭示新的选择性剪接和同工型(isoform)。
此外,序列的比对也可以用作精确定量基因或者转录本的表达量,因为显然表达丰度与产生的reads是直接成比例的(需要标准化)
Tophat使用Bowtie作为比对引擎,Bowtie使用了一种极其紧凑的数据结构FM index 来储存参考基因组的序列,并且能够迅速的查找( tens of millions per CPU hour)。但是Bowtie的比对不允许gap的出现(Bowtie2中已经可以允许了),所以Bowtie不能比对跨越了内含子的reads。
Tophat将Bowtie不能align的reads打断成更小的片段称作segments。一般情况下,当单独处理时,这些segmens可以map到基因组,当一个read的几个segmens可以map到基因组时,Tophat推断这个read跨越了剪接位点同时推测剪接位点的位置。通过处理每个‘initially unmappable’ read,Tophat在没有剪接位点注释的信息下能够在转录组上建立起一个剪接位点的索引。但是这个剪接位点图谱的构建还不够完整,即使是在一些深入研究的模式植物中,每个转录组测序中都能发现新的剪接位点。
Transcript assembly with Cufflinks
计算基因表达量的另一个问题是,因为选择性剪接的原因,几个不同的转录本(isoform)可能拥有相同的外显子,此时难以确定reads到底来自其中哪个转录本(isoform)。所以能否确定所有的splice variants(isoform)决定着表达量计算的准确性。而这个又很难确定,所以cufflinks通过map到基因组的reads组装起一个简陋的转录组,用reads拼接成含有重叠部分但是长度不同的转录本(称作”transfrags“,作为splice variants的推测。拼接以后,Cufflinks计算使用严格的统计模型来计算每个transfrag的表达量。
当有多个样本的时候,一种方法是将所有样本的reads合起来,拼接成一个转录组。这种方法的缺点是:
- 大量reads带来的计算不便,需要更高配置的服务器和大量的时间(可以参考 de no vo Trinity,动辄上百G的内存需求)
- 多个样本重叠使得确定所有的splice variants(isoform)更加困难
所以Cufflinks采用的策略是先单独拼接每一个样本的reads,然后使用cuffmerge来综合所有样本的拼接结果
Differential analysis with Cuffdiff
Cufflinks还包括一个cuffdiff程序,用于计算基因表达丰度和统计推断。
除了基本的差异表达分析外,cuffdiff还
运行环境需求:
- Bowtie2
- SAM tools
要求Bowtie2和SAM tools 都已经安装且添加到系统环境变量中
- Tophat
- Cufflinks
- Cummerbund
- 64-bit linux or Mac os x,最低要求是4G内存,推荐16G内存以上
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0125031#references
数据来自于plos one上的一篇文献,测序策略是一小部分测序数据用来拼接转录组(双端),因为当时茶树的基因组还没有公布,只能deno vo拼接。剩下的做定量的单端测序,两个重复。
今年发表了一篇茶树基因组的文章,上传了一个拼接的基因组fasta文件,我们可以用做参考。
TopHat
安装
Tophat在运行中会调用Bowtie1 或者Bowtie2,所以首先要确定你的系统中安装了Bowtie,并且已经添加到了环境变量中
Tophat提供了已经编译好的包可以直接下载,也可以直接下载源码编译,为了方便我们当然选择前一种。网页下载好压缩包或者直接
- wget http://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.1.Linux_x86_64.tar.gz
- tar -xvf tophat-2.1.1.Linux_x86_64.tar.gz
- export PATH="${PATH}:/usr/local/biosoft/tophat-2.1.1.Linux_x86_64/"
- #添加快捷方式
- ln -s ~/tophat-2.0.0