cufflinks 介绍&使用

2023-11-02

一. 简介

Cufflinks下主要包含cufflinks,cuffmerge,cuffcompare和cuffdiff等几支主要的程序。主要用于基因表达量的计算和差异表达基因的寻找。

Cufflinks程序主要根据Tophat的比对结果,依托或不依托于参考基因组的GTF注释文件,计算出(各个gene的)isoform的FPKM值,并给出trascripts.gtf注释结果(组装出转录组)。

注意:

1. fragment的长度的估测,若为pair-end测序,则cufflinks自己会有一套算法,算出结果。若为single-end测序,则cufflinks默认的是高斯分布,或者你自己提供相关的参数设置。

2. cufflinks计算multi-mapped reads,一般a read map到10个位置,则每个位置记为10%

3. 一般不推荐用cufflinks拼接细菌的转录组,推荐 Glimmer。但是,若有注释文件,可以用cufflinks和cuffdiff来检测基因的表达和差异性。

4. cufflinks/cuffdiff不能计算出exon或splicing event的FPKM

5.cuffdiff处理时间序列data:采用参数-t

6.当你使用cufflinks时,在最后出现了99%,然后一直不动。因为cuffdiff需要更多的CPU来处理一些匹配很多reads的loci。而这些位点一般要等其他位点全部解决了后,才由cuffdiff来处理。可以用参数-M来提供相关的文件,过滤掉rRNA或者线粒体RNA。

7. 当使用cufflinks或cuffdiff出现了“crash with a ‘bad_alloc' error”,cuffdiff和cufflinks运行了很长时间才结束————这表明计算机拼接一个高表达的基因或定量分析一个高表达的基因,运行的内存使用玩尽了!解决方法:修改选项“-max-bundle-frags”,可以先尝试500000,若错误依旧在,可以继续下调!

8. cuffdiff报道的结果里面所有的基因和转录本的FPKM=0,这表明GTF中的染色体名字和BAM里的名字不匹配。

9.  cuffdiff和cufflinks的缺点:存在一定的假基因和转录本(原因:测序深度,测序质量,测序样本的测序次数,以及注释的错误)

10. large fold change表达量不代表数据的明显性(这些基因的isform多或这些基因测序测到的少,整体较低的表达)。cuffdiff中明显表达倍数改变的基因,存在不确定性。

11.  通过cufflinks产生的结果中transcript.gtf文件中cuff标识的转录本就是新的转录本。相应的,其他模块输出中CUFF标识代表着新的转录本。

12. 若出现了如下错误:

You are using Cufflinks v2.2.1, which is the most recent release.
open: No such file or directory
File 30 doesn't appear to be a valid BAM file, trying SAM...
Error: cannot open alignment file 30 for reading
这表明,你的参数有问题。例如“--min-intron-length”,你设置为了:“-min-intron-length”

二. 参数;

1.  普通参数

  -h | --help 
   -o | --output-dir   default: ./
    设置输出的文件夹名称 
 -p | --num-threads  default: 1
    用于比对reads的CPU线程数 
 -G | --GTF 
    提供一个GFF文件,以此来计算isoform的表达。此时,将不会组装新的transcripts,
程序会忽略和reference transcript不兼容的比对结果 
 -g | --GTF-guide 
    提供GFF文件,以此来指导转录子组装(RABT assembly)。此时,输出结果会包含reference transcripts和novel genes and isforms。 
 -M | --mask-file 
    提供GFF文件。Cufflinks将忽略比对到该GTF文件的transcripts中的reads。该
文件中常常是rRNA的注释,也可以包含线立体和其它希望忽略的transcripts的注释。将这些不需要的RNA去除后,对计算mRNA的表达量是有利的。 
 -b | --frag-bias-correct 
    提供一个fasta文件来指导Cufflinks运行新的bias detection and correction algorithm。这样能明显提高转录子丰度计算的精确性。 
 -u | --multi-read-correct
    让Cufflinks来做initial estimation步骤,从而更精确衡量比对到genome多个位点的reads。 
 --library-type  default:fr-unstranded
    处理的reads具有链特异性。比对结果中将会有个XS标签。一般Illumina数据的lib
