跟著細膩小白學WGCNA(2)|生信

細膩小白上一節(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?(微信號)


?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容