差异分析②

简介: 样品的无监督聚类检查基因表达分析最重要的探索性策略之一是多维定标(MDS)图或类似的图。该图以无监督的方式显示了样本之间的相似性和不相似性,以便人们可以了解在进行正式测试之前可以检测差异表达的程度。

样品的无监督聚类

检查基因表达分析最重要的探索性策略之一是多维定标(MDS)图或类似的图。该图以无监督的方式显示了样本之间的相似性和不相似性,以便人们可以了解在进行正式测试之前可以检测差异表达的程度。理想情况下,样本会在感兴趣的主要条件下很好地聚类,并且可以识别任何偏离其群组的样本,并追踪误差来源或额外变化。


lcpm <- cpm(x, log=TRUE)
par(mfrow=c(1,2))
col.group <- group
levels(col.group) <- brewer.pal(nlevels(col.group), "Set1")
col.group <- as.character(col.group)
col.lane <- lane
levels(col.lane) <- brewer.pal(nlevels(col.lane), "Set2")
col.lane <- as.character(col.lane)
plotMDS(lcpm, labels=group, col=col.group)
title(main="A. Sample groups")


plotMDS(lcpm, labels=lane, col=col.lane, dim=c(3,4))
title(main="B. Sequencing lanes")

img_11a5e9bb0c0a71b14c15b9d7d3498f68.png

这种方法可以使用plotMDS函数在limma包中进行。第一个维度解释了数据中最大的变化比例,其后的维度具有较小的影响并且与之前的维度正交。当实验设计涉及多个因素时,建议在多个维度上检查每个因子。如果样本以任何这些维度中的给定因子聚类,则表明该因子有助于表达差异,并且值得包括在线性建模中。另一方面,影响很小或没有影响的因素可能会被排除在下游分析之外。在这个数据集中,可以看到样本在维度1和维度2内的实验组内很好地聚类。虽然所有样本都是按照群组聚集的,但是观察到在基础和LP之间以及基线和ML在维度1上的最大转录差异。由于这个原因,预计细胞群体之间的配对比较将导致用于比较的更多数量的DE基因涉及基础样本,并且在比较ML和LP时涉及相对少量的DE基因。

  • 另外,Glimma软件包提供了可以探索多个维度的交互式MDS图的便利。 glMDSPlot函数在左侧面板中生成一个带有MDS图的html页面(如果launch = TRUE,则在浏览器中打开该页面),并显示右侧面板中每个维度解释的变化比例的barplot。 单击条形图的条形图会更改MDS图形中绘制的一对维度,然后悬停在各个点上可以显示样本标签。 颜色方案也可以改变以突出细胞群或测序泳道(批次)。 这个数据集的交互式MDS图可以在http://bioinf.wehi.edu.au/folders/limmaWorkflow/glimma-plots/MDS-Plot.html找到。
library(Glimma)
glMDSPlot(lcpm, labels=paste(group, lane, sep="_"), groups=x$samples[,c(2,5)],
          launch=T)
img_fd48003ec3d6f368e0b2de4e8b1c4afa.png

差异表达分析

创建一个设计矩阵和对比

在这项研究中,我们感兴趣的是看到哪些基因在三种细胞群体之间的不同水平上表达。 在我们的分析中,假设基础数据是正态分布的,假设线性模型符合数据。 为了开始,设计矩阵与细胞群体和测序泳道(批次)信息一起建立。


design <- model.matrix(~0+group+lane)
colnames(design) <- gsub("group", "", colnames(design))
design
contr.matrix <- makeContrasts(
  BasalvsLP = Basal-LP,
  BasalvsML = Basal - ML, 
  LPvsML = LP - ML,
  levels = colnames(design))
contr.matrix

从计数数据中去除杂波

已经显示,对于RNA-seq计数数据,方差并不依赖于平均值13 - 原始计数或转换为对数CPM值时,情况属实。使用负二项分布模型计数的方法假定二次均方差关系。在limma中,对log-CPM值进行线性建模,log-CPM值假定为正态分布,并使用由voom函数计算的精确权重来适应均值 - 方差关系。在DGEList对象上运行时,voom通过自动从x本身提取库大小和规范化因子,将原始计数转换为log-CPM值。可以使用normalize.method参数在voom中指定对日志CPM值的其他标准化。

v <- voom(x, design, plot=TRUE)
v

