R语言之生信②差异基因分析2

目录

R语言之生信①差异基因分析1
R语言之生信②差异基因分析2
R语言之生信③差异基因分析3
R语言之生信④TCGA生存分析1
R语言之生信⑤TCGA生存分析2
R语言之生信⑥TCGA生存分析3
R语言之生信⑦Cox比例风险模型(单因素)

样品的无监督聚类

检查基因表达分析最重要的探索性策略之一是多维定标(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")

R语言之生信②差异基因分析2_第1张图片

这种方法可以使用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)
R语言之生信②差异基因分析2_第2张图片

差异表达分析

创建一个设计矩阵和对比

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


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)
R语言之生信②差异基因分析2_第3张图片

左图显示了该数据集的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

你可能感兴趣的:(R语言之生信②差异基因分析2)