
細膩小白上一節(jié)我分享了學習?WGCNA的第一部分,主要介紹了WGCNA以及第一部分的數(shù)據(jù)預處理。今天我將繼續(xù)學習學WGCNA的第二部分,即數(shù)據(jù)的處理,并介紹解讀代碼。
首先,讀取數(shù)據(jù)。(回顧一下,這是另一個數(shù)據(jù)的“長相”)

allTraits = read.csv("D:/practice/test/clin_data.csv")
datTraits = allTraits[match(rownames(datExpr),allTraits$flavor_name),]
rownames(datTraits) = ?datTraits[,1]
datTraits = datTraits[,-1]
1. 讀取數(shù)據(jù);
2. 將這個數(shù)據(jù)和上一個數(shù)據(jù)表,按照flavor_name匹配在一起,方便后面的處理;
3. 第一列作為行名;
4. 把多出的重復的第一列去掉。
已經(jīng)刪去不需要的部分,再次聚類檢查數(shù)據(jù)。
sampleTree2 = hclust(dist(datExpr), method = "average")?
traitColors = numbers2colors(datTraits, signed = FALSE)
#pdf(file = 'D:/practice/test/re_clust.pdf',width = 12,height = 8)
plotDendroAndColors(sampleTree2,traitColors,groupLabels = names(datTraits),main='Sample dendrogram and trait heatmap')
#dev.off()
1. 使用平均的算法對樣本聚類;
2. 定義出將要繪制熱圖中的顏色分組;
3. 繪制出聚類熱圖,檢查樣本的分組信息;
4. #根據(jù)自己需要,使用pdf的函數(shù)。
繪制出樣本聚類圖以及臨床特征熱圖
圖如下,上半部分就是樣本的聚類圖,標注為樣本名;下半部分為臨床數(shù)據(jù)特征熱圖。

對數(shù)據(jù)完成了基本的處理,我們就準備開始仔細分析。
在分析前,我還是想要簡單講一下WGCNA的weighted部分??!加權,給了這個網(wǎng)絡一個權重,這個權重是什么?原理是什么?
(不會太難的,都是用白話和自己的理解,希望看完你們也有自己的理解,歡迎討論)
加權是指對相關性值(也就是網(wǎng)絡的邊)進行冪運算,冪次的值就是軟閾值?(這里是指,這個邊界值/閾值是可以根據(jù)計算的結(jié)果來調(diào)整的,不是硬要求)。
無向網(wǎng)絡的邊屬性計算方式為?abs(cor(geneX, geneY)) ^ power。
這種處理方式強化了強相關,弱化了弱相關或負相關,使得相關性數(shù)值更符合無標度網(wǎng)絡特征,更具有生物意義。如果沒有合適的閾值power,一般是由于部分樣品與其它樣品因為某種原因差別太大導致的,可根據(jù)具體問題移除部分樣品或查看后面的經(jīng)驗值。這也是我們前面為何搞了那么多步的數(shù)據(jù)檢查。
所以,看了上面這一段,也就明白了加權從何而來,以及我們接下來要進行的步驟。
把軟閾值/冪的值確定下來
powers=c(c(1:10),seq(from = 12, to = 20, by = 2))
sft = pickSoftThreshold(datExpr, powerVector = powers, verbose = 5)
設置閾值向量,并且使用網(wǎng)絡拓撲分析函數(shù)
sizeGrWindow(9, 5)?
par(mfrow = c(1,2))
cex1 = 0.9
#pdf(file = 'D:/practice/test/power.pdf',width = 12,height = 8)
plot(sft$fitIndices[,1],
?????-sign(sft$fitIndices[,3])*sft$fitIndices[,2],?
?????xlab="Soft Threshold (power)",
?????ylab="Scale Free Topology Model Fit,signed R^2",
?????type="n",?
?????main = paste("Scale independence"))
text(sft$fitIndices[,1],
?????-sign(sft$fitIndices[,3])*sft$fitIndices[,2],?
?????labels=powers,cex=cex1,col="red")
abline(h=0.90,col="red")?
軟閾值β與無尺度網(wǎng)絡評價系數(shù)的關系
(說成“人話”,就是不同軟閾值出來的網(wǎng)絡是不一樣,由此會影響網(wǎng)絡的評價系數(shù)/評估網(wǎng)絡的系數(shù))
plot(sft$fitIndices[,1],?
?????sft$fitIndices[,5],?
?????xlab="Soft Threshold (power)",
?????ylab="Mean Connectivity",?
?????type="n",?
?????main = paste("Mean connectivity"))?
text(sft$fitIndices[,1],?
?????sft$fitIndices[,5],?
?????labels=powers,?
?????cex=cex1,col="red")
#dev.off()
軟閾值β與平局連通性的關系
(連通性就是網(wǎng)絡的邊,探討的就是軟閾值對網(wǎng)絡邊的影響)
繪制出的結(jié)果如下圖

從左圖中可以看到,6開始出現(xiàn)一個明顯地變平緩的趨勢,所以暫定軟閾值為6;再觀察右邊的圖,可以發(fā)現(xiàn)在6、7左右出現(xiàn)一個顯然的斜率(看絕對值)變小的趨勢。因此評估出來,6是一個拐點處,即選擇作為軟閾值/冪次的值。
到此為止,我們的所有前期工作就完成了。
下一期,我們將徹底結(jié)束剩余的分析部分。
每周進步一點點,如果你有任何的建議和疑問,都歡迎你積極地提出,我們會盡全力改進和回答的~~~
(完)
聯(lián)系我們
官方網(wǎng)頁 :https://www.yiqishiyan.com/index
咨詢客服?:Yqsyw12345?(微信號)
