查看原文
其他

R包omicade4的多元协惯量分析(MCoIA)

生信小白鱼 鲤小白 小白鱼的生统笔记 2022-05-08
R包omicade4的多元协惯量分析(MCoIA)
前文已对协惯量分析(Co-inertia Analysis,CoIA)作了简介。在CoIA中,首先分别对两组数据集进行特征分解,并进而通过两组特征向量确定它们之间的共有特征,表征两数据集原始变量的共同结构。
由于常规的CoIA只能分析两个数据集,有时我们想对多个数据集进行比较,例如物种组成的时间梯度(涉及多个时间点),多组学数据集的相似结构(涉及多个基因表达集),此时可通过多元协惯量分析(Multiple Co-inertia Analysis,MCoIA)来解决。MCoIA是CoIA的拓展,作为一种探索性数据分析方法,可用于识别多组高维数据集之间的相互关系。
本篇简介Romicade4MCoIA方法。

 

数据集


omicade4的内置数据集“NCI60_4arrays”为60种人类肿瘤细胞系的基因表达谱,包含了四种平台获得的微阵列基因表达的子集。四组微阵列涉及的样本(对象)相同,但基因(变量)不同,且四组数据集中的基因表达谱均已经过标准化处理。

#bioconductor 安装 omicade4 包
BiocManager::install('omicade4')

#加载 omicade4 包,omicade4 以 ade4 为基础(调用 ade4 的函数)
library(omicade4)

#数据集
#详情 https://www.rdocumentation.org/packages/omicade4/versions/1.12.0/topics/NCI60_4arrays
data(NCI60_4arrays)
sapply(NCI60_4arrays, dim)
summary(NCI60_4arrays)

#行为细胞系名称,列为基因id
head(NCI60_4arrays$agilent[1:6]) #Agilent platform.
head(NCI60_4arrays$hgu133[1:6]) #H-GU133 platform
head(NCI60_4arrays$hgu133p2[1:6]) #H-GU133 plus 2.0 platform
head(NCI60_4arrays$hgu95[1:6]) #H-GU95 platform


#可首先通过层次聚类分析评估各数据集中的各细胞系基因表达谱的相似性
layout(matrix(1:4, 1, 4))
par(mar = c(2, 1, 0.1, 6))
for (df in NCI60_4arrays) {
d <- dist(t(df))
hcl <- hclust(d)
dend <- as.dendrogram(hcl)
plot(dend, horiz = TRUE)
}

结果中,具有相同疾病特征(细胞系名称中,前缀两个字母代表了其所属的癌细胞类型,详情?NCI60_4arrays)的细胞系更倾向聚集在一起,表明它们之间的基因表达存在相似性。


但如果期望评估四个微阵列中的基因表达特征是否相似,由于不同微阵列涉及的基因(变量)不同,故无法根据共有基因的表达水平直接去观测,此时通过MCoIA解决。

通过对四组数据集分别执行特征分解,并评估四组特征向量的相似特征,结果用于反映四组数据集中原始变量的共同结构。此外,MCoIA还可以将基因表达与细胞系类型结合起来,用以推断哪些基因的高表达可能与相关的疾病有关。

 

执行MCoIA


使用omicade4中的方法执行MCoIA。

#执行 MCoIA,详情 ?mcia
mcoin <- mcia(NCI60_4arrays, cia.nf = 4, cia.scan = FALSE, nsc = TRUE)
mcoin

summary(mcoin)
mcoin$mcoa


#提取主要结果,例如
names(mcoin$mcoa)

#MCoIA 的伪特征值,代表了各 MCoIA 轴承载的协惯量
mcoin$mcoa$pseudoeig
#RV 值,代表了各数据集间结构的一致性
mcoin$mcoa$RV


#作图观测,以观测 MCoIA 前两轴的特征为例
#图中对象(细胞系样本)的颜色,根据其所属的癌症类型着色
cancer_type <- colnames(NCI60_4arrays$agilent)
cancer_type <- sapply(strsplit(cancer_type, split="\\."), function(x) x[1])
cancer_type

plot(mcoin, axes = 1:2, phenovec = cancer_type, sample.lab = FALSE, df.color = 1:4)

左上图展示了对象在MCoIA前两轴中的排序位置。该图中,点的形状代表了对象所来源的数据集,即应用于60种细胞系的不同微阵列平台;颜色代表了60种细胞系所属的癌细胞类型,并将同类型细胞系用短线连接。同类型细胞系在图中的相对距离越短,则反映不同微阵列平台中样本的相关性越好。还可将该排序图中的对象聚集特征与上文中的层次聚类作比较,寻找相似性。例如,除了肺癌和乳腺癌以外的大多数癌症类型中,具有相同起源的细胞系紧密地投影,表明这些癌症类型具有高度的同质性,与层次聚类的观测结果一致。

左下图展示了MCoIA各轴的特征值,显示此处用于可视化的前两轴,具有较高的贡献度。

右上图展示了变量在MCoIA前两轴中的排序位置,这里的变量即为各具体的基因,点的形状和颜色代表了来源的微阵列平台。该图常与左侧代表对象(细胞系)投影的图结合在一起观测,在某一细胞系中具有较高表达的基因也将位于该细胞系的投影方向(以原点指向细胞系聚集区理解为正方向),越趋于正方向表明表达量越高,位于负方向则表明这些基因在该细胞系中表达趋于下调。

右下图显示了所有数据集的伪特征值空间,用于指示每个数据集贡献了多少特征值方差。 例如H-GU 95在第一轴上具有很高的权重,因此该数据集对该轴的贡献最大,类似地,H-GU133 plus 2.0对第二轴有很大贡献。


 

结合观测左上的对象投影图和右上的变量投影图,我们可以提取一些感兴趣的基因。例如,通过坐标位置选择与黑色素瘤(melanoma,ME,粉色区域)相关的基因。

#根据坐标提取变量
#结果中,TRUE 代表数据集中存在该变量,FALSE 则不存在,最后一列为 TRUE 的总数
melan_gene <- selectVar(mcoin, a1.lim = c(2, Inf), a2.lim = c(-Inf, Inf))
melan_gene


此外,如果获得了感兴趣的基因名称,还可以观测它们在各自数据集中的单独投影位置。

#上图右上图按数据集拆分为子图显示
#以前两轴为例展示,var 可指定感兴趣的变量特别注明,详情 ?plotVar
geneStat <- plotVar(mcoin, axes = 1:2, var = melan_gene$var, var.lab = TRUE)


 

参考资料


Multiple Co-inertia Analysis of Multiple OMICS Data using omicade4:https://www.bioconductor.org/packages/devel/bioc/vignettes/omicade4/inst/doc/omicade4.pdf



链接

协惯量分析(CoIA)及其在R中的实现

典范相关分析(CCorA)及其在R中的实现

R包vegan的主响应曲线(PRC)

简单总结一下常见的基于距离的差异检验方法

R包vegan的典范对应分析(CCA)

R包vegan的基于距离的冗余分析(db-RDA)

R包vegan的冗余分析(RDA)

R包vegan实现在物种多度的非约束排序中被动拟合环境变量

R包vegan的非度量多维标度(NMDS)分析

R包vegan的主坐标分析(PCoA)

R包vegan的群落去趋势对应分析(DCA)

R包vegan的群落PCA及tb-PCA分析



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存