rary-type为 fr-unstranded。

--library-norm-method    具体参考官网,三种方式:classic-fpkm  默认的方式。geometric  针对DESeq。quartile  计算时,fragments和总的map的count取75%

2. 丰度评估参数

-m | --frag-len-mean default: 200
插入片段的平均长度。不过现在Cufflinks能learns插入片段的平均长度,因此不推荐自主
设置此值。 
 -s | --frag-len-std-dev default: 80
插入片段长度的标准差。不过现在Cufflinks能learns插入片段的平均长度,因此不推荐自
主设置此值。 
 -N | --upper-quartile-form
使用75%分为数的值来代替总的值(比对到单一位点的fragments的数值),作normalize。这样有利于在低丰度基因和转录子中寻找差异基因。 
 --total-hits-norm default: TRUE
Cufflinks在计算FPKM时,算入所有的fragments和比对上的reads。和下一个参数
对立。默认激活该参数。 
 --compatible-hits-norm 
Cufflinks在计算FPKM时,只针对和reference transcripts兼容的fragments以及比对上的reads。该参数默认不激活,只能在有 --GTF 参数下有效,并且作 RABT
或 ab initio 的时候无效。
--max-mle-iterations   进行极大似然法时选择的迭代次数,默认为:5000
--max-bundle-frags   一个skipped locus/loci在别skipped前可以拥有的最大的fragment片段。默认为1000000 
--no-effective-length-correction   Cufflinks will not employ its "effective" length normalization to transcript FPKM.Cufflinks将不会使用它的“effective” 长度标准化去计算转录的FPKM
--no-length-correction   Cufflinks将根本不会使用转录本的长度去标准化fragment的数目。当fragment的数目和the features being quantified的size是独立的,可以使用(例如for small RNA libraries, where no fragmentation takes place, or 3 prime end sequencing, where sampled RNA fragments are all essentially the same length).小心使用

3. 组装常用参数

-L | --label  default: CUFF
    Cufflink以GTF格式来报告转录子片段(transfrags),该参数是GTF文件的前缀 
-F/--min-isoform-fraction <0.0-1.0>  在计算一个基因的isoform 丰度后,过滤了丰度极低的转录本,因为这些转录本不可以信任。也可以过滤一些read匹配极低的外显子。默认为0.1或者10% of the most abundant isoform (the major isoform) of the gene.(一个基因的主要isoform的丰度的10%)
-j/--pre-mrna-fraction <0.0-1.0>   内含子被aligment覆盖的最低深度。若小于这个值则那些内含子的alignments被忽略掉。默认为15%。 The minimum depth of coverage in the intronic region covered      by the alignment is divided by the number of spliced reads, and if the          result is lower than this parameter value, the intronic alignments are          ignored. The default is 15%.
-I/--max-intron-length   内含子的最大长度。若大于该值的内含子,cufflinks不会报告。默认为300000.Cufflinks will not report transcripts with    introns longer than this, and will ignore SAM alignments with REF_SKIP          CIGAR operations longer than this.  The default is 300,000.
-a/--junc-alpha <0.0-1.0>    剪接比对过滤中假阳性的二项检验中的 alpha value。默认为 0.001
-A/--small-anchor-fraction <0.0-1.0>  在junction中一个reads小于自身长度的这个百分比,会被怀疑,可能会在拼接前被过滤掉。默认为0.09
--min-frags-per-transfrag   default: 10
    组装出的transfrags被支持的RNA-seq的fragments数少于该值则不被报道。 
--overhang-tolerance   当决定一个reads或转录本与某个转录本兼容或匹配的时候,允许的能加入该转录本的外显子的延伸长度。默认是8bp和bowtie/tophat默认的一致。
--max-bundle-length   Maximum genomic length allowed for a given bundle.  The default is 3,500,000bp.
--min-intron-length   default: 50
    最小的intron大小。 
