zoukankan      html  css  js  c++  java
  • cufflinks

    在转录组高通量测序数据分析过程中,主要就是转录本的构建(拼接)及表达水平的衡量,其次还包括可变剪接之类的转录后修饰等研究分析。因此,做过RNA-seq转录组测序数据分析的童鞋们一定使用过或至少听说过Cufflinks这个软件。

    Cufflinks 利用TopHat比对的结果(alignments)来组装转录本,估计这些转录本的丰度,并且检测样本间的差异表达及可变剪接。这个软件其实是个套装,包括四个部分分别命名为:cufflinks、cuffcompare、cuffmerge及cuffdiff。



    TopHat-->Cufflinks-->cuffdiff转录组分析大致流程如下

    第一步,mapping, 利用TopHat/bowtie 比对结果(bam格式)及参考基因组构建转录本,最终的转录本是以gtf格式保存的。
    第二步,Cuffcompare主要是对两个或多个转录本集合中转录本相似情况的比较,例如将第一步构建出的转录本与ENSEMBL数据库中的转录本进行比较,评估转录本构建情况,此外,根据构建的转录本与已知ENSEMBL数据库中的转录本的相对位置定义了一系列分类,例如内含子区域、反义、基因间区域转录本等等近10种分类。
    第三步,cuffmerge是将多个转录本集合合并成一套转录本集合,例如将在多个组织样本中构建的多套转录本合并成一套转录本,cuffmerge能够很好地完成去除冗余。
    第四步,cuffdiff衡量两个或多个样本间差异表达的基因,例如癌症与正常组织间差异表达的转录本,此外还能衡量差异可变剪接体。
    至此,转录本测序常规数据分析基本结束,接下来进行实验验证或深入数据分析。


    OK,如果对cufflinks的流程理解没问题的话,现在问题来了!!

    tophat-->cufflinks --> cuffdiff流程中,第一步对每一个样本会产生一个的gtf格式的转录本,因此若有n个样本就会有n个gtf.  但是在对n个样本做差异分析时,由于各样本间的转录本集合不相同,在做cuffdiff时,要求只能输入一个gtf文件,以便进行转录本在不同样本间的差异分析。因此需要将n个样本的gtf文件合并成一个。问题是,cufflinkscuffcomparecuffmerge两个合并转录本的方法, 这是应该选用那个?这两个有什么区别?


    个人理解及经验分享:

    这是所有初做NGS分析的很因惑的问题,事实上,对于多个样本构建的多套转录本,如何得到统一的一套转录本,有下面三种方法:

    1 在转录本拼接之前,把各样本的比对bam文件合并,然后用合并的bam跑cufflinks
    2 每个样本的比对bam文件分别单独跑cufflinks,各样本的转录本构建后,再用cuffcompare合并为一套转录本。
    3 每个样本的比对bam文件分别单独跑cufflinks,各样本的转录本构建后,再用cuffmerge合并为一套转录本。



       这三种做法区别在于:
    第一种方法流程相对简单,所有的工作都抛给cufflinks一人完成,你都不需要知道cuffmerge、cuffcompare的用法。貌似是种完美解决方案。但很大的问题是:cufflinks能处理得了最终合并的bam吗?对于小物种的样本还可以,但对于人,若是7,8个样本合成的bam,cufflinks吃不消!
    第二和三种方法是类似的,都是在保留可变剪切结构的前提下,将转录本合并。不同的是,cuffcompare只有A、B两条转录本结构相同的时候,才将A、B合并。而cuffmerge是A、B某些部分互相overlap,就将它俩合并。事实上,用cuffmerge做合并的时候,是把overlap的transfrag重新调用了cufflinks,合成一个transfrag。
    第二和三种方法还有一个很大的不同是,cuffmerge可以带上参考注释有参考的进行合并,而cuffcompare不能如此。这是cuffmerge对cuffcompare的一个优势。


    因此,我认为第三种方法比第二种方法是最接近于第一种方法,而第一种方法的可实现性较差,在现有条件,最完美的解决方案就是第三种方法:每个bam单独跑cufflinks,跑完的结果再用cuffmerge合并

    cited from: http://blog.csdn.net/shmilyringpull/article/details/8136837

  • 相关阅读:
    deeplearning.ai 卷积神经网络 Week 1 卷积神经网络
    deeplearning.ai 构建机器学习项目 Week 2 机器学习策略 II
    deeplearning.ai 构建机器学习项目 Week 1 机器学习策略 I
    deeplearning.ai 改善深层神经网络 week3 超参数调试、Batch Normalization和程序框架
    deeplearning.ai 改善深层神经网络 week2 优化算法
    deeplearning.ai 改善深层神经网络 week1 深度学习的实用层面
    cs231n spring 2017 lecture8 Deep Learning Networks
    cs231n spring 2017 lecture7 Training Neural Networks II
    cs231n spring 2017 lecture6 Training Neural Networks I
    cs231n spring 2017 Python/Numpy基础
  • 原文地址:https://www.cnblogs.com/easoncheng/p/2936877.html
Copyright © 2011-2022 走看看