R包omicade4的多元协惯量分析(MCoIA)
数据集
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,详情 ?mciamcoin <- 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
#图中对象(细胞系样本)的颜色,根据其所属的癌症类型着色
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)
参考资料