--trim-3-avgcov-thresh   最小的3‘端的平均覆盖程度。小于该值,则删除其3’端序列。默认10  Minimum average coverage required to attempt 3' trimming.  The default is 10.
--trim-3-dropoff-frac    最低百分比的拼接的转录本的3‘端的平均覆盖程度。默认0.1  The fraction of average coverage below which to trim the 3' end of an assembled          transcript.  The default is 0.1.
--max-multiread-fraction <0.0-1.0>   若一个转录本Transfrags的reads能匹配到基因组的多个位置,其中该转录本的reads有超过该百分比是multireads,则不会报告这个转录本。默认为75%   The fraction a transfrag's supporting reads that may be multiply mapped to the genome. A transcript composed of more than this fraction will not be reported by the assembler.  Default: 0.75 (75% multireads or more is suppressed). 
--overlap-radius   default: 50
    Transfrags之间的距离少于该值,则将其连到一起。
Advanced Reference Annotation Based Transcript (RABT) Assembly Options:当你使用-g/--GTF-guide这个参数时,需要考虑的选项。
--3-overhang-tolerance     当决定一个拼接的转录本(这个转录本可能不是新的转录本)和一个参考转录本是否合并时,参考转录本的3‘端允许延伸的长度。默认600bp   The number of bp allowed to overhang the 3' end of a reference transcript when determining      if an assembled transcript should be merged with it (ie, the assembled transcript is not novel).        The default is 600 bp.   
--intron-overhang-tolerance    当决定一个拼接的转录本(这个转录本可能不是新的转录本)和一个参考转录本是否合并时,参考转录本的外显子允许延伸的长度。默认50bp   The number of bp allowed to enter the intron of a reference transcript when determining if an     assembled transcript should be merged with it (ie, the assembled transcript is not novel).      The default is 50 bp.
--no-faux-reads   This option disables tiling of the reference transcripts with faux reads.  Use this if you only         want to use sequencing reads in assembly but do not want to output assembled transcripts that lay       within reference transcripts.  All reference transcripts in the input annotation will also      be included in the output.这一项将不能掩盖参考转录组中的假reads。当你只想在拼接中使用测序的reads而不想输出lay within reference transcripts的拼接的转录组。输入时注释的所有的参考转录组也将会输入到输出中。
其他参数(无关紧要)
-v/--verbose   显示版本信息等等
-q/--quiet     除了警告和错误外,其他信息将不会print
--no-update-check   关系cufflinks自动更新的能力

4. Cufflinks输出结果

cufflinks的输入文件是sam或bam格式。并且sam或bam格式的文件必须排好序。(The SAM file supplied to Cufflinks must be sorted by 
          reference position.)Tophat的输出结果sam或bam已经排好了序。针对其他的未排序的sam或bam文件采用如下排序方式:

sort -k 3,3 -k 4,4n hits.sam > hits.sam.sorted



1. 
transcripts.gtf

该文件包含Cufflinks的组装结果isoforms。前7列为标准的GTF格式,最后一列为attributes。其每一列的意义:
列数   列的名称  例子         描述

1     序列名    chrX        染色体或contig名;
2     来源      Cufflinks   产生该文件的程序名; 
3     类型      exon        记录的类型,一般是transcript或exon;
4     起始      1           1-base的值; 
5     结束      1000        结束位置;
6     得分      1000        ;
7     链        +          Cufflinks猜测isoform来自参考序列的那一条链,一般是'+','-'或'.';  
8     frame    .           Cufflinks不去预测起始或终止密码子框的位置; 
9     attributes  ...      详见下
每一个GTF记录包含如下attributes:

gene_id          CUFF.1      Cufflinks的gene id
;  transcript_id    CUFF.1.1  Cufflinks的转录子 id  
; FPKM           101.267   isoform水平上的丰度, Fragments Per Kilobase
 of exon model per Million mapped fragments
; frac           0.7647    保留着的一项,忽略即可,以后可能会取消这个; 
conf_lo        0.07      isoform丰度的95%置信区间的下边界,即 下边界值 =
 FPKM * ( 1.0 - conf_lo )
;  conf_hi        0.1102    isoform丰度的95%置信区间的上边界,即 上边界值 =
 FPKM * ( 1.0 + conf_hi )
