R语言DESeq包介绍

分析RNA序列数据的一个主要任务是探测基因的差异表达,DESeq包提供了测试差异表达的方法,应用负二项分布和收缩的分布方程估计。

1. 包的安装

输入如下命令,DESeq和相关的包就可以自动下载和安装。 > source(\> biocLite(\

相关的包会自动下载安装,安装的包如下:

中间会有个选择需要更新相关的包,选择更新全部,更新的包有:

另外还要安装一个数据包,供下面介绍包中的方法时使用,包名为pasilla.

2. 输入数据和准备

2.1 计数表

数据表的第i行第j列元素表示第j个样本的第i个基因有多少个reads。本文使用的数据来

自于pasilla数据包,函数system.file告诉我们数据文件保存的路径。 > datafile = system.file( \> datafile

[1] \在R中读取这个文件,使用read.table函数。

> pasillaCountTable = read.table( datafile, header=TRUE, row.names=1 ) > head( pasillaCountTable )

2.2 元数据

没有元数据的数据是没有用的,元数据可以分为三组,分别是样本(行),特征(列)和整个实验的信息。

首先需要样本的描述信息,data.frame的列表示各种信息,行表示7个样本。 > pasillaDesign = data.frame(

+ row.names = colnames( pasillaCountTable ),

+ condition = c( \+ \

+ libType = c( \+ \> pasillaDesign

这边简单地使用R代码进行设定,通常情况是从扩展表中读取这些数据。为了分析这些样本,我们需要解释single-end和paired-end的方法,这边首先简单的分析paired-end样本。 > pairedSamples = pasillaDesign$libType == \> countTable = pasillaCountTable[ , pairedSamples ] > condition = pasillaDesign$condition[ pairedSamples ] 现在,我们有下面的数据输入 > head(countTable)

> condition

对于自己的数据,可以简单的创建因子。 > #not run

> condition = factor( c( \我们现在举例CountDataSet,DESeq包的核心数据结构 > library( \

> cds = newCountDataSet( countTable, condition )

2.3 规范化

函数estimateSizeFactors估计统计数据的大小因子 > cds = estimateSizeFactors( cds ) > sizeFactors( cds )

如果统计数据的每列除以这列的大小因子,这样统计值就变成同一规模,使它们具有可比性。函数counts可以做这个计算。

> head( counts( cds, normalized=TRUE ) )

3. 方差估计

DESeq推断依靠估计典型的数据间的方差和平均关系,或者等效的离差和均值。离差可以理解为生物变异系数的平方。估计离差可以使用以下命令。 > cds = estimateDispersions( cds )

函数estimateDispersions做了三步,首先估计每条基因的离差,然后,通过估计匹配一条曲线,最后,每个基因分配一个离差,从每条基因估计值和匹配值选一个。为了让用户知道中间过程,fitInfo对象被储存下来。 > str( fitInfo(cds) )

函数 plotDispEsts可以画出每条基因的估计值和平均正常统计值的关系。 > plotDispEsts( cds )

图1 经验的(黑点)和匹配的(红线)离差值与平均正常统计值的关系图

在任何情况下,可以被子序列测试使用的离差值被存储在cds的特征数据集里。 > head( fData(cds) )

4. 推断:称之为差异表达

4.1 两个实验条件下的标准比较

为了看在条件”untreated\和”treated\下是否有差异表达,我们简单的使用nbinomTest函数, > res = nbinomTest( cds, \> head(res)

各列表示的是: id baseMean baseMeanA baseMeanB foldChange log2FoldChange pval padj

feature identier

mean normalised counts, averaged over all samples from both conditions mean normalised counts from condition A mean normalised counts from condition B fold change from condition A to B

the logarithm (to basis 2) of the fold change

pvalue for the statistical signicance of this change

pvalue adjusted for multiple testing with the Benjamini-Hochberg procedure (see the R functionp.adjust), which controls false discovery rate (FDR)

我们首先画log2折叠变换和平均正常统计量的关系,红色的点表示在10yR的基因。 > plotMA(res)

图2 log2折叠变换和平均正常统计量的关系图

图3 从nbinomTest的p值统计直方图

> hist(res$pval, breaks=100, col=\我们可以通过FDR过滤有效的基因。 > resSig = res[ res$padj < 0.1, ] 列举最有效的差异表达基因

> head( resSig[ order(resSig$pval), ] )

r语言degseq2_R语言DESeq 包介绍 -相关推荐

  1. R语言数据科学程序包:Tidyverse介绍

    R语言数据科学程序包:Tidyverse介绍 1. R语言简介 2. 数据科学简介 3. Tidyverse简介 1. R语言简介 R语言是用于统计计算和绘图的免费软件.它可以在Windows, Un ...

  2. R语言图形用户界面数据挖掘包Rattle介绍、安装、启动、介绍(Using the rattle package for data mining)

    R语言图形用户界面数据挖掘包Rattle介绍.安装.启动.介绍(Using the rattle package for data mining) 目录

  3. 包r语言_R语言交互式可视化包CanvasXpress

    CanvasXpress包简介 CanvasXpress核心是一个JavaScript语言编写的库,主要用于可重复研究. 在R中可以安装canvasXpress包,使用canvasXpress命令绘制 ...

  4. pvrect r语言 聚类_R语言常用统计方法包+机器学习包(名称、简介)

    上期帮大家盘点了一下R中常用的可视化包,这期将简要盘点一下关于统计分析与机器学习的R包,并通过简要介绍包的特点来帮助读者深入理解可视化包. 本文作者为"食物链顶端"学习群中的小伙伴 ...

  5. R语言中的数据处理包dplyr、tidyr笔记

    R语言中的数据处理包dplyr.tidyr笔记 dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其 ...

  6. r语言导入ggplot2_R语言绘图之ggplot2包

    R语言绘图之ggplot2包 (2018-09-25 03:09:30) 6月份一直在忙期末考试,今天来迅速的学习下ggplot2包的简单绘图. R的基础包里面也有很多画图函数,例如plot();ba ...

  7. R语言(五) Plotly绘图基本命令介绍

    前文回顾:R语言ggplot基本语法介绍 在R语言中,除ggplot外,plotly也是一大常用的绘图包,其与ggplot的区别在于它的可交互性,本文主要整理其基本绘图命令. 目录 一.基本介绍 1. ...

  8. go语言negroni包介绍

    go语言negroni包介绍 前言 go语言很好地支持了网络编程,go 语言与web 框架相关的包有很多,本文主要介绍go语言的negroni包. 前置参考博客:HTTP 协议 与 golang we ...

  9. R语言机器学习之caret包详解(一)

    R语言机器学习caret包trainControl函数详解 R语言机器学习之caret包详解(一) 简介 数据预处理 各种数据变换 近零方差变量 创建虚拟变量 重抽样技术 k折交叉验证 留一交叉验证 ...

最新文章

  1. 企业品牌竞争力研究(二):提高企业品牌竞争力的要素(创新SPR理论)
  2. 07-Windows Server 2012 R2 会话远程桌面-标准部署-RD授权
  3. Java容器集合类的区别用法
  4. 【杂谈】循序渐进,有三AI不得不看的技术综述(超过100篇核心干货)
  5. PDF Reader
  6. python执行linux和window的命令
  7. vbox虚拟机配置Redhat6.4本地yum源
  8. CSS如何实现两个a标签元素的文字一个靠左一个靠右,并且能点击分别不同的链接
  9. (pytorch-深度学习)使用pytorch框架nn.RNN实现循环神经网络
  10. /*携程面试*/四个数组,都已经排好序,找出四个数组的交集
  11. Linux操作Oracle(2)——Oracle导出exp导出用户报错:EXP-00006: 出现内部不一致的错误 EXP-00000: 导出终止失败
  12. 背包九讲问题——超详细
  13. Python中Numpy数组的归一化处理
  14. 企业开发基础设施--序
  15. 关于Spring Cloud Netflix
  16. linux文件被锁定,Linux下锁定系统重要文件,防止篡改
  17. 【记忆化搜索/数位DP】zznu2175(长度为n的含有ACM的字符串)
  18. 【ZYNQ】petalinux包含自定义的动态库
  19. php 公众号发表文章,微信公众号如何发布文章最基本教程
  20. CAN总线电容过大的有效解决方法

热门文章

  1. 29.【C语言】进制转换:10转16、10转2、2转10、16转10(Demo)
  2. 复制工具copy-to-clipboard
  3. 2022面试相关 - react相关原理
  4. QQ2006Beta2再爆新功能:移动在线(转)
  5. 创建SDE企业级数据库——在 Oracle 中配置 extproc 以访问 ST_Geometry
  6. twine创建软链接_如何使用Twine和SugarCube创建交互式冒险游戏
  7. 普林斯顿Stata教程(一)-Stata数据处理
  8. 我更改过的KesionCMS V9.0 免费版
  9. C#中子类调用父类的实现方法
  10. Scapy功能介绍以及应用