R包omicade4的多元協慣量分析(MCoIA)

R包omicade4的多元協慣量分析(MCoIA)
前文已對協慣量分析Co-inertia AnalysisCoIA)作了簡介。在CoIA中,首先分別對兩組資料集進行特徵分解,並進而透過兩組特徵向量確定它們之間的共有特徵,表徵兩資料集原始變數的共同結構。
由於常規的CoIA只能分析兩個資料集,有時我們想對多個數據集進行比較,例如物種組成的時間梯度(涉及多個時間點),多組學資料集的相似結構(涉及多個基因表達集),此時可透過多元協慣量分析(Multiple Co-inertia AnalysisMCoIA)來解決。MCoIACoIA的拓展,作為一種探索性資料分析方法,可用於識別多組高維資料集之間的相互關係。
本篇簡介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對第二軸有很大貢獻。
結合觀測左上的物件投影圖和右上的變數投影圖,我們可以提取一些感興趣的基因。例如,透過座標位置選擇與黑色素瘤(melanomaME,粉色區域)相關的基因。
#根據座標提取變數

#結果中,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 omicade4https://www.bioconductor.org/packages/devel/bioc/vignettes/omicade4/inst/doc/omicade4.pdf
連結

相關文章