; cov            100.765   计算整个transcript上read的覆盖度; 
full_read_support   yes  当使用 RABT assembly 时,该选项报告所有的intr
ons和exons是否完全被reads所覆盖
2. ispforms.fpkm_tracking

isoforms(可以理解为gene的各个外显子)的fpkm计算结果

3. 
genes.fpkm_tracking

gene的fpkm计算结果

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cufflinks 介绍&使用 的相关文章

  • APS高级计划排程系统的基本原理和排程步骤

    APS高级计划与排程系统作为ERP和MES之间的桥梁 是承上启下的作用 用于协调物流 开发瓶颈资源和保证交货日期 APS系统包括需求和供应计划 运输和生产计划排程等各种供应链计划模块 下面主要介绍APS中生产计划排程模块的基本原理 APS系
  • linux线程及线程间通讯

    目录 一 线程 1 线程接口相关函数 1 创建线程 2 结束线程 3 等待线程 2 线程间通信 1 同步 2 互斥 一 线程 每一个进程的地址空间是相互独立的 每一个进程都有一个叫task struct任务结构体 在进行进程切换时需要不断刷
  • java.lang.NosuchMethodError:kotlin.collections.ArraysKt.copyInto

    在maven中加入
  • 关于联想台式机bios中虚拟化设置

    关于联想台式机bios中虚拟化设置 目前电脑更多的是从BIOS中查看是否支持虚拟化技术 当CPU支持VT x虚拟化技术的前提条件下 部分电脑将自动开启VT x功能 譬如IdeaPad Y450产品就采用了此设计 而大部分机型需要通过BIOS
  • 机器学习二-kmeans-kdtree

    机器学习纯java代码 点击打开链接 KD树介绍http www pelleg org shared hp kmeans html 我们的数据集也是从5高斯分布中随机生成的8000个点 你应该看到底层的Gaussians 蓝色边界表示 根
  • java socket 发送xml_socket 发送和接收XML 并解析

    就是在 用JAVA获取XML信息 第二步 SAX 上面增加一点内容 用Socket发送和接收 客户端口 XMLC java Created on 2004 11 15 TODO To change the template for this
  • 【linux】进程和线程的几种状态及状态切换

    文章目录 一 进程的状态 1 1 进程的三种状态 1 2 三种状态转换图 1 3 三种状态之间的转换 1 4 linux下的进程进程状态 二 线程的状态 三 总结 一 进程的状态 1 1 进程的三种状态 进程状态 一个进程的生命周期可以划分
  • 关于打包成APK

    1 可以观看网站 https my oschina net Jacedy blog 350226 里面有具体的步骤 具体的需要下载的如图所示 2 将jdk安装好 然后根据网址一次安装好环境 1 系统变量里新建JAVA HOME变量 变量值为
  • Linux实时查看文件/var/log/messages以及这个文件的问题

    耐心看完说不定有你遇到的问题 1 var log messages 首先说一下这个文件的存在 在Ubuntu系统中 这个文件你访问可能提示找不到这个文件 使用tail命令访问 name name sudo tail var log mess
  • 进程(二)—— fork()创建子进程

    假设进程A在运行过程中遇到非法请求 但是进程A手里有活 要忙手上的事 所以进程A创建一个子进程a 让子进程a去处理非法请求 目录 一 子进程创建代码实现 1 fork 函数 2 使用fork 函数创建子进程 二 子进程的创建过程 1 创建子
  • unity3d收集金币

    unitysd中 对象有一个碰撞检测的方法 可以应用于收集金币 void OnTriggerEnter Collider col if col gameObject tag Player 如果碰撞的对象是玩家 money 金钱加一 Dest
  • 深度解析:印度软件产业为何如此发达

    在全球范围内 无论是发达国家 还是发展中国家 都形成了若干规模不等 各具特色的软件产业聚集地 如美国的硅谷 日本九州的硅岛 印度班加罗尔的软件园等等 这些产业聚集地已经成为全球经济格局的重要组成部分 其中 印度的软件业聚集情况颇具借鉴意义
  • 关于tomcat中startup.bat启动闪退问题

    关于tomcat中startup bat启动闪退问题 这个首先我们想到的是系统环境变量的配置问题 所以可以进行一下环境变量检测 配置系统变量 CATALINA HOME 如下图所示 如果这个配置没有问题 且仍然后出现闪退问题 配置setcl
  • python关闭浏览器窗口_Selenium3 + Python3自动化测试系列十二——窗口截图与关闭浏览器...

    窗口截图 自动化用例是由程序去执行的 因此有时候打印的错误信息并不十分明确 如果在脚本执行出错的时候能对当前窗口截图保存 那么通过图片就可以非常直观地看出出错的原因 WebDriver提供了截图函数get screenshot as fil
  • js中的变量

    js中的变量分为局部变量和全局变量 成员变量 局部变量 只有在局部中能狗被访问 全局变量 在哪里都能被访问 局部变量定义在函数体内的生命周期一般跟随函数 当函数执行后 定义该局部变量 当函数不在使用时 被系统回收机制回收 function
  • JTAG与SWD连接方式

    先上图 图中可以看出SWD所需的连接口明显小于JTAG 接下来简要介绍下连接方式 SWD 只需连接SWDIO SWCLK GND VCC 有的时候也不需要连 JTAG 必须连接VCC GND TMS TCLK TDI TDO 可选连接TRS
  • 话谈实际工作中的数据分析

    篇始 不知不觉 到新的公司任数据分析师一职已有大半年的时光 在段时光中 无可避免的犯了很多错误 亦得到了许多收获 今天 对于在职中的一些过错与收获进行总结 以期在日后的工作与成长过程中 能够更加的顺利 谈谈数据分析工作需具备能力 pytho
  • React16.8的新增特性,Hook讲解

    Hook 是 React 16 8 的新增特性 它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性 1 useState 用来声明state变量 类似于class里的this state 使用方法如下 e
  • mysql+显示表ddl_MySQL_DDL_数据库和表的操作

    一 创建表 语法 CREATE TABLE IF NOT EXISTS 表名 字段名 字段类型 字段约束 字段名 字段类型 字段约束 字段名 字段类型 字段约束 案例 没有添加约束 CREATE TABLE IF NOT EXISTS ta

