加權基因共表達網(wǎng)絡資料集錦:
1.https://mp.weixin.qq.com/s/LvlBt_gCLEyxrpGkKkkIZA
寫在前面:大家黏貼復制代碼的時候一定注意格式灿渴,有可能一個小短線或者逗號赠叼、點之類的格式不對就有可能報錯逊抡,實在眼看不出來就自己手打一遍搁嗓,這是小白的我最近跑數(shù)據(jù)入的最多的坑履肃,大家要注意。
來源: 生信修煉手冊 昼窗,我看的第一篇WGCNA的推文对人,寫的很詳細,很贊凛俱,但是代碼對于初學者來說還得再細細體會紊馏,于是有了后面我推薦的各種推文。文末附最冰。
WGCNA是目前非呈萜澹火熱的一項研究內容,其全稱為weighted ?correlation network analysis, 直譯就是加權基因相關性網(wǎng)絡分析暖哨。通過這項分析赌朋,可以鑒定共表達的基因集合,這樣的集合稱之為modules, 而且可以將modules與表型數(shù)據(jù)進行關聯(lián)分析篇裁,挖掘潛在的mark 基因沛慢。
這個高大上的分析內容的第一步就是構建基因之間的共表達網(wǎng)絡,共表達是常用的分析相關性的一種策略达布,直接通過線性相關函數(shù)來計算相關性团甲,比如pearson, spearman等相關系數(shù)黍聂,每兩個基因之間可以計算出一個相關系數(shù)躺苦,那么如何構建出相關性網(wǎng)絡呢?
在基因的相關性網(wǎng)絡中产还,每個節(jié)點代表一個基因匹厘,節(jié)點之間的連線用來表示兩個基因的相關性。在傳統(tǒng)的相關性分析中脐区,通常會給定一個閾值愈诚,比如相關系數(shù)的絕對值必須大于0.9,才認為這兩個基因間存在相關性牛隅。對應的公式如下
S表示兩個基因間的相關系數(shù)的絕對值炕柔,公式如下
注意是絕對值,因為協(xié)同變化的基因可以是正相關媒佣,也可以是負相關匕累。給定一個閾值,如果兩個基因之間的相關系數(shù)大于該閾值默伍,則認為這兩個基因存在相關性欢嘿,在網(wǎng)絡圖中就用一條線將這兩個基因連接起來授霸;如果小于該閾值右锨,則不存在相關性寨腔。
通過閾值篩選,將兩個基因間的相關系數(shù)轉換為0和1,0代表沒有相關性孕豹,1代表有相關性框弛,所有基因之間的關系可以用以下矩陣來表示
geneA geneB geneC
geneA 0 1 1
geneB 1 0 1
geneC 1 0 0
這樣的矩陣稱之為鄰接矩陣辛辨,通過這個矩陣可以直觀的表示一個網(wǎng)絡,數(shù)值為1的點對應的兩個基因在網(wǎng)絡圖中有連線瑟枫。
用上述方法構建出的網(wǎng)絡斗搞,稱之為非加權的共表達網(wǎng)絡,對于兩個基因而言慷妙,其相關性是有強弱的僻焚,是一個在0到1 分為內波動的值,采用上述一刀切的方法膝擂,缺失了原本的變化趨勢虑啤,所以非加權的共表達網(wǎng)絡丟失了很多信息。
WGCNA的開發(fā)團隊提出了加權基因共表達網(wǎng)絡的概念架馋,怎么加權呢狞山,公式如下
在計算鄰接矩陣中兩個基因的值時,將原本的相關系數(shù)的絕對值做一個乘方運算叉寂。乘方運算強化了相關系數(shù)的變化層次萍启,比如原本系數(shù)相差,乘方運算后其差距會被拉大屏鳍,這樣使得數(shù)據(jù)可以區(qū)分的更開勘纯,有利于后續(xù)聚類識別modules, 同時乘方運算也保證了相關性關系的不變性,公式如下
取log之后钓瞭,二者是一個線性關系驳遵,采用乘方運算來計算基因間的鄰接矩陣,用該矩陣構建共表達網(wǎng)絡時降淮,兩個基因之間的連線不在是有無的關系超埋,而有對應的數(shù)字的加權了搏讶,這個就是加權基因共表達網(wǎng)絡佳鳖。
在構建加權基因共表達網(wǎng)絡時有幾點注意事項,最關鍵的一點是樣本數(shù)目媒惕,當樣本太少時系吩,簡單線性相關系數(shù)并不能有效識別基因間的相關性,會出現(xiàn)很多基因間的相關系數(shù)完全一致的情況妒蔚,這樣的數(shù)據(jù)就很難進一步挖掘穿挨,官方推薦至少20個樣本月弛,另外就是基因表達譜的數(shù)據(jù)的預處理,在計算相關性時科盛,表達量數(shù)值很低的基因容易造成干擾帽衙,會發(fā)現(xiàn)它與非常多的基因都存在相關性,所以可以指定一個閾值贞绵,將表達量很低的基因去除厉萝。
WGCNA如何從module中挖掘關鍵基因
識別到與表型數(shù)據(jù)相關的modules之后,還可以在該modules中進一步篩選基因榨崩,為了方便篩選谴垫,對于每個基因定義了以下三個統(tǒng)計量
1. ?connectivity
連接度,在之前的文章中母蛛,簡單提過這個概念翩剪,類似于網(wǎng)絡中節(jié)點的degree的概念,只不過在加權共表達網(wǎng)絡中彩郊,由于每條邊代表兩個基因間的相關性的大小前弯,對應一個數(shù)值,所以一個基因在共表達網(wǎng)絡中的連接度定義為與該基因相連的所有邊的數(shù)值之和秫逝。
另外博杖,根據(jù)相連的基因是否和該基因位于同一個module, 又可以將邊分為兩類,和該基因位于同一個module內筷登,定義為within剃根, 位于不同的modules, 定義為out。在WGCNA中前方,可以通過intramodularConnectivity函數(shù)計算連接度狈醉,用法如下
# 計算基因間的鄰接值
ADJ1=abs(cor(datExpr,use="p"))^6
#計算連接度
Alldegrees1=intramodularConnectivity(ADJ1, colorh1)
計算的結果如下
> head(Alldegrees1)
kTotal kWithin kOut kDiff
Gene1 31.80186 28.37595 3.425906 24.95005
Gene2 28.88249 26.47896 2.403522 24.07544
Gene3 25.38600 23.11852 2.267486 20.85103
KTotal代表該基因的所有邊的連接度,KWithin代表和該基因位于同一個module下的邊的連接度惠险,KOut代表和該基因位于不同module下的邊的連接度苗傅,所以KTotal是KWithin和KOut之和,KDiff代表KWithin和KOut的差值班巩。
在module中渣慕,會存在hub gene的概念,所謂的hub gene, 就是該module下連接度最大的基因抱慌,注意此時只考慮位于該module下的邊逊桦,就是上文的KWithin。
2. module member-ship
簡稱MM, 將該基因的表達量與module的第一主成分抑进,即module eigengene進行相關性分析就可以得到MM值强经,所以MM值本質上是一個相關系數(shù),如果基因和某個module的MM值為0寺渗,說明二者根本不相關匿情,該基因不屬于這個module; 如果MM的絕對值接近1兰迫,說明基因與該module相關性很高。
在WGCNA中炬称,計算基因與module之間的MM值的代碼如下
datKME = signedKME(
datExpr,
datME,
outputColumnName="MM.")
第一個參數(shù)為基因表達量汁果,第二個參數(shù)為Module Eigengene值,結果如下
> head(datKME)
MM.blue MM.brown MM.green MM.grey MM.turquoise MM.yellow
Gene1 0.6830511 0.11547756 -0.007124794 0.2840109 0.9481457 0.09588170
Gene2 0.6342657 0.02257975 0.080277091 0.3029967 0.9356343 0.06889483
Gene3 -0.6198067 -0.12531203 0.008372054 -0.2776929 -0.9121710 -0.17852211
Gene4 0.5966736 0.06469079 0.049862112 0.2671967 0.9052030 0.11707603
Gene5 0.6642214 0.14369720 -0.017975774 0.2442237 0.9017972 -0.01038067
Gene6 -0.6018161 -0.15167072 0.006667131 -0.2053897 -0.9192597 -0.17138960
3. gene signigicancer
簡稱GS, 將該基因的表達量與對應的表型數(shù)值進行相關性分析玲躯,最終的相關系數(shù)的值就是GS, GS反映出基因表達量與表型數(shù)據(jù)的相關性须鼎,計算GS的代碼如下
GS1=as.numeric(cor(y,datExpr, use="p"))
通過以上三個量化指標,可以方便對module下的基因進行篩選府蔗。通常情況下晋控,通過module和表型數(shù)據(jù)的相關性分析,我們可以篩選得到和感興趣的某一表型相關的具體的modules姓赤,在該module下面深入挖掘基因時赡译,可以通過MM和GS兩個指標作為過濾手段,示例如下
FilterGenes= abs(GS1)> .2 & abs(datKME$MM.brown)>.8
假設brown是我們找到的和表型高度相關的module, 其中的關鍵基因可以定義為和brown這一表型的GS值大于0.2不铆,而且MM值大于0.8的基因蝌焚。篩選出關鍵基因后,可以通過功能富集分析進一步挖掘其功能誓斥。
WGCNA實戰(zhàn)練習
本文采用WGCNA官網(wǎng)的Tutirial 1的數(shù)據(jù)只洒,對加權基因共表達網(wǎng)絡分析和后續(xù)的數(shù)據(jù)挖掘的具體操作進行梳理, 數(shù)據(jù)可以從官網(wǎng)下載劳坑,示意圖如下
整個分析流程可以分為以下幾個步驟
1. 數(shù)據(jù)預處理
這部分包括以下4個內容
讀取基因表達量數(shù)據(jù)
對樣本和基因進行過濾
讀取樣本表型數(shù)據(jù)
可視化樣本聚類樹和表型數(shù)據(jù)
官方的示例數(shù)據(jù)是一個小鼠的芯片表達譜數(shù)據(jù)毕谴,包含了135個雌性小鼠的數(shù)據(jù),在提供的表達譜數(shù)據(jù)中距芬,除了探針I(yè)D和樣本表達量之外涝开,還有額外的探針注釋信息,在讀取原始數(shù)據(jù)時框仔,需要把多余注釋信息去除舀武,代碼如下
# 讀取文件
options(stringsAsFactors = FALSE)
femData = read.csv("LiverFemale3600.csv")
# 去除多余的注釋信息列
datExpr0 = as.data.frame(t(femData[, -c(1:8)]))
names(datExpr0) = femData$substanceBXH
rownames(datExpr0) = names(femData)[-c(1:8)]
對于基因的表達量數(shù)據(jù),需要進行過濾离斩,對于基因而言银舱,可以過濾缺失值或者低表達的基因,對于樣本而言跛梗,如果該樣本中基因缺失值很多寻馏,也需要過濾,WGCNA內置了一個檢驗基因和樣本的函數(shù)茄袖,通過該函數(shù)可以進行一個基本過濾操软,代碼如下
gsg = goodSamplesGenes(datExpr0)
if (!gsg$allOK) {
datExpr0 = datExpr0[gsg$goodSamples, gsg$goodGenes]
}
goodSamples和goodGenes就是需要保留的基因和樣本嘁锯∠芟椋基礎過濾之后聂薪,還可以看下是否存在離群值的樣本,通過樣本的聚類樹進行判斷蝗羊,代碼如下
plot(sampleTree,
?main = "Sample clustering to detect outliers",
?sub="", xlab="", cex.lab = 1.5,
?cex.axis = 1.5, cex.main = 2)
生成的圖片如下
從圖上可以看出藏澳,F(xiàn)2_221 這個樣本和其他樣本差距很大,可以將該樣本過濾掉耀找。代碼如下
clust = cutreeStatic(
?sampleTree,
?cutHeight = 15,
?minSize = 10)
keepSamples = (clust==1)
datExpr = datExpr0[keepSamples, ]
nGenes = ncol(datExpr)
nSamples = nrow(datExpr)
表型數(shù)據(jù)中也包含了不需要的列翔悠,而且其樣本比表達譜的樣本多,需要根據(jù)表達譜的樣本提取對應的表型數(shù)據(jù)野芒,代碼如下
# 讀取文件
traitData = read.csv("ClinicalTraits.csv")
# 刪除多余的列
allTraits = traitData[, -c(31, 16)]
allTraits = allTraits[, c(2, 11:36) ]
# 樣本和表達譜的樣本保持一致
femaleSamples = rownames(datExpr)
traitRows = match(femaleSamples, allTraits$Mice)
datTraits = allTraits[traitRows, -1]
rownames(datTraits) = allTraits[traitRows, 1]
表達譜數(shù)據(jù)和表型數(shù)據(jù)準備好之后蓄愁,可以繪制樣本聚類樹和表型的熱圖,代碼如下
# 由于去除了樣本狞悲,重新對剩余樣本聚類
sampleTree2 = hclust(dist(datExpr), method = "average")
traitColors = numbers2colors(datTraits, signed = FALSE)
plotDendroAndColors(
?sampleTree2,
?traitColors,
?groupLabels = names(datTraits),
?main = "Sample dendrogram and trait heatmap")
生成的圖片如下
上半部分為樣本的聚類樹撮抓,下班部分為樣本對應的表型的熱圖,順序和聚類樹中的順序一致摇锋,表達量從低到高丹拯,顏色從白色過渡到紅色,灰色代表缺失值荸恕。
2. 構建共表達網(wǎng)絡乖酬,識別modules
在構建共表達網(wǎng)絡時,將基因間的相關系數(shù)進行乘方運算來表征其相關性融求,首先需要確定乘方的值咬像,代碼如下
# 設定一些列power梯度
powers = c(c(1:10), seq(from = 12, to=20, by=2))
sft = pickSoftThreshold(datExpr, powerVector = powers, verbose = 5)
在sft這個對象中保存了每個power值計算出來的網(wǎng)絡的特征,結構如下
> str(sft)
List of 2
$ powerEstimate: num 6
$ fitIndices ? :'data.frame': ? ?15 obs. of ?7 variables:
?..$ Power ? ? ? ? : num [1:15] 1 2 3 4 5 6 7 8 9 10 ...
?..$ SFT.R.sq ? ? ?: num [1:15] 0.0278 0.1264 0.3404 0.5062 0.6807 ...
?..$ slope ? ? ? ? : num [1:15] 0.345 -0.597 -1.03 -1.422 -1.716 ...
?..$ truncated.R.sq: num [1:15] 0.456 0.843 0.972 0.973 0.94 ...
?..$ mean.k. ? ? ? : num [1:15] 747 254.5 111 56.5 32.2 ...
?..$ median.k. ? ? : num [1:15] 761.7 250.8 101.7 47.2 25.1 ...
?..$ max.k. ? ? ? ?: num [1:15] 1206 574 324 202 134 ...
其中powerEstimate就是最佳的power值生宛,fitIndices保存了每個power對應的網(wǎng)絡的特征施掏。我們可以對不同power取值下,網(wǎng)絡的特征進行可視化茅糜,代碼如下
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=0.9,
?col="red"
)
abline(h=0.90, col="red")
生成的圖片如下
sft$fitIndices保存了每個power構建的相關性網(wǎng)絡中的連接度的統(tǒng)計值七芭,k就是連接度值,可以看到蔑赘,對于每個power值狸驳,提供了max,?median,?max3種連接度的統(tǒng)計量,這里對連接度的均值進行可視化缩赛,代碼如下
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"
)
生成的圖片如下
確定好power值之后耙箍,可以直接構建相關性網(wǎng)絡
net = blockwiseModules(
datExpr,
power = sft$powerEstimate,
TOMType = "unsigned",
minModuleSize = 30,
reassignThreshold = 0,
mergeCutHeight = 0.25,
numericLabels = TRUE,
pamRespectsDendro = FALSE,
saveTOMs = TRUE,
saveTOMFileBase = "femaleMouseTOM",
verbose = 3)
net對象中保存了所有相關性網(wǎng)絡和module的結果,可以將基因的聚類樹和對應的module進行可視化酥馍,代碼如下
mergedColors = labels2colors(net$colors)
plotDendroAndColors(
?net$dendrograms[[1]],
?mergedColors[net$blockGenes[[1]]],
?"Module colors",
?dendroLabels = FALSE,
?hang = 0.03,
?addGuide = TRUE,
?guideHang = 0.05
)
生成的圖片如下
上方為基因的聚類樹辩昆,聚類時的距離為1-TOM值,下方為基因對應的modules旨袒。類似的汁针,還可以結合基因間的距離术辐,即1-TOM值,用熱圖展示施无,代碼如下
geneTree = net$dendrograms[[1]]
moduleColors = labels2colors(net$colors)
dissTOM = 1 - TOMsimilarityFromExpr(
?datExpr,
?power = sft$powerEstimate)
plotTOM = dissTOM ^ 7
diag(plotTOM) = NA
TOMplot(
?plotTOM,
?geneTree,
?moduleColors,
?main = "Network heatmap plot, all genes"
)
生成的圖片如下
在前面文章我們提到過辉词,在識別module的過程中共,首先用dynamicTreeCut識別modules, 然后根據(jù)Module eigengene間的相關性合并modules,net`這個對象中保存了合并前和合并后的modules, 可以將二者畫在同一張圖上猾骡,可視化代碼如下
unmergedColors = labels2colors(net$unmergedColors)
mergedColors ? = labels2colors(net$colors)
plotDendroAndColors(
?net$dendrograms[[1]],
?cbind(unmergedColors[net$blockGenes[[1]]], mergedColors[net$blockGenes[[1]]]),
?c("Dynamic Tree Cut" , "Merged colors"),
?dendroLabels = FALSE,
?hang = 0.03,
?addGuide = TRUE,
?guideHang = 0.05
)
生成的圖片如下
對于合并前的modules, 其相關性分析的結果可視化如下
unmergedColors = labels2colors(net$unmergedColors)
MEList = moduleEigengenes(datExpr, colors = unmergedColors)
MEs = MEList$eigengenes
MEDiss = 1-cor(MEs)
METree = hclust(as.dist(MEDiss), method = "average")
plot(METree,
? ? main = "Clustering of module eigengenes",
? ? xlab = "",
? ? sub = "")
生成的圖片如下
對于每個module而言瑞躺,我們希望知道該module下對應的基因,提取方式如下
> moduleColors = labels2colors(net$colors)
> unique(moduleColors)
[1] "grey" ? ? ? ? "turquoise" ? ?"grey60" ? ? ? "yellow" ? ? ? "tan" ? ? ? ?
[6] "green" ? ? ? ?"red" ? ? ? ? ?"black" ? ? ? ?"blue" ? ? ? ? "midnightblue"
[11] "cyan" ? ? ? ? "magenta" ? ? ?"salmon" ? ? ? "lightgreen" ? "brown" ? ? ?
[16] "purple" ? ? ? "pink" ? ? ? ? "greenyellow" ?"lightcyan"
> head(names(datExpr)[moduleColors=="red"])
[1] "MMT00000159" "MMT00000793" "MMT00000840" "MMT00001154" "MMT00001245"
[6] "MMT00001260"
同樣我們也可以提取module對應的基因表達量數(shù)據(jù)兴想,繪制熱圖, 代碼如下
which.module="red"
plotMat(
t(scale(datExpr[,moduleColors==which.module ]) ),
nrgcols=30,
rlabels=F,
rcols=which.module,
main=which.module,
cex.main=2
)
生成的圖片如下
3. 篩選與表型相關的modules
本質上是計算module的ME值與表型的相關系數(shù)幢哨,代碼如下
nGenes = ncol(datExpr)
nSamples = nrow(datExpr)
MEs0 = moduleEigengenes(datExpr, moduleColors)$eigengenes
MEs = orderMEs(MEs0)
moduleTraitCor = cor(
MEs,
datTraits,
use = "p"
)
moduleTraitPvalue = corPvalueStudent(
moduleTraitCor,
nSamples
)
可以對module和表型間的系數(shù)的結果進行可視化,代碼如下
textMatrix = ?paste(
signif(moduleTraitCor, 2),
"\n(",
signif(moduleTraitPvalue, 1),
")",
sep = ""
)
dim(textMatrix) = dim(moduleTraitCor)
labeledHeatmap(
Matrix = moduleTraitCor,
xLabels = names(datTraits),
yLabels = names(MEs),
ySymbols = names(MEs),
colorLabels = FALSE,
colors = blueWhiteRed(50),
textMatrix = textMatrix,
setStdMargins = FALSE,
cex.text = 0.5,
zlim = c(-1,1),
main = paste("Module-trait relationships")
)
生成的圖片如下
指定一個我們感興趣的表型嫂便,可以得到與其相關性最高的module, 代碼如下
> which.trait <- "weight_g"
> moduleTraitCor[, which.trait]
> moduleTraitCor[, which.trait]
? ? MEmagenta ? ? ? ?MEblack ? ?MEturquoise ? ? ? ?MEgreen ? ?MElightcyan
?-0.017418109 ? -0.312679561 ? -0.272907078 ? ?0.001339804 ? -0.128053858
? ? ? ?MEblue ? ? ? ?MEbrown ? ? ? ? ?MEred ? ? ? MEsalmon ? ? ? MEyellow
? 0.314323101 ? ?0.591340840 ? ?0.509942529 ? ?0.432058666 ? ?0.219900538
?MElightgreen ?MEgreenyellow ? ? ? MEgrey60 ? ? ? ? MEpink ? ? ? MEpurple
?-0.057215182 ? -0.022394396 ? -0.016705204 ? -0.051495573 ? -0.021167541
? ? ? ? MEtan ? ? ? ? MEcyan MEmidnightblue ? ? ? ? MEgrey
? 0.269827166 ? ?0.181595161 ? ?0.193569095 ? ?0.089702947
以上結果中嘱么,和weight_g最相關的為module為MEred,當然也可以自己指定一個閾值顽悼,篩選出多個候選的modules曼振。在WGCNA中,對于基因定義了GS值蔚龙,表征基因和表型之間的相關性冰评,對于module而言,也可以用所有基因GS絕對值的平均數(shù)來表征該module與表型之間的相關性木羹,代碼如下
moduleColors = labels2colors(net$colors)
which.trait <- "weight_g"
y <- datTraits[, which.trait]
GS <- as.numeric(cor(y ,datExpr, use="p"))
GeneSignificance <- ?abs(GS)
ModuleSignificance <- tapply(
GeneSignificance,
moduleColors, mean, na.rm=T)
plotModuleSignificance(GeneSignificance, moduleColors)
生成的圖片如下
可以看到brown,?red這兩個模塊和體重相關甲雅。對于ME和某一表型而言,還可以將數(shù)據(jù)合并坑填,聚類展示抛人,代碼如下
weight <- datTraits[, which.trait]
MEs0 = moduleEigengenes(datExpr, moduleColors)$eigengenes
MEs = orderMEs(MEs0)
MET = orderMEs(cbind(MEs, weight))
par(mar = c(4, 2, 1, 2), cex = 0.9)
plotEigengeneNetworks(
MET, "",
marDendro = c(0,4,1,2),
marHeatmap = c(3,4,1,2),
cex.lab = 0.8,
xLabelsAngle = 90
)
生成的圖片如下
4. 篩選關鍵基因
篩選出與表型高相關的modules之后,還可以對modules下的基因進行進一步篩選脐瑰,主要根據(jù)GS值和MM值妖枚,代碼如下
datKME = signedKME(
datExpr,
MEs,
outputColumnName="MM.")
FilterGenes= abs(GS1)> .2 & abs(datKME$MM.brown)>.8
篩選出候選基因后,可以進行下游的功能富集分析苍在,使用clusterProfiler等R包绝页,進一步挖掘功能,之前的文章有詳細介紹如何進行富集分析寂恬,這里就不展開了续誉。
5. 導出module數(shù)據(jù), 繪制網(wǎng)絡圖
可以導出指定modules對應的基因共表達網(wǎng)絡,方便可視化初肉,代碼如下
TOM = TOMsimilarityFromExpr(datExpr, power = 6)
modules = c("brown", "red")
probes = names(datExpr)
inModule = is.finite(match(moduleColors, modules));
modProbes = probes[inModule];
modTOM = TOM[inModule, inModule];
dimnames(modTOM) = list(modProbes, modProbes)
cyt = exportNetworkToCytoscape(
modTOM,
edgeFile = paste("CytoscapeInput-edges-", paste(modules, collapse="-"), ".txt", sep=""),
nodeFile = paste("CytoscapeInput-nodes-", paste(modules, collapse="-"), ".txt", sep=""),
weighted = TRUE,
threshold = 0.02,
nodeNames = modProbes,
nodeAttr = moduleColors[inModule]
)
最終會生成以下兩個文件酷鸦,可以導入cytoscape進行繪圖
CytoscapeInput-edges-brown-red.txt
CytoscapeInput-nodes-brown-red.txt
當然也支持導出VisANT軟件支持的格式,詳細用法請參閱官網(wǎng)的幫助文檔。
·end·
*****看完了才發(fā)現(xiàn)其實官網(wǎng)是原版臼隔,看完官網(wǎng)才發(fā)現(xiàn)嘹裂,其實這個資料更直白,附鏈接https://wenku.baidu.com/view/068a1d0d3069a45177232f60ddccda38376be1aa.html
總之躬翁,各種資料都看一遍焦蘑,有助于理解吧盯拱。
最后附上一個找到的視頻盒发,有人講解當然更靠譜!大家加油狡逢!http://www.omicshare.com/class/home/index/singlev/id/20/chpid/23/id2/Mg==
又看到比較靠譜的宁舰,當作復習看吧。https://mp.weixin.qq.com/s/n2DDYAvnnDO5Gw8QsrXCXQ
http://www.reibang.com/p/b7626aef5efb
https://mp.weixin.qq.com/s/OUPcQ4tl26x4QiDBMRTbIg
https://mp.weixin.qq.com/s/tGZcSqL0lzb3pJlX1TnfpA
這是文獻分析
https://mp.weixin.qq.com/s/-DthUKY2RTY6vxtxapzLkw
我就是資料整理者奢浑!