樣本聚類(lèi):flashClust包提供了一種比hclust()較快的聚類(lèi)方法,比如sampleTree = flashClust(dist(datExpr0), method =
"average")。也可以直接使用plotClusterTreeSamples()直接查看樣本聚類(lèi)情況,如下圖,y表示樣本的一個(gè)分類(lèi),比如正常組和對(duì)照組。
注意:datExpr0中行代表樣本,而列代表基因。
0. 數(shù)據(jù)前處理
WGCNA包對(duì)芯片數(shù)據(jù)有特殊的處理習(xí)慣,即將芯片數(shù)據(jù)矩陣的行表示為樣本,列表示基因。所以N×M矩陣,表示N個(gè)樣本,M個(gè)基因。正因如此,如果使用函數(shù)dist(exprData)可以得到按照樣本(即“按行聚類(lèi)”)的聚類(lèi)結(jié)果。
1. 選擇何時(shí)“軟閥值(soft thresholding power)”beta
使用函數(shù)pickSoftThreshold(datExpr,
powerVector = powers, networkType =
'unsigned',
這個(gè)函數(shù)返回一個(gè)列表,第一項(xiàng)是powerEstimate是估計(jì)的最優(yōu)power;第二項(xiàng)是fitIndices是詳細(xì)的矩陣數(shù)據(jù),其中第五列是mean.k表示平均“連接度(connectivity)”。連接度是指某個(gè)基因與該網(wǎng)絡(luò)中其他基因的相關(guān)程度,常為“相關(guān)度”之和。
2. 構(gòu)建網(wǎng)絡(luò)
使用函數(shù)blockwiseModules()自動(dòng)構(gòu)建不同module。這個(gè)函數(shù)有大量的參數(shù)可供調(diào)試,比較重要的有:maxBlockSize默認(rèn)為5000,表示在這個(gè)數(shù)值內(nèi)的基因?qū)⒄w被計(jì)算,如果調(diào)大需要更多的內(nèi)存;power是軟閥值;deepSplit是分割靈敏度,取值在0到4(最靈敏)之間,默認(rèn)是2;minModuleSize設(shè)定每個(gè)modle的對(duì)小容量(即節(jié)點(diǎn)數(shù)),可以調(diào)大;numericLabels默認(rèn)為FALSE返回顏色,設(shè)定為T(mén)RUE則返回?cái)?shù)字;mergeCutHeight是在計(jì)算完所有modules后,將特征量高度相似的modules進(jìn)行和并,和并的標(biāo)準(zhǔn)就是所有小與mergeCutHeight數(shù)值,默認(rèn)為0.15,可以調(diào)大(即減少module);pamRespectsDendro邏輯值,默認(rèn)為T(mén)RUE,可以設(shè)定為FALSE。
返回結(jié)果是一個(gè)列表,第一個(gè)colors表示基因被分為不同的module,0表示沒(méi)有任何module接受,可以使用table()函數(shù)查看,如果返回的是數(shù)字,可以使用labels2colors()轉(zhuǎn)換為對(duì)應(yīng)顏色;MEs是一個(gè)關(guān)于modules的特征量矩陣,行數(shù)等于篩選的modules數(shù),列數(shù)等于樣本數(shù);dendrograms表示在一個(gè)block中所有基因的進(jìn)化樹(shù)圖
也可以分步構(gòu)建網(wǎng)絡(luò)。1. 計(jì)算每個(gè)基因之間的“相關(guān)度(adjacency)矩陣”,使用函數(shù)adjacency(),返回N×N的矩陣,N表示所有基因數(shù)。同時(shí),可以計(jì)算每個(gè)基因的連接度(即colSums()),之后使用scaleFreePlot()查看連接度,并且判斷網(wǎng)絡(luò)是否屬于“無(wú)標(biāo)度拓?fù)渚W(wǎng)絡(luò)(scale
free topology)”。因?yàn)闊o(wú)標(biāo)度網(wǎng)絡(luò)的連接度有冪律分布,因此scaleFreePlot()會(huì)呈現(xiàn)線性。2. 計(jì)算TOM(Topological Overlap
Matrix),使用函數(shù)TOM=TOMsimilarity()計(jì)算相似矩陣,使用TOMdist()計(jì)算不相似矩陣(即1-TOM)。3.
構(gòu)建基因進(jìn)化樹(shù),使用函數(shù)flashClust(),使用plot()函數(shù)查看進(jìn)化樹(shù),hang參數(shù)調(diào)整分枝度,hang越小,樹(shù)枝越少;進(jìn)化樹(shù)的每一個(gè)樹(shù)枝代表一個(gè)基因。4.使用dynamicTreeCut包修剪樹(shù)枝,使用函數(shù)cutreeDynamic(),參數(shù)與blockwiseModules()相似。也可以使用cutreeStaticColor()修剪樹(shù)枝。兩種方法各有利弊,可以根據(jù)生物學(xué)意義選擇。
5. 和并相似的共表達(dá)網(wǎng)絡(luò),這個(gè)過(guò)程相對(duì)于把上一步篩選得到的modules再進(jìn)行聚類(lèi),使用函數(shù)moduleEigengenes(),確定修剪高度后,使用mergeCloseModules()函數(shù)和并modules。
使用函數(shù)plotDendroAndColors()查看系統(tǒng)發(fā)生樹(shù);blockGenes是一個(gè)block中所有的基因。dendro表示進(jìn)化樹(shù);而colors表示modules的顏色,如果需要表示不同的modules對(duì)比,只需要把colors進(jìn)行和并cbind()即可。這將有利于展示不同的module劃分方法,并且有助于選擇modules。
3. 結(jié)合外部生物學(xué)參數(shù)選擇模型
通常我們會(huì)得到多個(gè)module,這時(shí)需要結(jié)合其他生物學(xué)信息選擇合適的模型。“基因顯著參數(shù)(Gene
Significance, GS)”為非負(fù)數(shù)字信息,比如基于樣本的臨床數(shù)據(jù)(clinical
trails)和基于每個(gè)基因的
-log(p-value)等。
3.1 結(jié)合樣本信息,比如樣本的重量、長(zhǎng)度、程度等信息
樣本信息應(yīng)該是一個(gè)非負(fù)矩陣,行數(shù)等于樣本數(shù)。具體步驟:1.
計(jì)算模型特征矩陣和樣本信息矩陣的相關(guān)度,使用函數(shù)cor(),方法可以選擇Pearson。矩陣中的數(shù)值范圍是(-1,1),越接近于-1表示負(fù)相關(guān),越接近于1表示正相關(guān),說(shuō)接近于0表示相關(guān)性最弱。2.
計(jì)算相關(guān)度的p值,使用函數(shù)corPvalueStudent(cor,
nSamples),p值的越小表示相關(guān)性越顯著。之后,可以使用labeledHeatmap()將模型和上述相關(guān)矩陣可視化,比如下圖。從下圖可以看出與weight相關(guān)的modules中,棕色(相關(guān)性最強(qiáng)),其次是紅色、肉色和藍(lán)色。所以,如果以weight為指標(biāo),我們可以選擇這四個(gè)modules作為下一步研究對(duì)象。
注意:
第一步,計(jì)算模型與樣本信息相關(guān)矩陣時(shí)候,模型矩陣與樣本信息矩陣的行應(yīng)該相同。比如,模型矩陣是K×P(K個(gè)樣本,P個(gè)模型),樣本信息矩陣則為K×Q(K個(gè)樣本,Q個(gè)樣本信息)。最后得到一個(gè)P×Q的矩陣。
在選定module后,還可以看這個(gè)module的特征向量與樣本信息內(nèi),在考慮到每個(gè)基因?qū)用嫔系南嚓P(guān)性。步驟如下:1.
計(jì)算全表達(dá)譜矩陣與特征向量矩陣相關(guān)性。2. 計(jì)算全基因表達(dá)譜與樣本信息相關(guān)性。3. 使用verboseScatterplot()繪制相關(guān)性圖,如下。
還可以將樣本信息與module特征向量矩陣結(jié)合在一起(直接cbind()在一起即可),使用plotEigengeneNetworks()查看,如下圖。也可以控制plotHeatmaps參數(shù)和plotDendrograms參數(shù)分別輸出上下兩個(gè)圖。
查看module與每個(gè)基因GS之間的相關(guān)性,可以使用函數(shù)plotMEpairs(),或者psych包的pairs.panels()函數(shù),以PerformanceAnalytics包的chart.Correlation()函數(shù),如下圖。
3.2 結(jié)合每個(gè)基因信息,比如p值、q值等
同樣,也可以結(jié)合每個(gè)基因信息篩選合適的module。比如,經(jīng)過(guò)多重假設(shè)檢驗(yàn)計(jì)算得到的p值(可以轉(zhuǎn)換為-log(p-value))、矯正后的q值、在某條生物學(xué)通路中(GO分類(lèi)、細(xì)胞位置、轉(zhuǎn)錄因子調(diào)控等)的基因(0表示存在,1表示即不存在)等等。使用plotModuleSignificance(GS,
modulecolor)函數(shù)作出條形圖,這個(gè)條形圖的縱坐標(biāo)的實(shí)質(zhì)就是,基因在每個(gè)模型中對(duì)應(yīng)GS的均值。下圖表示了每個(gè)基因的p值經(jīng)過(guò)處理后,對(duì)應(yīng)module的GS均值。在這種情況下,我們可以?xún)?yōu)先考慮研究綠色的module。
與此同時(shí),還可以使用得到網(wǎng)絡(luò)根據(jù)GS篩選基因,networkScreening()篩選樣本信息相關(guān)的基因,networkScreeningGS()篩選基因信息相關(guān)的基因。
3.3 研究每個(gè)module的生物學(xué)意義
在得到每個(gè)module后,相當(dāng)于將基因做了分類(lèi)(對(duì)于每個(gè)module,類(lèi)似于找到的一部分基因)。那么,就可以使用類(lèi)似的GO、生物學(xué)通路等等分析,進(jìn)而解釋每一個(gè)module的生物學(xué)意義。
4. 可視化網(wǎng)絡(luò)
4.1 查看TOM圖
TOM圖是指基因和篩選模型的可視化表示。生成TOM圖的步驟:1. 生成全基因不相似TOM矩陣,比如1-TOMsimilarityFromExpr(datExpr, power =
6),可以把得到的不相關(guān)矩陣加冪,這樣繪制的TOM圖色彩差異會(huì)比較明顯。2. 使用TOMplot()繪制TOM圖,如下圖。圖上和圖左是全基因系統(tǒng)發(fā)育樹(shù),不同顏色亮帶表示不同的module,每一個(gè)亮點(diǎn)表示每個(gè)基因與其他基因的相關(guān)性強(qiáng)弱(越亮表示相關(guān)性越強(qiáng))。
繪制module的multi-dimensional scaling
(MDS)圖,首先使用函數(shù)cmdscale()分解TOM不相似矩陣,之后使用plot()函數(shù)繪制,如下圖。
4.2 查看網(wǎng)絡(luò)
查看生成的網(wǎng)絡(luò):可以使用VisANT:http://visant./查看篩選的網(wǎng)絡(luò)。先生成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),使用函數(shù)TOMsimilarityFromExpr();之后,篩選特定的module,形成一個(gè)M×M的矩陣,表示這個(gè)網(wǎng)絡(luò)中有M個(gè)節(jié)點(diǎn)(node);最后,使用exportNetworkToVisANT()函數(shù)生成visant的輸入類(lèi)型文件,即choose(M,2)個(gè)“邊(edge)”。也可以使用exportNetworkToCytoscape
|
|
來(lái)自: 公彥棟 > 《生物信息學(xué)》