随机推荐

  • MySQL 全表扫描

    Server层 db1 t有200GB mysql h host P port u user p pwd e select from db1 t gt target file 查询数据 InnoDB的数据是保存在主键索引上 全表扫描实际上是
  • 第二次面试 9.15

    首先就是自我介绍 项目拷打 总体介绍一下项目 谈一下对socket的理解 在数据接收阶段 如何实现一个异步的数据处理 谈一谈对qt信号槽的理解 有想过如何去编写一个信号槽吗 你是如何使用CMAKE编译文件的 C 11特性了解些啥 share
  • NB-IoT天线座和连接器SMA、U.FL、IPX、IPEX

    NB IoT常用的天线座有SMA U FL U FL也叫IPX或IPEX SMA连接头包括四种 内螺内针 外螺内孔 内螺内孔 外螺内针 mingdu zheng at gmail dot com https blog csdn net zo
  • Docker安装ELK环境步骤

    本次安装版本 elasticsearch 6 2 4 kibana7 6 2 logstash 6 3 0 kafka 2 10 0 10 2 1 所需环境下载地址 https pan baidu com s 1LNJuF0kEXkG2Fy
  • 怎么避免写出慢 SQL

    在大多数实际的系统中 慢 SQL 消耗掉的数据库资源 往往是正常 SQL 的几倍 几十倍甚至几百倍 怎样才能在开发阶段尽量避免写出慢 SQL 呢 估算数据量 慢 SQL 对数据库的影响 是一个量变到质变的过程 对 量 的把握 就很重要 编写
  • 2021黑马程序员java面试宝典笔记四(框架篇)

    2021黑马程序员java面试宝典笔记四 框架篇 哔哩哔哩链接 https www bilibili com video BV15b4y117RJ p 134 vd source 7c5f1f4c039688f19024d50ef51aae
  • 7-软件维护

    软件维护基本概念 软件维护 软件交付使用后 为了修改软件运行的错误 或者按照新需求添加新功能的过程 前言 软件维护工作处于软件生命期的最后阶段 维护阶段是软件生存期中最长的一个阶段 所花费的人力 物力最多 其花费约为整个软件生命期花费的60
  • vue+pc端聊天功能实实现(可发送图片,视频,评分,选择产品)

    vue pc端sokect聊天功能实现 可发送图片 视频 评分 选择产品 1 效果图
  • SaltStack实现etcd自动扩容

    一 ETCD 概述 1 ETCD 简介 ETCD是用于共享配置和服务发现的分布式 一致性的KV存储系统 该项目目前最新稳定版本为2 3 0 ETCD是CoreOS公司发起的一个开源项目 授权协议为Apache 提供配置共享和服务发现的系统比
  • 【python】工作方向总结

    学会Python可以有以下几类工作方向 1 Python开发工程师 一般需要精通Python编程语言 有Django等框架的使用经验 实习无要求 2 Python高级工程师 北上广深的话 薪金在1万以上 需要精通Linux Unixg平台
  • xilinx ip 图像画框

    功能 1 单axi stream 接口输入 10bit raw输入 axis输出 10bit输出 2 使用xilinx hls 编写 3 配置寄存器有 目前最多画10个框 pragma HLS INTERFACE s axilite por
  • 模拟电路设计:理论的神话与残酷的现实

    本篇结合我的亲身体会 通过简单的举例 来说明模拟电路设计的一些特点 希望对有意从事模拟电路设计相关方向的同学有所帮助 理论知识 模拟电路需要的理论知识比较多 需要用到不少数学计算 电路基础 信号与系统等学科 而这些学科又需要用到高等数学 线
  • 将项目源代码上传到GitHub的详细步骤总结

    1 安装和设置 Git 如果你还没有安装 Git 请在你的计算机上安装 对于不同的操作系统 安装方法可能不同 对于大多数主流的Linux发行版 你可以使用包管理器来安装 在 macOS 上 你可以使用 Homebrew 而在 Windows
  • DDoS详解

    一 基本介绍 DDoS Distributed Denial of Service 分布式拒绝服务攻击 定义 通过占用网络服务的资源让服务器应接不暇 从而拒绝正常的业务流量的一种网络攻击方式 作为一种历史悠久的网络攻击手段 DDoS攻击的手
  • 修改 Win7 MTU 值

    修改 Win7 MTU 值 对于 MTU Maximum Transmission Unit 最大传输单元 的简单说明 网络上传输的并非连续的数据流 而是一个个的数据包 MTU的值限定了这个数据包的最大值 如果电信运营商设定的数据包最大值为
  • 蓝桥杯:单位分数

    题目描述 可以把1分解为若干个互不相同的单位分数之和 例如 1 1 2 1 3 1 9 1 18 1 1 2 1 3 1 10 1 15 1 1 3 1 5 1 7 1 9 1 11 1 15 1 35 1 45 1 231 等等 类似这样
  • SpringCloud--Eureka服务的注册与发现

    一 Eureka基础知识 1 1 什么是服务治理 SpringCloud 封装了Netflix公司开发的Eureka 模块来实现服务治理 SpringCloud抄的Netflix作业 在传统的RPC远程调用框架中 管理每个服务与服务之间依赖
  • Qt获取主窗口

    QMainWindow getMainWindow for QWidget w qApp gt topLevelWidgets if QMainWindow mainWindow dynamic cast
  • CentOS7安装docker、docker-compose

    一 docker安装 1 安装yum utils sudo yum install yum utils 2 列出当前系统中所有可用的YUM软件仓库 yum repolist 3 将Docker CE的YUM软件仓库添加到系统中 执行此命令后
  • cufflinks 介绍&使用

    一 简介 Cufflinks下主要包含cufflinks cuffmerge cuffcompare和cuffdiff等几支主要的程序 主要用于基因表达量的计算和差异表达基因的寻找 Cufflinks程序主要根据Tophat的比对结果 依托