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

Cufflinks是加利福尼亚大学伯克利分校数学和计算机生物实验室,由LiorPachter领导的StevenSalzberg’s团队,和马里兰大学生物信息和计算机生物中心的Steven Salzberg小组,以及加州理工学院的Barbara Wold实验室联合作用的结果。Cufflinks 利用Tophat比对的结果(alignments)来组装转录本,估计这些转录本的丰度,并且检测样本间的差异表达及可变剪接。这个软件其实是个套装,包括四个部分分别命名为:cufflinks、cuffcompare、cuffmerge及cuffdiff。

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

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

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

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

个人理解及经验分享:

这是所有初做 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合并。

本文引用地址:http://blog.sciencenet.cn/blog-777771-609782.html

[转载]转录组测序分析中cufflinks的使用及问题相关推荐

  1. 二代三代转录组测序分析实战班

    本文原创"生信宝典"公众号,作者陈同. 转录组大家都很熟悉了,我们之前也有几篇介绍: 转录组分析的正确姿势 39个转录组分析工具,120种组合评估(转录组分析工具哪家强-导读版) ...

  2. 转录组分析_肠道菌群:宏转录组测序分析流程解读

    上回给大家讲述了16S测序分析 和 宏基因组测序分析,本期的宏转录组来啦~ 你知道吗?通过16S测序分析 和 宏基因组测序分析,我们只能够知道肠道菌群做好事或坏事的潜力,而并不知道它们此时此刻正在我们 ...

  3. 项目文章|原核转录组测序分析揭示微藻对镉胁迫的短期和长期响应分子机制

    喜报:易基因针对检测原核菌个性化设计rRNA去除探针的原核转录组研究成果见刊<CHEMOSPHERE> 2022年5月2日,中南大学与易基因合作的微藻对镉胁迫响应机制研究成果以" ...

  4. r语言 转录本结构及丰度_肠道菌群:宏转录组测序分析流程解读

    上回给大家讲述了16S测序分析 和 宏基因组测序分析,本期的宏转录组来啦~ 你知道吗?通过16S测序分析 和 宏基因组测序分析,我们只能够知道肠道菌群做好事或坏事的潜力,而并不知道它们此时此刻正在我们 ...

  5. 临床外显子组测序分析中的那些坑(下)

    临床外显子组测序分析中的那些坑(上) 临床外显子组测序分析中的那些坑(中) 4.还记得嵌合吗 二代测序数据分析中已经提到的另一个挑战是嵌合SNV和CNV的出现.嵌合SNV已被证明与许多疾病相关.事实上 ...

  6. 临床外显子组测序分析中的那些坑(中)

    临床外显子组测序分析中的那些坑(上) 4. Exome CNV分析:参考对照组 很早以前,人们就清楚WES还可以根据样本之间序列覆盖深度的差异来推断CNV.由于序列捕获和GC含量,单个目标的覆盖率偏差 ...

  7. 临床外显子组测序分析中的那些坑(上)

    大规模并行测序技术或下一代测序已成为基因诊断和研究的标准技术,尤其是外显子组和基因组测序现在已经在世界范围内广泛应用于患者的分子诊断.在过去几年中,许多实验室都在努力应对基于全新技术建立基因检测工作流 ...

  8. 不用linux转录组数据分析,无参考基因组的转录组测序分析流程

    下边上干货. 1. 分析流程: 2. 分析步骤 2.1 数据预处理,质控过程,与有参考的转录组分析一致 2.2 UniGene拼接目的:将预处理后reads进行拼接,得到拼接结果. 原理: 应用 de ...

  9. 【转载】关联分析中的支持度、置信度和提升度

    目录 1. 支持度(Support) 2. 置信度 (Confidence) 3. 提升度(Lift) 1. 支持度(Support) 支持度表示项集{X,Y}在总项集里出现的概率.公式为: Supp ...

最新文章

  1. nginx 负载均衡配置_LINUX系统nginx负载均衡配置
  2. 北京python培训班价格-Python培训班多少钱?
  3. 对我影响最大的3位老师
  4. 【NLP】简单学习一下NLP中的transformer的pytorch代码
  5. ApartmentState.STA
  6. Win2D 入门教程 VB 中文版 - 防止内存泄漏
  7. k8s部署tomcat及web应用_部署 Spring Boot 应用到 K8S 教程
  8. Redis学习总结(15)——Redis 基本数据类型使用场景
  9. iis+php解析漏洞修复,服务器解析漏洞分析和漏洞修复方法
  10. java提示没有main,有main方法却还是提示没有
  11. java在线反编译class文件
  12. Android代码中模拟点击事件
  13. html编辑器菜鸟工具,富文本编辑器TinyMCE菜鸟使用教程
  14. SuperMap三维复杂模型建模之3D极坐标建模——基础篇
  15. 【熊出没之雪岭熊风】下载
  16. 淘宝双十一实时显示成交数据是怎么实现的?
  17. 商品期货市场常见的量化交易策略
  18. Gartner2021年网络技术成熟度曲线
  19. 计算机软考证书全面分析
  20. 《JAVA高并发编程详解》-七种单例模式

热门文章

  1. 【期末复习】计算机网络 谢希仁版(六)应用层
  2. 思思的美食笔记--吃哒【自用---随缘更】
  3. how to upload directory to github(怎么把文件目录上传到github)
  4. 系统运维工程师装逼完全指南
  5. 使用2345安全卫士后打开浏览器主页锁定为2345
  6. BigGAN代码解读(gpt3.5帮助)——生成器部分
  7. 2019年上海市数学建模讲座笔记(1)竞赛真题讲解
  8. xmlhttp = new XMLHttpRequest();
  9. 硬盘分区那点事儿(MBR和GPT)
  10. Ubuntu 使用 create_ap 开启 wifi 热点