vfit <- lmFit(v, design)
vfit <- contrasts.fit(vfit, contrasts=contr.matrix)
efit <- eBayes(vfit)
plotSA(efit)
img_d3fedf9f344f30e3cac87bbd23d28500.png

左图显示了该数据集的log-CPM值的均值 - 方差关系。典型地,“voom-plot”显示由测序实验中的技术变化和来自不同细胞群的重复样品之间的生物变异的组合导致的均值和变化之间的下降趋势。具有高生物学变异的实验通常导致更平坦的趋势,其中方差值在高表达值时平稳。低生物变异的实验倾向于导致急剧下降的趋势。右图表示基因方差不受基因平均值影响。

检查DE基因的数量

为了快速了解差异表达水平,可以在表格中总结显着上调和下调基因的数目。 显着性是使用默认设置为5%的调整后的p值截止值来定义的。 为了比较Basal和LP中的表达水平总共8,425个DE基因。 在Basal和ML之间发现总共8,510个DE基因(4,338个下调基因和4,172个上调基因),并且在LP和ML之间发现总共5,340个DE基因(2,895个下调和2,445个上调)。 观察到的涉及基础群体的较大数量的DE基因与我们对MDS图的观察结果一致。

summary(decideTests(efit))
       BasalvsLP BasalvsML LPvsML
Down        4127      4338   2895
NotSig      5740      5655   8825
Up          4298      4172   2445
目录
相关文章
|
6天前
|
传感器 存储 索引
如何解决 analogRead()函数读取到的模拟值不准确的问题
在使用analogRead()函数时,若读取到的模拟值不准确,可以通过校准ADC、增加采样次数取平均值、使用外部参考电压或检查电路连接等方式来提高读取精度。
文本,好看的设计------我独自升级,六芒星技能表,可以用来判断是否在能力值之内的事情,使用六芒星可以显示能力之内,能力之外的事情,用以判断
文本,好看的设计------我独自升级,六芒星技能表,可以用来判断是否在能力值之内的事情,使用六芒星可以显示能力之内,能力之外的事情,用以判断
文本,好看的设计------我独自升级,六芒星技能表,可以用来判断是否在能力值之内的事情,使用六芒星可以显示能力之内,能力之外的事情,用以判断
|
5月前
|
算法 数据挖掘 数据处理
数据分析之可重复与独立样本的T-Test分析
数据分析之可重复与独立样本的T-Test分析
38 2
|
6月前
|
JavaScript 前端开发
v-if 和 v-show 的差异及最优使用场景
v-if和v-show都是Vue.js中的条件渲染指令,它们都可以根据表达式的值来决定是否渲染一个元素。但是它们的工作方式不同,因此在使用上也有一些区别。
|
数据采集 机器学习/深度学习 算法
②数据预处理之数据清理,数据集成,数据规约,数据变化和离散化
数据预处理之数据清理,数据集成,数据规约,数据变化和离散化
795 0
②数据预处理之数据清理,数据集成,数据规约,数据变化和离散化
|
算法 安全 机器人
算法提高:计算几何基础 | 判断包含关系
计算几何是计算机科学的一个重要分支,主要研究几何形体的数学描述和计算机描述,在现代工程和数学领域,以及计算机辅助设计、地理信息系统、图形学、机器人技术、超大规模集成电路设计和统计等诸多领域都有重要的用途。在 ACM 竞赛中,出题相对独立,曾出现过与图论、动态规划相结合的题,大多数计算几何问题用程序实现都比较复杂。常用算法包括经典的凸包求解、离散化及扫描线算法、旋转卡壳、半平面交等。本文介绍计算几何常用算法——包含关系。
159 0
|
机器学习/深度学习 算法 计算机视觉
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
137 0
|
数据采集 机器学习/深度学习 自然语言处理
实现文本数据数值化、方便后续进行回归分析等目的,需要对文本数据进行多标签分类和关系抽取
实现文本数据数值化、方便后续进行回归分析等目的,需要对文本数据进行多标签分类和关系抽取
195 0
|
PHP
php清洗数据实战案例(4):按照关联数组相同值名称进行筛选后对不同的指标予以合并计算的解决方案
php清洗数据实战案例(4):按照关联数组相同值名称进行筛选后对不同的指标予以合并计算的解决方案
65 0
|
存储 资源调度 数据可视化
R问题|数值模拟流程记录和分享
R问题|数值模拟流程记录和分享
144 0