Upload
hoangtu
View
225
Download
1
Embed Size (px)
Citation preview
R Tutorial: Understanding Network Concepts in Modules
Applied to Yeast Microarray Data Jun Dong, Steve Horvath
Correspondence: [email protected], http://www.ph.ucla.edu/biostat/people/horvath.htm This R tutorial describes how to carry out a gene co-expression network analysis based on factorizability decomposition with the R software. We show how to perform the factorizability decomposition and calculate important module network concepts such as density, centralization, heterogeneity, conformities and factorizability. Other quantities include connectivity and clustering coefficients. We investigate their interrelationship. This is a self-contained tutorial that assumes the modules have already been classified and the network constructed. To review network construction and module identification, consult Zhang and Horvath (2005) and the tutorial that can be found here http://www.genetics.ucla.edu/labs/horvath/GeneralFramework/ Other references • Bin Zhang and Steve Horvath (2005) "A General Framework for Weighted Gene
Co-Expression Network Analysis", Statistical Applications in Genetics and Molecular Biology: Vol. 4: No. 1, Article 17. http://www.bepress.com/sagmb/vol4/iss1/art17
• Bi Eisen, M. and Spellman, P. and Brown, P. and Botstein, D. (1998) Cluster Analysis and Display of Genome-wide Expression Patterns, PNAS, vol 95 (25) 14863-14868.
General instructions: There are two network function files. One (NetworkFunctions.txt) is used in Zhang and Horvath (2005). The other (NetworkFunctions1.txt) contains additional functions used only in this analysis, which are also maintained separately.
# =================================================== # Read in the libraries and check the size of memory. # =================================================== # Libraries library(sna) # this is needed for closeness, DegreeInOut library(MASS) library(cluster) library(sma) # different from sna! this is needed for plot.mat below library(impute) # needed for imputing missing value before PCA library(splines) # for the spline predictor to estimate the number of clusters library(Hmisc) # install it for the C-index calculations # Memory # memory.size(TRUE) # check the maximum memory that can be allocated memory.limit(size=3448) # increase the available memory to 3GB # ===================================================
# Read in all the functions for network analysis and load the data. # =================================================== # put the data file and the two function files in this directory. #You should change the path to your own where you put your files. This is mandatory. #setwd("E:/ModuleNetworks/Yeast-GCE"); source("NetworkFunctions.txt"); source("NetworkFunctions1.txt"); # ===================================================
# Prepare the data. # =================================================== dat0 <- read.csv("YEASTCellCycle4000.csv",header=T, row.names=1) # the following gene summary file contains information on the yeast genes datSummary=dat0[,1:7] # the column essentiality indicates which gene is essential for yeast survival table(datSummary$essentiality) # message: there are 645 essential genes # the following data frame contains the gene expression data: columns are genes, rows are arrays (samples) datExpr <- dat0[,8:51] # Now we define the adjacency matrix for a weighted network, i.e. soft thresholding. # Calculate the Pearson Correlation Matrix corhelp=cor(t(datExpr),use="pairwise.complete.obs") # use the power adjacency function power1=7 AdjMat1 = abs(corhelp)^ power1
diag(AdjMat1)=0 # This is the definition of the connectivity, a.k.a degree Degree <- apply(AdjMat1,2,sum) # ===================================================
# Construct modules. # =================================================== # This code allows one to restrict the analysis to the most connected genes, which may speed up calculations when it comes to module detection. DegCut = 2001 # number of most connected genes that will be considered DegreeRank <- rank(-Degree) restDegree <- DegreeRank <= DegCut # thus our module detection uses the following number of genes sum(restDegree) # Now we restrict the adjacency matrix to the most connected genes AdjMat1rest <- AdjMat1[restDegree,restDegree] # The following code computes the topological overlap matrix based on the adjacency matrix. dissGTOM1=TOMdist1(AdjMat1rest) collect_garbage() # Now we carry out hierarchical clustering with the TOM matrix. Branches of the resulting clustering tree will be used to define gene modules. hierGTOM1 <- hclust(as.dist(dissGTOM1),method="average"); colorh1=as.character(modulecolor2(hierGTOM1,h1=.97)) table(colorh1) colorlevel1=levels(factor(colorh1)) grey=5 # To flag which module is the grey module Alldegrees1=DegreeInOut(as.matrix(AdjMat1rest),colorh1) datExpr2=datExpr[restDegree,] #rm(DegreeRank,AdjMat1, AdjMat1rest, corhelp, dissGTOM1, datExpr); collect_garbage(); par(mfrow=c(2,1), mar=c(0,2,2,0)) plot(hierGTOM1, main="Yeast Co-expression Network: Soft Thresholding", labels=F, xlab="", sub=""); hclustplot1(hierGTOM1,colorh1, title1="Colored by module membership") # Figure 1(C). Hierarchical clustering dendrogram and module definition.
0.5
0.6
0.7
0.8
0.9
1.0
Yeast Co-expression Network: Soft Thresholding
Colored by module membership
AdjMat1resthard= abs(corhelp) >= 0.65 AdjMat1resthard = AdjMat1resthard [restDegree,restDegree] dissGTOM1hard=TOMdist1(AdjMat1resthard) hierGTOM1hard <- hclust(as.dist(dissGTOM1hard),method="average"); windows() par(mfrow=c(2,1), mar=c(0,2,2,0)) plot(hierGTOM1hard, main=" Yeast Co-expression Network: Hard Thresholding", labels=F, xlab="", sub=""); hclustplot1(hierGTOM1hard,colorh1, title1="Colored by module membership of Soft Thresholding") # Figure 1(D). Hierarchical clustering dendrogram and module definition. The colors in the second panel used the module definition of the weighted networks.
0.0
0.2
0.4
0.6
0.8
1.0
Yeast Co-expression Network: Hard Thresholding
Colored by module membership of Soft Thresholding
# The following verifies that module definition is relatively robust to the height cutoff. # This is especially true for tighter modules (more distinctive branches). windows(width=8, height=10) par(mfrow=c(6,1), mar=c(2,2,2,1)) plot(hierGTOM1, main="Standard TOM Measure", labels=F, xlab="", sub=""); hclustplot1(hierGTOM1,colorh1, title1="Our chosen height cutoff = 0.94") for(varheightcutoff in c(0.94, 0.95, 0.96, 0.975) ){ colorhvar=as.character(modulecolor2(hierGTOM1,h1=varheightcutoff)) hclustplot1(hierGTOM1,colorhvar, title1=paste("Height cutoff =", varheightcutoff)) }
0.5
0.7
0.9
Standard TOM Measure
Our chosen height cutoff = 0.94
Height cutoff = 0.94
Height cutoff = 0.95
Height cutoff = 0.96
Height cutoff = 0.975
# ===================================================
# Analysis based on Factorizability Decompostition (FD). # =================================================== # FDADJ() is a function that calculates various module specific quantities. The name is the abbreviation for "Factorizability Decomposition of ADJacency matrices". In default, this function uses the function NPC.iterate() to calculate the conformity, which is based on the iterative algorithm described in the manuscript. In very rare cases, it takes a long time for the algorithm to converge. # =================================================== # Weighted network: Soft Thresholding Method
# =================================================== # First, we apply FDADJ() to a weighted network that uses power adjacency function with power1=7. power1=7 time.start=Sys.time() for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp)^power1 assign(paste("FDsoft", colorlevel1[i],sep=""), FDADJ(adjtemp)) rm(adjtemp);collect_garbage() } time.end=Sys.time() time.end-time.start # total time for running this part # Construct the table 1. module.soft=matrix(NA, ncol=length(colorlevel1), nrow= length(FDsoftturquoise$summary.names)) colnames(module.soft)=colorlevel1 rownames(module.soft)= FDsoftturquoise$summary.names for(i in 1:length(colorlevel1)){ temp=eval(as.name(paste("FDsoft",colorlevel1[i],sep=""))) module.soft[,i]=temp$summary } signif(module.soft[-1,],3) write.table(module.soft, "YeastSoft.xls", sep="\t", row.names=T, col.names=T) # =================================================== # Unweighted network: Hard Thresholding Method # =================================================== # Construct the adjacency matrix for the whole unweighted network. tau=0.65 # cut-off value in hard-thresholding method time.start=Sys.time() for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp) >= tau assign(paste("FDhard", colorlevel1[i],sep=""), FDADJ(adjtemp)) rm(adjtemp);collect_garbage() } time.end=Sys.time() time.end-time.start # total time for running this part # Construct the table 1. module.hard=matrix(NA, ncol=length(colorlevel1), nrow= length(FDhardturquoise$summary.names)) colnames(module.hard)=colorlevel1 rownames(module.hard)= FDhardturquoise$summary.names for(i in 1:length(colorlevel1)){
temp=eval(as.name(paste("FDhard",colorlevel1[i],sep=""))) module.hard[,i]=temp$summary } signif(module.hard[-1,],3) write.table(module.hard, "YeastHard.xls", sep="\t", row.names=T, col.names=T) #========================================
# Plots in main article #======================================== nrow=3; ncol=3;
### Weighted ### #======================================== # Fundamental network concepts versus approximate CF-based concepts #======================================== windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[5,], module.soft[3,], col=colorlevel1, xlab="Approximate CF-Based Density", ylab="Density", main= paste("p=", power1, ", R^2=",signif(cor(module.soft[5,],module.soft[3,])^2,2),sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) # abline(test2$coef) abline(0,1, col=2) ### Figure 4: Density versus Approximate CF-based Density
0.00 0.05 0.10 0.15 0.20
0.00
0.05
0.10
0.15
0.20
p=7, R^2=1
Approximate CF-Based Density
Den
sity
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[8,], module.soft[6,], col=colorlevel1, xlab="Approximate CF-Based Centralization", ylab="Centralization", main=paste("p=",power1,", R^2=",signif(cor(module.soft[8,],module.soft[6,])^2,2), sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(0,1, col=2) ### Figure 4(A): Centralization versus Approximate CF-based Centralization
0.04 0.06 0.08 0.10 0.12 0.14 0.16
0.02
0.04
0.06
0.08
0.10
0.12
0.14
p=7, R^2=0.99
Approximate CF-Based Centralization
Cen
traliz
atio
n
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[11,], module.soft[9,], col=colorlevel1, xlab="Approximate CF-Based Heterogeneity", ylab="Heterogeneity", main= paste("p=",power1,sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) # abline(test2$coef) abline(0,1, col=2) ### Figure 4(C): Heterogeneity versus Approximate CF-based Heterogeneity
0.5 0.6 0.7 0.8 0.9 1.0
0.50
0.55
0.60
0.65
p=7
Approximate CF-Based Heterogeneity
Het
erog
enei
ty
CC.soft=NULL for(i in 1:length(colorlevel1) ){ temp=eval(as.name(paste("FDsoft",colorlevel1[i],sep=""))) CC.soft=c(CC.soft, temp$ClusterCoef) } CC.soft.new=rep(module.soft[14,],module.soft[1,]) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[14,], module.soft[12,], col=colorlevel1, pch="-", ylab="Clustering Coefficients", xlab="Approximate CF-Based Clustering Coefficients", cex=2, ylim= range(CC.soft),cex.main=2,cex.lab=1.5) abline(0,1, col=2) points(CC.soft.new, CC.soft, col=rep(colorlevel1, module.soft[1,]), pch="o", cex=0.4) title(paste("p=",power1, ", R^2=",signif(cor(CC.soft.new, CC.soft)^2,2), sep=""),cex.main=2) ### Figure 4(E): Clustering Coefficients versus Approximate CF-based Clustering Coefficients
-----
-
-
--
0.05 0.10 0.15 0.20 0.25 0.30
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
Approximate CF-Based Clustering Coefficients
Clu
ster
ing
Coe
ffici
ents
o
o
o
o
o
ooooooo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
o
o
o
o
oo
ooo
o
oo
o
oooo
o
oo
ooooo
o
oo
ooooo
oo
o
o
o
o
oo
o
o
oooooooooo
o
oooooooooo
o
o
o
o
o
oo
oo
o
o
oo
oo
o
o
oooo
o
oo
o
o
ooooo
oo
o
oo
o
o
oo
oo
oo
oooo
o
o
ooooo
o
o
oo
o
o
oo
oo
oo
o
ooo
o
o
o
ooo
oo
ooooo
o
oo
ooo
o
oooo
o
oooo
ooo
o
o
o
oooo
o
o
o
o
o
oo
o
o
oo
o
o
o
o
ooo
o
o
ooo
o
o
o
oooo
ooo
o
o
ooo
oooooooo
oooooooo
o
oo
oo
o
oooooooo
o
oooooo
oo
o
ooooo
o
o
o
o
oo
ooooo
o
oooooooo
o
o
oooo
o
oooo
oo
o
oo
o
o
o
o
oo
o
ooooo
oooooooo
o
o
ooo
o
o
ooooooo
ooooooo
o
oooo
oo
oo
oo
o
oo
oo
o
o
o
oooo
o
o
o
oooo
oo
oooooooo
ooooo
o
oooooooooooo
o
oooooo
o
oooooo
o
o
o
oooooo
o
ooo
o
oooooo
o
o
oooo
o
oo
o
oooooo
oooooooooooooo
oooooo
o
oooooooooooo
oooo
o
oooooo
oooooo
o
o
o
ooooo
o
ooo
oooooo
o
ooo
ooooo
ooo
o
o
o
ooooooo
o
ooo
o
oooooooooo
o
o
oooo
ooooooo
o
oooo
o
ooooo
ooooooooooo
oooooooooooooo
o
ooo
o
oooooooo
o
oooo
o
o
oo
oooooooo
oo
o
ooooo
o
ooooo
o
oooooo
o
o
o
ooooooooooo
ooo
o
o
oooo
ooooooooo
o
oooooooo
oooo
oo
oooooooooooooo
oooooooooo
oooooooo
o
oooooooooo
o
o
o
oooo
ooooo
ooo
o
oooo
o
oo
o
oo
oooooooooooooooooo
ooooo
oo
o
oooooooooo
o
o
o
o
o
o
ooo
o
o
oooooooooooooooooooooo
o
o
ooo
o
ooo
o
ooo
ooooo
o
o
o
ooooooo
ooooooo
oo
o
oo
o
o
oo
o
ooo
o
oooo
o
o
o
o
ooo
o
ooooo
o
oo
o
ooo
o
ooooooooooooo
o
ooooooooo
o
o
oooooooo
o
ooooooooo
o
oooo
ooooooooooooooooooo
o
oo
oooooo
o
oo
ooooo
ooooooo
oooooooooooooo
o
ooooooo
ooooooooooooooo
o
o
oooo
o
ooooooooooooooooo
oo
o
o
oooo
o
oooooooooooooo
o
oo
o
oooooo
o
o
ooo
o
oo
o
ooooooooooooooooo
o
ooooooo
oooo
o
ooooo
oo
ooooooooo
ooo
ooooooooooooooo
o
oo
ooooooooooo
oooooooooo
oooo
o
ooooooooo
o
o
o
o
ooo
o
ooooooooooooooooooooooo
o
oooooo
o
o
oooo
ooo
o
oo
oooooooooo
o
o
ooo
oo
ooo
oo
o
o
ooo
oooooooooo
o
ooooooo
o
o
ooooo
o
o
o
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oooo
o
oo
ooooooo
o
o
oo
o
oooooooooooo
o
oooooooooooo
o
oooooo
o
ooo
ooooooooooo
oooooo
oo
oooooooooo
oo
ooo
oooo
o
o
ooo
oo
ooo
o
o
o
oo
oooo
ooooooo
o
oooo
oooooooo
oooooooo
o
o
ooooooooo
ooooooo
o
oooooooo
o
o
o
oooooooo
oooo
ooo
oooooo
ooooooo
o
oooooooo
o
oooo
o
ooooo
ooooooooo
oo
o
o
o
oooo
oo
ooooo
ooooo
ooooo
ooooo
o
ooo
oo
ooooo
o
o
oooooooooo
o
oo
o
ooo
oooo
o
oooooooo
o
ooo
o
oo
oooooooooo
ooooo
oooooo
o
oo
o
oo
ooo
o
o
o
o
o
oooooo
o
ooo
ooo
o
ooooooooooooooooooooooo
o
oo
oooo
oooooooooo
oooooooo
oo
o
ooooo
p=7, R^2=0.82
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
ooooooo
o
oooo
o
o
o
o
o
ooooo
ooo
o
o
oo
ooo
oo
o
o
ooo
o
ooo
o
o
oo
o
ooooooooo
ooo
o
oo
o
oo
o
oo
ooo
o
o
o
o
o
o
oooooooo
o
o
o
oo
o
o
oo
o
o
o
ooo
o
o
oo
ooo
oo
o
oo
o
oooo
o
ooooooo
oo
ooo
o
o
o
oo
o
o
oooo
o
o
oooo
o
o
oo
oo
o
ooo
o
o
o
oo
o
ooo
o
o
#======================================== # Relationships among fundamental network concepts #======================================== CC.soft=NULL for(i in 1:length(colorlevel1) ){ temp=eval(as.name(paste("FDsoft",colorlevel1[i],sep=""))) CC.soft=c(CC.soft, temp$ClusterCoef) } CC.soft.new=(module.soft[9,]^2+1)^2*module.soft[3,] windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(CC.soft.new, module.soft[12,], col=colorlevel1, pch="-", ylab="Clustering Coefficient", xlab="(1+Heterogeneity^2)^2*Density", cex=2, cex.main=2, cex.lab=1.5, ylim=range(CC.soft)) abline(0,1, col=2) points(rep(CC.soft.new, module.soft[1,]), CC.soft, col=rep(colorlevel1, module.soft[1,]), pch="o", cex=0.4) title(paste("p=",power1,", R^2=",signif(cor(rep(CC.soft.new, module.soft[1,]), CC.soft)^2,2), sep=""),cex.main=2) ### Figure 7(A): Approximation of Clustering Coefficients by Equation (11)
-----
-
-
--
0.00 0.05 0.10 0.15 0.20 0.25 0.30
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
(1+Heterogeneity^2)^2*Density
Clu
ster
ing
Coe
ffici
ent
o
o
o
o
o
ooooooo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
o
o
o
o
oo
ooo
o
oo
o
oooo
o
oo
ooooo
o
oo
ooooo
oo
o
o
o
o
oo
o
o
oooooooooo
o
oooooooooo
o
o
o
o
o
oo
oo
o
o
oo
oo
o
o
oooo
o
oo
o
o
ooooo
oo
o
oo
o
o
oo
oo
oo
oooo
o
o
ooooo
o
o
oo
o
o
oo
oo
oo
o
ooo
o
o
o
ooo
oo
ooooo
o
oo
ooo
o
oooo
o
oooo
ooo
o
o
o
oooo
o
o
o
o
o
oo
o
o
oo
o
o
o
o
ooo
o
o
ooo
o
o
o
oooo
ooo
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
ooooo
o
oooo
o
o
o
o
o
ooooo
ooo
o
o
oo
ooo
oo
o
o
ooo
o
ooo
o
o
oo
oo
ooooo
o
o
oooo
ooo
o
oo
o
oo
o
oo
ooo
o
o
oooo
oo
oooooooo
ooooo
o
oooooooooooo
o
oooooo
o
oooooo
o
o
o
oooooo
o
ooo
o
oooooo
o
o
oooo
o
oo
o
oooooo
oooooooooooooo
oooooo
o
oooooooooooo
oooo
o
oooooo
oooooo
o
o
o
ooooo
o
ooo
oooooo
o
ooo
ooooo
ooo
o
o
o
ooooooo
o
ooo
o
oooooooooo
o
o
oooo
ooooooo
o
oooo
o
ooooo
ooooooooooo
oooooooooooooo
o
ooo
o
oooooooo
o
oooo
o
o
oo
oooooooo
oo
o
ooooo
o
ooooo
o
oooooo
o
o
o
ooooooooooo
ooo
o
o
oooo
ooooooooo
o
oooooooo
oooo
oo
oooooooooooooo
oooooooooo
oooooooo
o
oooooooooo
o
o
o
oooo
ooooo
ooo
o
oooo
o
oo
o
oo
oooooooooooooooooo
ooooo
oo
o
oooooooooo
o
o
o
o
o
o
ooo
o
o
oooooooooooooooooooooo
o
o
ooo
o
ooo
o
ooo
ooooo
o
o
o
ooooooo
ooooooo
oo
o
oo
o
o
oo
o
ooo
o
oooo
o
o
o
o
ooo
o
ooooo
o
oo
o
ooo
o
ooooooooooooo
o
ooooooooo
o
o
oooooooo
o
ooooooooo
o
oooo
ooooooooooooooooooo
o
oo
oooooo
o
oo
ooooo
ooooooo
oooooooooooooo
o
ooooooo
ooooooooooooooo
o
o
oooo
o
ooooooooooooooooo
oo
o
o
oooo
o
oooooooooooooo
o
oo
o
oooooo
o
o
ooo
o
oo
o
ooooooooooooooooo
o
ooooooo
oooo
o
ooooo
oo
ooooooooo
ooo
ooooooooooooooo
o
oo
ooooooooooo
oooooooooo
oooo
o
ooooooooo
o
o
o
o
ooo
o
ooooooooooooooooooooooo
o
oooooo
o
o
oooo
ooo
o
oo
oooooooooo
o
o
ooo
oo
ooo
oo
o
o
ooo
oooooooooo
o
ooooooo
o
o
ooooo
o
o
o
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oooo
o
oo
ooooooo
o
o
oo
o
oooooooooooo
o
oooooooooooo
o
oooooo
o
ooo
ooooooooooo
oooooo
oo
oooooooooo
oo
ooo
oooo
o
o
ooo
oo
ooo
o
o
o
oo
oooo
ooooooo
o
oooo
oooooooo
oooooooo
o
o
ooooooooo
ooooooo
o
oooooooo
o
o
o
oooooooo
oooo
ooo
oooooo
ooooooo
o
oooooooo
o
oooo
o
ooooo
ooooooooo
oo
o
o
o
oooo
oo
ooooo
ooooo
ooooo
ooooo
o
ooo
oo
ooooo
o
o
oooooooooo
o
oo
o
ooo
oooo
o
oooooooo
o
ooo
o
oo
oooooooooo
ooooo
oooooo
o
oo
o
oo
ooo
o
o
o
o
o
oooooo
o
ooo
ooo
o
ooooooooooooooooooooooo
o
oo
oooo
oooooooooo
oooooooo
oo
o
ooooo
p=7, R^2=0.82
oooooooo
oooooooo
o
oo
oo
o
oooooooo
o
oooooo
oo
o
ooooo
o
o
o
o
oo
ooooo
o
oooooooo
o
o
oooo
o
oooo
oo
o
oo
o
o
o
o
oo
o
ooooo
oooooooo
o
o
ooo
o
o
ooooooo
ooooooo
o
oooo
oo
oo
oo
o
oo
oo
oo
o
o
o
o
oooooooo
o
o
o
oo
o
o
oo
o
o
o
ooo
o
o
oo
ooo
oo
o
oo
o
oooo
o
ooooooo
oo
ooo
o
o
o
oo
o
o
oooo
o
o
oooo
o
o
oo
oo
o
ooo
o
o
o
oo
o
ooo
o
o
TOM.soft=NULL for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp)^power1 dissGTOM2=1-TOMdist2(as.matrix(adjtemp)) temp=eval(as.name(paste("FDsoft",colorlevel1[i],sep=""))) j=order(-temp$kWithin)[1] TOM.soft=c(TOM.soft, dissGTOM2[,j]) } TOM.max=(module.soft[6,]+module.soft[3,])*(1+module.soft[9,]^2) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(rep(TOM.max, module.soft[1,]), TOM.soft, col=rep(colorlevel1, module.soft[1,]), pch="o", ylab="TOM with the Hub Node", xlab="(Centralization+Density)*(1+Heterogeneity^2)", cex=0.4, cex.main=2, cex.lab=1.5) abline(0,1, col=2) title(paste("p=", power1, ", R^2=",signif(cor(rep(TOM.max, module.soft[1,]), TOM.soft)^2,2), sep=""),cex.main=2) ### Figure 7(C): Approximation of TOM with the Hub-Gene by Equation (14)
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
oo
o
oo
oo
o
oo
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oooo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
oo
oo
oo
o
o
o
o
o
o
o
o
o
oooo
oo
o
oo
o
oo
o
ooo
oo
oo
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
ooo
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
ooo
o
oo
oo
o
o
ooo
o
o
ooo
oo
o
oo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
oo
o
o
oooo
o
ooo
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
oooo
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
ooo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
oo
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
oo
o
oo
o
o
o
oo
oo
o
o
o
o
o
o
o
oo
o
ooo
o
o
o
o
o
oo
o
o
o
o
ooooo
o
oooooo
o
oo
o
o
o
o
o
o
oo
ooo
o
oo
ooo
oooo
o
o
o
o
ooooooo
oo
oo
o
o
o
o
oo
o
o
o
o
oo
o
o
o
oooo
o
oo
oo
o
o
o
ooo
o
o
o
o
o
ooo
o
o
o
ooo
oo
o
o
o
o
o
oooo
o
o
o
oooo
oo
o
oo
o
ooo
o
o
oo
o
ooo
o
o
o
o
o
o
oo
oo
o
ooo
o
o
o
o
o
ooo
o
o
o
o
o
ooo
o
o
ooo
oo
o
o
o
oooo
o
oooooo
ooo
o
ooo
o
oo
o
o
o
o
oo
oooo
oooo
o
o
o
ooo
oo
o
o
o
o
o
oo
o
o
o
o
oo
oo
o
ooo
o
o
oooo
o
o
o
o
o
o
o
o
oooooo
oo
ooo
o
ooo
o
oo
o
ooo
o
o
o
o
o
o
o
o
o
o
o
oo
oooo
oo
o
ooooo
o
oo
o
o
o
o
oo
oo
o
o
o
oo
oo
oo
oo
o
oo
oo
o
o
ooo
o
o
oo
ooo
ooo
oo
o
o
o
oo
o
o
oo
o
o
o
oooo
o
o
o
o
oooo
o
o
oo
o
oo
ooo
ooo
oo
o
o
o
o
o
o
o
oo
oo
oo
oo
o
oo
o
o
o
o
o
o
oo
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
oo
o
o
oooo
oooo
o
o
o
o
oo
o
o
o
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
oo
o
ooo
oo
o
o
oooo
oo
o
oo
o
oo
o
o
o
oo
ooo
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
ooo
o
o
o
o
oooo
o
ooo
oo
oo
o
ooo
o
oo
o
oo
ooooo
ooo
oo
o
o
o
oo
o
o
o
ooooo
ooo
o
o
o
o
o
o
o
o
o
o
ooo
ooo
oo
o
o
oo
ooo
ooo
o
oo
o
o
o
o
oooo
o
o
ooo
o
o
o
o
o
ooo
o
o
ooo
o
o
o
o
o
o
o
o
o
oo
oooo
o
o
o
o
oooo
oo
o
o
oooo
o
o
oo
ooo
o
o
o
o
oo
o
o
o
oo
o
ooooo
o
o
o
oo
oo
o
o
ooo
o
ooo
o
o
o
oo
o
o
ooo
ooo
oo
o
oo
o
o
oo
o
ooo
o
oooooo
oo
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
o
oo
oo
oo
o
oo
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
oo
o
o
oo
o
oo
oooo
oo
o
o
ooo
o
oooo
oo
o
o
o
o
oooo
o
oooooo
ooo
o
oo
oo
oo
o
o
ooooo
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
ooo
o
o
o
o
oo
o
o
o
o
o
oo
o
o
oo
o
ooooo
o
oo
o
oo
o
ooo
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
oo
o
o
oo
oo
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
ooo
o
ooo
o
o
o
o
oo
o
oo
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
ooooo
o
o
o
o
ooo
oo
o
o
oo
o
oooo
o
o
oo
oo
o
o
o
oo
oo
oo
o
o
o
o
o
o
o
ooo
oo
o
o
o
o
o
o
o
oo
o
oo
o
oo
o
o
oo
o
o
o
o
o
oo
oo
oo
o
o
o
o
o
oo
oo
oo
ooo
oo
ooo
o
o
o
oo
o
o
o
o
o
oo
oo
oo
o
o
o
o
o
o
o
oooo
o
oo
oooo
o
o
o
ooo
o
oo
o
o
o
o
oo
o
oo
oo
o
o
o
o
o
ooo
ooo
o
o
o
oo
oo
o
oo
ooo
oo
oo
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oooo
o
o
oo
o
o
o
ooo
o
o
oo
o
oo
ooooo
o
o
oo
oo
ooooo
o
o
o
o
o
ooo
oo
oo
o
oo
o
o
ooo
o
oo
o
oo
o
o
o
o
o
oo
oo
o
o
o
o
o
ooo
o
o
oo
o
o
o
o
oooo
ooo
o
o
o
o
o
o
o
o
oo
oo
ooo
o
oooo
o
oooo
o
o
oo
o
o
o
o
o
oo
o
o
o
oo
o
o
o
ooo
o
o
o
o
o
oo
oo
o
o
ooo
o
o
o
o
o
oo
oo
o
o
o
oo
oo
ooo
o
oo
ooo
0.1 0.2 0.3 0.4
0.0
0.1
0.2
0.3
0.4
(Centralization+Density)*(1+Heterogeneity^2)
TOM
with
the
Hub
Nod
ep=7, R^2=0.81
### UnWeighted ### #======================================== # Fundamental network concepts versus approximate CF-based concepts #======================================== windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[5,], module.hard[3,], col=colorlevel1, xlab="Approximate CF-Based Density", ylab="Density", main= paste("tau=", tau, ", R^2=",signif(cor(module.hard[5,],module.hard[3,])^2,2),sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) # abline(test2$coef) abline(0,1, col=2) ### Figure 4: Density versus Approximate CF-based Density
0.0 0.2 0.4 0.6
0.0
0.2
0.4
0.6
tau=0.65, R^2=1
Approximate CF-Based Density
Den
sity
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[8,], module.hard[6,], col=colorlevel1, xlab="Approximate CF-Based Centralization", ylab="Centralization", main=paste("tau=",tau,", R^2=",signif(cor(module.hard[8,],module.hard[6,])^2,2), sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(0,1, col=2) ### Figure 4(B): Centralization versus Approximate CF-based Centralization
0.15 0.20 0.25 0.30 0.35 0.40
0.2
0.3
0.4
0.5
tau=0.65, R^2=0.97
Approximate CF-Based Centralization
Cen
traliz
atio
n
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[11,], module.hard[9,], col=colorlevel1, xlab="Approximate CF-Based Heterogeneity", ylab="Heterogeneity", main= paste("tau=",tau,sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) # abline(test2$coef) abline(0,1, col=2) ### Figure 4(D): Heterogeneity versus Approximate CF-based Heterogeneity
0.4 0.6 0.8 1.0 1.2 1.4 1.6
0.3
0.4
0.5
0.6
0.7
0.8
tau=0.65
Approximate CF-Based Heterogeneity
Het
erog
enei
ty
CC.hard=NULL for(i in 1:length(colorlevel1) ){ temp=eval(as.name(paste("FDhard",colorlevel1[i],sep=""))) CC.hard=c(CC.hard, temp$ClusterCoef) } CC.hard.new=rep(module.hard[14,],module.hard[1,]) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[14,], module.hard[12,], col=colorlevel1, pch="-", ylab="Clustering Coefficients", xlab="Approximate CF-Based Clustering Coefficients", cex=2, ylim= range(CC.hard),cex.main=2,cex.lab=1.5) abline(0,1, col=2) points(CC.hard.new, CC.hard, col=rep(colorlevel1, module.hard[1,]), pch="o", cex=0.4) title(paste("tau=",tau, ", R^2=",signif(cor(CC.hard.new, CC.hard)^2,2), sep=""),cex.main=2) ### Figure 4(F): Clustering Coefficients versus Approximate CF-based Clustering Coefficients
-- --
-
-
---
0.2 0.4 0.6 0.8
0.0
0.2
0.4
0.6
0.8
1.0
Approximate CF-Based Clustering Coefficients
Clu
ster
ing
Coe
ffici
ents
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
ooo
o
o
ooo
o
ooo
ooo
oo
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
oo
o
o
o
oo
o
oo
ooo
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
oo
oo
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
oo
o
oo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
oooo
o
o
o
o
o
o
o
ooo
o
oo
o
o
o
o
ooo
oo
ooo
o
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
o
oo
o
o
o
o
o
o
oo
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oooo
oo
o
o
oo
o
o
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
oo
oo
o
o
o
o
o
o
o
oo
o
o
o
oo
o
o
oo
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
oo
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
oo
o
oooo
oo
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
o
o
o
oo
o
o
oo
oo
o
oo
o
o
o
oo
o
o
o
oo
o
o
oo
o
o
ooo
o
o
o
ooo
o
oo
oo
o
oo
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
ooo
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
ooo
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
oo
o
oo
oo
o
o
o
oo
o
o
o
o
oo
o
oo
o
o
o
o
oo
ooo
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
oo
o
o
oo
o
o
o
oo
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
oo
o
oo
oooo
o
oo
ooo
oooo
o
o
ooooooo
oo
ooo
o
o
o
o
o
oo
o
oo
oo
oooo
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
oo
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooooo
o
o
oo
oo
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooooo
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
oo
o
o
oo
ooo
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
oo
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
oo
oo
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
o
oo
ooo
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
oo
o
oo
o
ooo
o
o
o
o
o
o
o
o
o
ooooo
o
ooo
oo
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
tau=0.65, R^2=0.6
#======================================== # Relationships among fundamental network concepts #======================================== CC.hard=NULL for(i in 1:length(colorlevel1) ){ temp=eval(as.name(paste("FDhard",colorlevel1[i],sep=""))) CC.hard=c(CC.hard, temp$ClusterCoef) } CC.hard.new=(module.hard[9,]^2+1)^2*module.hard[3,] windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(CC.hard.new, module.hard[12,], col=colorlevel1, pch="-", ylab="Clustering Coefficient", xlab="(1+Heterogeneity^2)^2*Density", cex=2, cex.main=2, cex.lab=1.5, ylim=range(CC.hard)) abline(0,1, col=2) points(rep(CC.hard.new, module.hard[1,]), CC.hard, col=rep(colorlevel1, module.hard[1,]), pch="o", cex=0.4) title(paste("tau=",tau,", R^2=",signif(cor(rep(CC.hard.new, module.hard[1,]), CC.hard)^2,2), sep=""),cex.main=2) ### Figure 7(B): Approximation of Clustering Coefficients by Equation (11)
-- --
-
-
---
0.2 0.4 0.6 0.8
0.0
0.2
0.4
0.6
0.8
1.0
(1+Heterogeneity^2)^2*Density
Clu
ster
ing
Coe
ffici
ent
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
ooo
o
o
ooo
o
ooo
ooo
oo
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
oo
o
o
o
oo
o
oo
ooo
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
oo
oo
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
oo
o
oo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
oooo
o
o
o
o
o
o
o
ooo
o
oo
o
o
o
o
ooo
oo
ooo
o
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
o
oo
o
o
o
o
o
o
oo
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oooo
oo
o
o
oo
o
o
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
oo
oo
o
o
o
o
o
o
o
oo
o
o
o
oo
o
o
oo
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
oo
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
oo
o
oooo
oo
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
o
o
o
oo
o
o
oo
oo
o
oo
o
o
o
oo
o
o
o
oo
o
o
oo
o
o
ooo
o
o
o
ooo
o
oo
oo
o
oo
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
ooo
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
ooo
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
oo
o
oo
oo
o
o
o
oo
o
o
o
o
oo
o
oo
o
o
o
o
oo
ooo
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
oo
o
o
oo
o
o
o
oo
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
oo
o
oo
oooo
o
oo
ooo
oooo
o
o
ooooooo
oo
ooo
o
o
o
o
o
oo
o
oo
oo
oooo
o
o
o
oooo
o
oo
oo
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooooo
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
oo
o
o
oo
ooo
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
oo
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
oo
oo
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
o
oo
ooo
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
oo
o
oo
o
ooo
o
o
o
o
o
o
o
o
o
ooooo
o
ooo
oo
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
tau=0.65, R^2=0.6
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
oo
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooooo
TOM.hard=NULL for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp) >= tau dissGTOM2=1-TOMdist2(as.matrix(adjtemp)) temp=eval(as.name(paste("FDhard",colorlevel1[i],sep=""))) j=order(-temp$kWithin)[1] TOM.hard=c(TOM.hard, dissGTOM2[,j]) } TOM.max=(module.hard[6,]+module.hard[3,])*(1+module.hard[9,]^2) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(rep(TOM.max, module.hard[1,]), TOM.hard, col=rep(colorlevel1, module.hard[1,]), pch="o", ylab="TOM with the Hub Node", xlab="(Centralization+Density)*(1+Heterogeneity^2)", cex=0.4, cex.main=2, cex.lab=1.5) abline(0,1, col=2) title(paste("tau=", tau, ", R^2=",signif(cor(rep(TOM.max, module.hard[1,]), TOM.hard)^2,2), sep=""),cex.main=2) ### Figure 7(D): Approximation of TOM with the Hub-Gene by Equation (14)
oo
o
o
o
o
o
o
oo
o
o
o
o
o
ooo
o
oooo
oo
oo
o
o
oo
oo
o
o
o
o
o
o
o
oo
ooo
oo
o
oo
ooo
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
o
ooo
o
oo
o
oooo
oo
o
oooo
o
o
o
o
o
oooo
o
o
o
oooo
o
o
o
ooooo
ooo
oo
o
o
oo
o
o
o
o
o
o
o
o
oo
o
oo
o
oo
o
ooo
o
o
o
o
o
oo
oo
o
o
o
oo
ooo
ooo
o
o
o
oo
oo
oo
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
oooo
o
oooooo
oo
oo
o
o
o
ooooooo
ooo
oo
oo
o
o
o
o
o
ooo
o
o
o
o
oo
oo
ooo
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
oo
oo
ooooo
ooo
oo
o
o
o
o
o
o
ooo
oo
o
ooo
o
o
o
o
o
oo
ooo
o
ooo
oo
oo
o
ooo
o
o
o
o
o
oo
oo
o
oooo
o
oo
o
oo
oo
o
o
o
oo
oo
o
oo
o
o
o
o
o
o
o
oo
o
oo
o
ooo
o
o
oo
o
o
o
ooooooo
o
o
o
oo
o
o
ooo
o
ooo
o
oo
o
o
oooo
o
o
ooo
o
o
oo
o
oooo
oo
o
oo
o
o
o
oo
o
o
o
o
ooo
oo
o
ooo
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
oooo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
ooooo
o
o
o
o
ooo
o
oo
o
o
oo
o
o
o
oo
o
o
o
o
o
ooo
o
oo
o
oo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
oooo
o
o
o
o
ooooooo
o
oo
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
oooo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
oo
o
o
o
o
oo
o
oo
oo
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
ooo
o
oooo
oo
o
o
o
ooo
o
o
oooooo
o
oo
o
ooo
o
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
ooo
o
oooo
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
ooo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
oo
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
ooo
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
oo
o
o
o
o
o
oooo
o
ooo
oo
oo
o
o
o
o
o
oo
o
o
o
ooooo
o
o
o
oo
o
o
o
oo
o
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
ooo
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
oooooo
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
ooooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
ooo
o
o
o
oo
o
oo
o
o
o
o
oo
o
o
ooooo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oooo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
ooo
o
o
ooo
o
o
o
o
o
o
o
o
oo
oooooooooooooooooo
o
oooooo
o
oooo
o
o
ooo
o
oo
o
ooooo
o
oooooooo
oo
oooooooo
o
o
ooo
ooo
o
o
o
oo
oo
ooooooo
o
oo
o
o
o
oo
ooooooooooo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
ooo
o
o
o
o
oo
o
o
oo
o
oo
oooo
oo
ooo
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
oo
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
oo
ooo
o
oo
oo
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
ooo
oo
o
oo
o
o
oooo
o
o
o
o
o
o
o
ooooo
oo
o
o
o
o
o
o
o
oo
oo
o
oo
o
ooooo
o
oo
o
o
o
oo
o
o
o
ooooooo
o
oo
ooooooo
oo
oo
o
o
ooooooo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
oo
oooooo
o
o
o
oo
o
o
o
o
o
o
ooooo
o
ooo
o
o
oo
oo
o
o
o
o
oooo
oo
o
oo
oo
ooo
o
o
oo
o
o
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
oo
o
o
o
o
oo
o
oo
oo
o
o
oo
oo
o
oo
ooo
oo
ooooo
ooo
o
oo
oooo
o
oooo
oo
o
oooo
oo
o
o
o
o
ooo
o
o
oo
oo
o
o
oo
o
o
oo
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
o
o
o
ooo
oo
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
oooo
oo
o
o
o
o
o
o
ooo
0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
(Centralization+Density)*(1+Heterogeneity^2)
TOM
with
the
Hub
Nod
etau=0.65, R^2=0.74
# Plots and Analyses in the Additional File "Analysis-of-Module-Size.pdf"
### Weighted ### windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[1,], module.soft[3,], col=colorlevel1, xlab="Module Size", ylab="Density", main= paste("p=", power1, ", R^2=",signif(cor(module.soft[1,],module.soft[3,])^2,2),sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(lm(module.soft[3,] ~ module.soft[1,])$coef, col=2) summary(lm(module.soft[3,] ~ module.soft[1,] + module.soft[5,]) ) ### Figure 3(A): Density versus Module Size
200 400 600 800
0.00
0.05
0.10
0.15
0.20
p=7, R^2=0.27
Module Size
Den
sity
### Section 3.1 Call: lm(formula = module.soft[3, ] ~ module.soft[1, ] + module.soft[5, ]) Residuals: Min 1Q Median 3Q Max -0.0013700 -0.0006096 -0.0001470 0.0007365 0.0013995 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.999e-03 8.303e-04 3.612 0.0112 * module.soft[1, ] -1.754e-06 1.611e-06 -1.089 0.3181 module.soft[5, ] 9.746e-01 7.506e-03 129.841 1.41e-11 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.00107 on 6 degrees of freedom Multiple R-Squared: 0.9997, Adjusted R-squared: 0.9997 F-statistic: 1.154e+04 on 2 and 6 DF, p-value: 1.755e-11
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[1,], module.soft[6,], col=colorlevel1, xlab="Module Size", ylab="Centralization", main=paste("p=",power1,", R^2=",signif(cor(module.soft[1,],module.soft[6,])^2,2), sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(lm(module.soft[6,] ~ module.soft[1,])$coef, col=2) summary(lm(module.soft[6,] ~ module.soft[8,] + module.soft[1,]) ) ### Figure 3(B): Centralization versus Module Size
200 400 600 800
0.02
0.04
0.06
0.08
0.10
0.12
0.14
p=7, R^2=0.67
Module Size
Cen
traliz
atio
n
### Section 3.2 Call: lm(formula = module.soft[6, ] ~ module.soft[8, ] + module.soft[1, ]) Residuals: Min 1Q Median 3Q Max -0.007633 -0.001819 0.001069 0.003232 0.004377 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -9.070e-03 1.015e-02 -0.893 0.406 module.soft[8, ] 9.488e-01 7.493e-02 12.662 1.49e-05 *** module.soft[1, ] 3.275e-06 1.070e-05 0.306 0.770 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.004601 on 6 degrees of freedom Multiple R-Squared: 0.9881, Adjusted R-squared: 0.9842 F-statistic: 249.5 on 2 and 6 DF, p-value: 1.677e-06
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[1,], module.soft[9,], col=colorlevel1, xlab="Module Size", ylab="Heterogeneity", main= paste("p=",power1, ", R^2=",signif(cor(module.soft[1,],module.soft[9,])^2,2), sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) # abline(test2$coef) abline(lm(module.soft[9,] ~ module.soft[1,])$coef, col=2) summary(lm(module.soft[9,] ~ module.soft[11,] + module.soft[1,]) ) ### Figure 3(C): Heterogeneity versus Module Size
200 400 600 800
0.50
0.55
0.60
0.65
p=7, R^2=0.072
Module Size
Het
erog
enei
ty
### Section 3.3 Call: lm(formula = module.soft[9, ] ~ module.soft[11, ] + module.soft[1, ]) Residuals: Min 1Q Median 3Q Max -0.0575693 -0.0268650 0.0006804 0.0036686 0.0770153 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.2230348 0.1224581 1.821 0.1184 module.soft[11, ] 0.5768130 0.2122712 2.717 0.0348 * module.soft[1, ] -0.0002320 0.0001229 -1.888 0.1080 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.04598 on 6 degrees of freedom Multiple R-Squared: 0.5838, Adjusted R-squared: 0.4451 F-statistic: 4.208 on 2 and 6 DF, p-value: 0.07209
CC.soft=NULL for(i in 1:length(colorlevel1) ){ temp=eval(as.name(paste("FDsoft",colorlevel1[i],sep=""))) CC.soft=c(CC.soft, temp$ClusterCoef) } CC.soft.new=rep(module.soft[14,],module.soft[1,]) Size.soft.new=rep(module.soft[1,],module.soft[1,]) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[1,], module.soft[12,], col=colorlevel1, pch="-", ylab="Clustering Coefficients", xlab="Module Size", cex=2, ylim= range(CC.soft), cex.main=2, cex.lab=1.5) points(Size.soft.new, CC.soft, col=rep(colorlevel1, module.soft[1,]), pch="o", cex=0.4) title(paste("p=",power1, ", R^2=",signif(cor(Size.soft.new, CC.soft)^2,2), sep=""),cex.main=2) abline(lm(CC.soft ~ Size.soft.new)$coef, col=2) summary(lm(CC.soft ~ CC.soft.new + Size.soft.new) ) ### Figure 3(D): Clustering Coefficients versus Module Size
---
-
-
----
200 400 600 800
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
Module Size
Clu
ster
ing
Coe
ffici
ents
o
o
o
o
o
ooooooo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
o
o
o
o
oo
ooo
o
oo
o
oooo
o
oo
ooooo
o
oo
ooooo
oo
o
o
o
o
oo
o
o
oooooooooo
o
oooooooooo
o
o
o
o
o
oo
oo
o
o
oo
oo
o
o
oooo
o
oo
o
o
ooooo
oo
o
oo
o
o
oo
oo
oo
oooo
o
o
ooooo
o
o
oo
o
o
oo
oo
oo
o
ooo
o
o
o
ooo
oo
ooooo
o
oo
ooo
o
oooo
o
oooo
ooo
o
o
o
oooo
o
o
o
o
o
oo
o
o
oo
o
o
o
o
ooo
o
o
ooo
o
o
o
oooo
ooo
o
o
ooo
oooooooo
oooooooo
o
oo
oo
o
oooooooo
o
oooooo
oo
o
ooooo
o
o
o
o
oo
ooooo
o
oooooooo
o
o
oooo
o
oooo
oo
o
oo
o
o
o
o
oo
o
ooooo
oooooooo
o
o
ooo
o
o
ooooooo
ooooooo
o
oooo
oo
oo
oo
o
oo
oo
o
o
o
oooo
o
o
o
oooo
oo
oooooooo
ooooo
o
oooooooooooo
o
oooooo
o
oooooo
o
o
o
oooooo
o
ooo
o
oooooo
o
o
oooo
o
oo
o
oooooo
oooooooooooooo
oooooo
o
oooooooooooo
oooo
o
oooooo
oooooo
o
o
o
ooooo
o
ooo
oooooo
o
ooo
ooooo
ooo
o
o
o
ooooooo
o
ooo
o
oooooooooo
o
o
oooo
ooooooo
o
oooo
o
ooooo
ooooooooooo
oooooooooooooo
o
ooo
o
oooooooo
o
oooo
o
o
oo
oooooooo
oo
o
ooooo
o
ooooo
o
oooooo
o
o
o
ooooooooooo
ooo
o
o
oooo
ooooooooo
o
oooooooo
oooo
oo
oooooooooooooo
oooooooooo
oooooooo
o
oooooooooo
o
o
o
oooo
ooooo
ooo
o
oooo
o
oo
o
oo
oooooooooooooooooo
ooooo
oo
o
oooooooooo
o
o
o
o
o
o
ooo
o
o
oooooooooooooooooooooo
o
o
ooo
o
ooo
o
ooo
ooooo
o
o
o
ooooooo
ooooooo
oo
o
oo
o
o
oo
o
ooo
o
oooo
o
o
o
o
ooo
o
ooooo
o
oo
o
ooo
o
ooooooooooooo
o
ooooooooo
o
o
oooooooo
o
ooooooooo
o
oooo
ooooooooooooooooooo
o
oo
oooooo
o
oo
ooooo
ooooooo
oooooooooooooo
o
ooooooo
ooooooooooooooo
o
o
oooo
o
ooooooooooooooooo
oo
o
o
oooo
o
oooooooooooooo
o
oo
o
oooooo
o
o
ooo
o
oo
o
ooooooooooooooooo
o
ooooooo
oooo
o
ooooo
oo
ooooooooo
ooo
ooooooooooooooo
o
oo
ooooooooooo
oooooooooo
oooo
o
ooooooooo
o
o
o
o
ooo
o
ooooooooooooooooooooooo
o
oooooo
o
o
oooo
ooo
o
oo
oooooooooo
o
o
ooo
oo
ooo
oo
o
o
ooo
oooooooooo
o
ooooooo
o
o
ooooo
o
o
o
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oooo
o
oo
ooooooo
o
o
oo
o
oooooooooooo
o
oooooooooooo
o
oooooo
o
ooo
ooooooooooo
oooooo
oo
oooooooooo
oo
ooo
oooo
o
o
ooo
oo
ooo
o
o
o
oo
oooo
ooooooo
o
oooo
oooooooo
oooooooo
o
o
ooooooooo
ooooooo
o
oooooooo
o
o
o
oooooooo
oooo
ooo
oooooo
ooooooo
o
oooooooo
o
oooo
o
ooooo
ooooooooo
oo
o
o
o
oooo
oo
ooooo
ooooo
ooooo
ooooo
o
ooo
oo
ooooo
o
o
oooooooooo
o
oo
o
ooo
oooo
o
oooooooo
o
ooo
o
oo
oooooooooo
ooooo
oooooo
o
oo
o
oo
ooo
o
o
o
o
o
oooooo
o
ooo
ooo
o
ooooooooooooooooooooooo
o
oo
oooo
oooooooooo
oooooooo
oo
o
ooooo
p=7, R^2=0.54
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
ooooooo
o
oooo
o
o
o
o
o
ooooo
ooo
o
o
oo
ooo
oo
o
o
ooo
o
ooo
o
o
oo
o
ooooooooo
ooo
o
oo
o
oo
o
oo
ooo
o
o
o
o
o
o
oooooooo
o
o
o
oo
o
o
oo
o
o
o
ooo
o
o
oo
ooo
oo
o
oo
o
oooo
o
ooooooo
oo
ooo
o
o
o
oo
o
o
oooo
o
o
oooo
o
o
oo
oo
o
ooo
o
o
o
oo
o
ooo
o
o
### Section 3.4 Call: lm(formula = CC.soft ~ CC.soft.new + Size.soft.new) Residuals: Min 1Q Median 3Q Max -0.189335 -0.009851 -0.003767 0.005697 0.300227 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 7.771e-03 2.435e-03 3.191 0.001441 **
CC.soft.new 8.953e-01 1.560e-02 57.379 < 2e-16 *** Size.soft.new 1.014e-05 2.631e-06 3.853 0.000120 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.02462 on 1998 degrees of freedom Multiple R-Squared: 0.8244, Adjusted R-squared: 0.8242 F-statistic: 4691 on 2 and 1998 DF, p-value: < 2.2e-16
CC.soft.new=(module.soft[9,]^2+1)^2*module.soft[3,] Size.soft.new=module.soft[1,] summary(lm(CC.soft ~ rep(CC.soft.new, module.soft[1,]) + rep(Size.soft.new, module.soft[1,]))) ### Section 3.5 Call: lm(formula = CC.soft ~ rep(CC.soft.new, module.soft[1, ]) + rep(Size.soft.new, module.soft[1, ])) Residuals: Min 1Q Median 3Q Max -0.195002 -0.010245 -0.004177 0.004311 0.300382 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.412e-02 2.349e-03 6.010 2.20e-09 *** rep(CC.soft.new, module.soft[1, ]) 9.316e-01 1.635e-02 56.996 < 2e-16 *** rep(Size.soft.new, module.soft[1, ]) 1.003e-05 2.645e-06 3.791 0.000154 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.02472 on 1998 degrees of freedom Multiple R-Squared: 0.823, Adjusted R-squared: 0.8228 F-statistic: 4643 on 2 and 1998 DF, p-value: < 2.2e-16
TOM.soft=NULL for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp)^power1 dissGTOM2=1-TOMdist2(as.matrix(adjtemp)) temp=eval(as.name(paste("FDsoft",colorlevel1[i],sep=""))) j=order(-temp$kWithin)[1] TOM.soft=c(TOM.soft, dissGTOM2[,j]) } TOM.max=(module.soft[6,]+module.soft[3,])*(1+module.soft[9,]^2) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(rep(module.soft[1,], module.soft[1,]), TOM.soft, col=rep(colorlevel1, module.soft[1,]), pch="o", ylab="TOM with the Hub Node", xlab="Module Size", cex=0.4, cex.main=2, cex.lab=1.5) abline(0,1, col=2) title(paste("p=", power1, ", R^2=",signif(cor(rep(module.soft[1,], module.soft[1,]), TOM.soft)^2,2), sep=""),cex.main=2) abline(lm(TOM.soft ~ rep(module.soft[1,], module.soft[1,]))$coef, col=2)
summary(lm(TOM.soft ~ rep(module.soft[1,], module.soft[1,]) + rep(TOM.max, module.soft[1,]))) ### Figure 3(E): TOM with the Hub-Gene versus Module Size
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
oo
o
oo
oo
o
oo
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oooo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
oo
oo
oo
o
o
o
o
o
o
o
o
o
oooo
oo
o
oo
o
oo
o
ooo
oo
oo
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
ooo
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
ooo
o
oo
oo
o
o
ooo
o
o
ooo
oo
o
oo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
oo
o
o
oooo
o
ooo
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
oooo
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
ooo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
oooooo
o
o
o
o
oo
ooo
o
o
o
o
o
oo
o
o
o
o
ooooo
o
oooooo
o
oo
o
o
o
o
o
o
oo
ooo
o
oo
ooo
oooo
o
o
o
o
ooooooo
oo
oo
o
o
o
o
oo
o
o
o
o
oo
o
o
o
oooo
o
oo
oo
o
o
o
ooo
o
o
o
o
o
ooo
o
o
o
ooo
oo
o
o
o
o
o
oooo
o
o
o
oooo
oo
o
oo
o
ooo
o
o
oo
o
ooo
o
o
o
o
o
o
oo
oo
o
ooo
o
o
o
o
o
ooo
o
o
o
o
o
ooo
o
o
ooo
oo
o
o
o
oooo
o
oooooo
ooo
o
ooo
o
oo
o
o
o
o
oo
oooo
oooo
o
o
o
ooo
oo
o
o
o
o
o
oo
o
o
o
o
oo
oo
o
ooo
o
o
oooo
o
o
o
o
o
o
o
o
oooooo
oo
ooo
o
ooo
o
oo
o
ooo
o
o
o
o
o
o
o
o
o
o
o
oo
oooo
oo
o
ooooo
o
oo
o
o
o
o
oo
oo
o
o
o
oo
oo
oo
oo
o
oo
oo
o
o
ooo
o
o
oo
ooo
ooo
oo
o
o
o
oo
o
o
oo
o
o
o
oooo
o
o
o
o
oooo
o
o
oo
o
oo
ooo
ooo
oo
o
o
o
o
o
o
o
oo
oo
oo
oo
o
oo
o
o
o
o
o
o
oo
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
oo
o
o
oooo
oooo
o
o
o
o
oo
o
o
o
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
oo
o
ooo
oo
o
o
oooo
oo
o
oo
o
oo
o
o
o
oo
ooo
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
ooo
o
o
o
o
oooo
o
ooo
oo
oo
o
ooo
o
oo
o
oo
ooooo
ooo
oo
o
o
o
oo
o
o
o
ooooo
ooo
o
o
o
o
o
o
o
o
o
o
ooo
ooo
oo
o
o
oo
ooo
ooo
o
oo
o
o
o
o
oooo
o
o
ooo
o
o
o
o
o
ooo
o
o
ooo
o
o
o
o
o
o
o
o
o
oo
oooo
o
o
o
o
oooo
oo
o
o
oooo
o
o
oo
ooo
o
o
o
o
oo
o
o
o
oo
o
ooooo
o
o
o
oo
oo
o
o
ooo
o
ooo
o
o
o
oo
o
o
ooo
ooo
oo
o
oo
o
o
oo
o
ooo
o
oooooo
oo
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
o
oo
oo
oo
o
oo
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
oo
o
o
oo
o
oo
oooo
oo
o
o
ooo
o
oooo
oo
o
o
o
o
oooo
o
oooooo
ooo
o
oo
oo
oo
o
o
ooooo
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
ooo
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
ooooo
o
o
o
o
ooo
oo
o
o
oo
o
oooo
o
o
oo
oo
o
o
o
oo
oo
oo
o
o
o
o
o
o
o
ooo
oo
o
o
o
o
o
o
o
oo
o
oo
o
oo
o
o
oo
o
o
o
o
o
oo
oo
oo
o
o
o
o
o
oo
oo
oo
ooo
oo
ooo
o
o
o
oo
o
o
o
o
o
oo
oo
oo
o
o
o
o
o
o
o
oooo
o
oo
oooo
o
o
o
ooo
o
oo
o
o
o
o
oo
o
oo
oo
o
o
o
o
o
ooo
ooo
o
o
o
oo
oo
o
oo
ooo
oo
oo
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oooo
o
o
oo
o
o
o
ooo
o
o
oo
o
oo
ooooo
o
o
oo
oo
ooooo
o
o
o
o
o
ooo
oo
oo
o
oo
o
o
ooo
o
oo
o
oo
o
o
o
o
o
oo
oo
o
o
o
o
o
ooo
o
o
oo
o
o
o
o
oooo
ooo
o
o
o
o
o
o
o
o
oo
oo
ooo
o
oooo
o
oooo
o
o
oo
o
o
o
o
o
oo
o
o
o
oo
o
o
o
ooo
o
o
o
o
o
oo
oo
o
o
ooo
o
o
o
o
o
oo
oo
o
o
o
oo
oo
ooo
o
oo
ooo
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
oo
o
o
o
oo
o
oo
o
o
o
o
oo
o
o
oo
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
oo
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
oo
o
o
oo
o
ooooo
o
oo
o
oo
o
ooo
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
oo
o
o
oo
oo
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
ooo
o
ooo
o
o
o
o
oo
o
oo
o
o
o
200 400 600 800
0.0
0.1
0.2
0.3
0.4
Module Size
TOM
with
the
Hub
Nod
e
p=7, R^2=0.68
### Section 3.6 Call: lm(formula = TOM.soft ~ rep(module.soft[1, ], module.soft[1, ]) + rep(TOM.max, module.soft[1, ])) Residuals: Min 1Q Median 3Q Max -0.336040 -0.028626 -0.001145 0.029866 0.121405 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.321e-02 6.039e-03 2.187 0.0288 * rep(module.soft[1, ], module.soft[1, ]) -1.024e-05 6.023e-06 -1.701 0.0892 . rep(TOM.max, module.soft[1, ]) 8.794e-01 2.343e-02 37.528 <2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.04247 on 1998 degrees of freedom Multiple R-Squared: 0.8111, Adjusted R-squared: 0.8109 F-statistic: 4289 on 2 and 1998 DF, p-value: < 2.2e-16
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.soft[1,], module.soft[2,], col=colorlevel1, xlab="Module Size", ylab="Factorizability", main= paste("p=", power1, ", R^2=",signif(cor(module.soft[1,],module.soft[2,])^2,2),sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(lm(module.soft[2,] ~ module.soft[1,])$coef, col=2) summary(lm(module.soft[2,] ~ module.soft[1,]) ) ### Figure 3(F): Factorizability versus Module Size
200 400 600 800
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
p=7, R^2=0.86
Module Size
Fact
oriz
abilit
y
### Section 3.7 Call: lm(formula = module.soft[2, ] ~ module.soft[1, ]) Residuals: Min 1Q Median 3Q Max -0.12167 -0.03988 -0.01551 0.02804 0.11841 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.8151597 0.0345260 23.610 6.21e-08 *** module.soft[1, ] -0.0006750 0.0001014 -6.658 0.000288 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.07846 on 7 degrees of freedom Multiple R-Squared: 0.8636, Adjusted R-squared: 0.8441 F-statistic: 44.33 on 1 and 7 DF, p-value: 0.0002883
### UnWeighted ### windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[1,], module.hard[3,], col=colorlevel1, xlab="Module Size", ylab="Density", main= paste("tau=", tau, ", R^2=",signif(cor(module.hard[1,],module.hard[3,])^2,2),sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(lm(module.hard[3,] ~ module.hard[1,])$coef, col=2) summary(lm(module.hard[3,] ~ module.hard[1,] + module.hard[5,]) ) ### Figure 4(A): Density versus Module Size
200 400 600 800
0.0
0.2
0.4
0.6
tau=0.65, R^2=0.59
Module Size
Den
sity
### Section 4.1 Call: lm(formula = module.hard[3, ] ~ module.hard[1, ] + module.hard[5, ]) Residuals: Min 1Q Median 3Q Max -0.0036931 -0.0005103 -0.0003543 0.0014982 0.0033611 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -2.700e-03 3.613e-03 -0.747 0.4831 module.hard[1, ] 1.351e-05 4.987e-06 2.708 0.0352 * module.hard[5, ] 9.899e-01 7.125e-03 138.922 9.38e-12 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.002426 on 6 degrees of freedom Multiple R-Squared: 0.9999, Adjusted R-squared: 0.9998 F-statistic: 2.369e+04 on 2 and 6 DF, p-value: 2.030e-12
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[1,], module.hard[6,], col=colorlevel1, xlab="Module Size", ylab="Centralization", main=paste("tau=",tau,", R^2=",signif(cor(module.hard[1,],module.hard[6,])^2,2), sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(lm(module.hard[6,] ~ module.hard[1,])$coef, col=2) summary(lm(module.hard[6,] ~ module.hard[8,] + module.hard[1,]) ) ### Figure 4(B): Centralization versus Module Size
200 400 600 800
0.2
0.3
0.4
0.5
tau=0.65, R^2=0.31
Module Size
Cen
traliz
atio
n
### Section 4.2 Call: lm(formula = module.hard[6, ] ~ module.hard[8, ] + module.hard[1, ]) Residuals: Min 1Q Median 3Q Max -0.0306748 -0.0100990 0.0001843 0.0076979 0.0424443 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -4.831e-02 4.182e-02 -1.155 0.292 module.hard[8, ] 1.296e+00 1.076e-01 12.041 1.99e-05 *** module.hard[1, ] 5.179e-06 4.033e-05 0.128 0.902 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.02563 on 6 degrees of freedom Multiple R-Squared: 0.9725, Adjusted R-squared: 0.9634 F-statistic: 106.2 on 2 and 6 DF, p-value: 2.073e-05
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[1,], module.hard[9,], col=colorlevel1, xlab="Module Size", ylab="Heterogeneity", main= paste("tau=",tau, ", R^2=",signif(cor(module.hard[1,],module.hard[9,])^2,2), sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) # abline(test2$coef) abline(lm(module.hard[9,] ~ module.hard[1,])$coef, col=2) summary(lm(module.hard[9,] ~ module.hard[11,] + module.hard[1,]) ) ### Figure 4(C): Heterogeneity versus Module Size
200 400 600 800
0.3
0.4
0.5
0.6
0.7
0.8
tau=0.65, R^2=0.76
Module Size
Het
erog
enei
ty
### Section 4.3 Call: lm(formula = module.hard[9, ] ~ module.hard[11, ] + module.hard[1, ]) Residuals: Min 1Q Median 3Q Max -0.13786 -0.02939 0.00111 0.04997 0.08569 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 3.300e-01 1.446e-01 2.282 0.0626 . module.hard[11, ] 3.480e-01 4.155e-01 0.838 0.4344 module.hard[1, ] -1.045e-05 5.535e-04 -0.019 0.9856 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.07585 on 6 degrees of freedom Multiple R-Squared: 0.7809, Adjusted R-squared: 0.7079 F-statistic: 10.69 on 2 and 6 DF, p-value: 0.01051
CC.hard=NULL for(i in 1:length(colorlevel1) ){ temp=eval(as.name(paste("FDhard",colorlevel1[i],sep=""))) CC.hard=c(CC.hard, temp$ClusterCoef) } CC.hard.new=rep(module.hard[14,],module.hard[1,]) Size.hard.new=rep(module.hard[1,],module.hard[1,]) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1))
plot(module.hard[1,], module.hard[12,], col=colorlevel1, pch="-", ylab="Clustering Coefficients", xlab="Module Size", cex=2, ylim= range(CC.hard), cex.main=2, cex.lab=1.5) points(Size.hard.new, CC.hard, col=rep(colorlevel1, module.hard[1,]), pch="o", cex=0.4) title(paste("tau=",tau, ", R^2=",signif(cor(Size.hard.new, CC.hard)^2,2), sep=""),cex.main=2) abline(lm(CC.hard ~ Size.hard.new)$coef, col=2) summary(lm(CC.hard ~ CC.hard.new + Size.hard.new) ) ### Figure 4(D): Clustering Coefficients versus Module Size
- --
-
-
----
200 400 600 800
0.0
0.2
0.4
0.6
0.8
1.0
Module Size
Clu
ster
ing
Coe
ffici
ents
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
o
o
ooo
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
ooo
o
o
ooo
o
ooo
ooo
oo
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
oo
o
o
o
oo
o
oo
ooo
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
oo
oo
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oooo
oo
o
o
oo
o
o
o
o
o
ooo
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
oo
oo
o
o
o
o
o
o
o
oo
o
o
o
oo
o
o
oo
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
oo
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
oo
o
oooo
oo
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
o
o
o
oo
o
o
oo
oo
o
oo
o
o
o
oo
o
o
o
oo
o
o
oo
o
o
ooo
o
o
o
ooo
o
oo
oo
o
oo
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
ooo
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
ooo
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
oo
o
oo
oo
o
o
o
oo
o
o
o
o
oo
o
oo
o
o
o
o
oo
ooo
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
oo
o
o
oo
o
o
o
oo
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
oo
o
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
oo
o
oo
oooo
o
oo
ooo
oooo
o
o
ooooooo
oo
ooo
o
o
o
o
o
oo
o
oo
oo
oooo
o
o
o
ooo o
o
oo
oo
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
ooooo
o
o
o
o
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
oo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
oo
oo
o
o
oo
ooo
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
oo
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
oo
oo
ooo
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
oo
ooo
o
oo
ooo
o
o
o
o
o
o
o
oo
o
o
o
o
o
oo
oo
o
oo
o
ooo
o
o
o
o
o
o
o
o
o
ooooo
o
ooo
oo
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
oo
oo
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
tau=0.65, R^2=0.56
o
o
o
o
o
o
oo
o
oo
oo
oo
o
o
o
o
o
o
oo
o
o
oooo
o
o
o
o
o
o
o
ooo
o
oo
o
o
o
o
ooo
oo
ooo
o
o
o
o
o
o
o
o
o
ooo
o
oo
o
o
oo
o
o
o
o
o
o
oo
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
oo
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
oo
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooooo
### Section 4.4 Call: lm(formula = CC.hard ~ CC.hard.new + Size.hard.new) Residuals: Min 1Q Median 3Q Max -0.37463 -0.08574 -0.01707 0.06530 0.62537 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.956e-01 3.675e-02 8.044 1.47e-15 *** CC.hard.new 6.884e-01 5.238e-02 13.142 < 2e-16 *** Size.hard.new -4.738e-05 3.036e-05 -1.560 0.119 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.1366 on 1998 degrees of freedom Multiple R-Squared: 0.5971, Adjusted R-squared: 0.5967 F-statistic: 1481 on 2 and 1998 DF, p-value: < 2.2e-16
CC.hard.new=(module.hard[9,]^2+1)^2*module.hard[3,] Size.hard.new=module.hard[1,]
summary(lm(CC.hard ~ rep(CC.hard.new, module.hard[1,]) + rep(Size.hard.new, module.hard[1,]))) ### Section 4.5 Call: lm(formula = CC.hard ~ rep(CC.hard.new, module.hard[1, ]) + rep(Size.hard.new, module.hard[1, ])) Residuals: Min 1Q Median 3Q Max -0.37311 -0.08630 -0.01596 0.06592 0.62689 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.733e-01 3.834e-02 7.127 1.43e-12 *** rep(CC.hard.new, module.hard[1, ]) 6.956e-01 5.281e-02 13.173 < 2e-16 *** rep(Size.hard.new, module.hard[1, ]) 5.688e-05 3.798e-05 1.498 0.134 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.1366 on 1998 degrees of freedom Multiple R-Squared: 0.5973, Adjusted R-squared: 0.5969 F-statistic: 1482 on 2 and 1998 DF, p-value: < 2.2e-16
TOM.hard=NULL for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp) >= tau dissGTOM2=1-TOMdist2(as.matrix(adjtemp)) temp=eval(as.name(paste("FDhard",colorlevel1[i],sep=""))) j=order(-temp$kWithin)[1] TOM.hard=c(TOM.hard, dissGTOM2[,j]) } TOM.max=(module.hard[6,]+module.hard[3,])*(1+module.hard[9,]^2) windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(rep(module.hard[1,], module.hard[1,]), TOM.hard, col=rep(colorlevel1, module.hard[1,]), pch="o", ylab="TOM with the Hub Node", xlab="Module Size", cex=0.4, cex.main=2, cex.lab=1.5) abline(0,1, col=2) title(paste("tau=", tau, ", R^2=",signif(cor(rep(module.hard[1,], module.hard[1,]), TOM.hard)^2,2), sep=""),cex.main=2) abline(lm(TOM.hard ~ rep(module.hard[1,], module.hard[1,]))$coef, col=2) summary(lm(TOM.hard ~ rep(module.hard[1,], module.hard[1,]) + rep(TOM.max, module.hard[1,]))) ### Figure 4(E): TOM with the Hub-Gene versus Module Size
oo
o
o
o
o
o
o
oo
o
o
o
o
o
ooo
o
oooo
oo
oo
o
o
oo
oo
o
o
o
o
o
o
o
oo
ooo
oo
o
oo
ooo
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
o
ooo
o
oo
o
oooo
oo
o
oooo
o
o
o
o
o
oooo
o
o
o
oooo
o
o
o
ooooo
ooo
oo
o
o
oo
o
o
o
o
o
o
o
o
oo
o
oo
o
oo
o
ooo
o
o
o
o
o
oo
oo
o
o
o
oo
ooo
ooo
o
o
o
oo
oo
oo
o
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
oooo
o
oooooo
oo
oo
o
o
o
ooooooo
ooo
oo
oo
o
o
o
o
o
ooo
o
o
o
o
oo
oo
ooo
o
o
oo
o
o
o
o
o
o
o
oo
o
o
o
oo
oo
ooooo
ooo
oo
o
o
o
o
o
o
ooo
oo
o
ooo
o
o
o
o
o
oo
ooo
o
ooo
oo
oo
o
ooo
o
o
o
o
o
oo
oo
o
oooo
o
oo
o
oo
oo
o
o
o
oo
oo
o
oo
o
o
o
o
o
o
o
oo
o
oo
o
ooo
o
o
oo
o
o
o
ooooooo
o
o
o
oo
o
o
ooo
o
ooo
o
oo
o
o
oooo
o
o
ooo
o
o
oo
o
oooo
oo
o
oo
o
o
oo
o
o
oooo
oo
o
ooo
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
oooo
o
o
oo
o
oo
oo
o
o
o
oo
o
o
o
ooooo
o
o
o
o
oo
oooooooo
o
o
ooo
ooo
o
o
o
oo
oo
ooooooo
o
oo
o
o
o
oo
ooooooooooo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
ooo
o
o
o
o
oo
o
o
oo
o
oo
oooo
oo
ooo
o
o
ooo
o
oo
o
o
o
oooo
ooo
o
oo
o
o
oo
o
o
o
oo
o
o
o
o
o
ooo
o
oo
o
oo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
oo
oooo
o
o
o
o
ooooooo
o
oo
o
o
o
o
o
oo
o
o
o
o
oo
o
o
o
oooo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
oo
o
o
o
o
oo
o
oo
oo
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
ooo
o
oooo
oo
o
o
o
ooo
o
o
oooooo
o
oo
o
ooo
o
oo
o
o
oo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
ooo
o
oooo
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
o
ooo
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
oo
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
oo
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
oo
o
ooo
o
o
o
o
o
o
oo
o
o
o
oo
o
oo
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
oo
o
o
o
o
o
oooo
o
ooo
oo
oo
o
o
o
o
o
oo
o
o
o
ooooo
o
o
o
oo
o
o
o
oo
o
o
o
ooooo
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
ooo
o
oo
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
o
oo
o
o
o
o
o
o
o
o
o
oo
o
oooooo
o
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
ooooo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
oo
ooo
o
o
o
oo
o
oo
o
o
o
o
oo
o
o
ooooo
o
o
o
o
o
ooo
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
oo
o
o
o
o
o
oo
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oo
oo
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
oooo
o
o
oo
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
ooo
o
o
ooo
o
o
o
o
o
o
o
o
oo
oooooooooooooooooo
o
oooooo
o
oooo
o
o
ooo
o
oo
o
ooooo
o
oooooooo o
o
o
o
o
o
o
o
o
o
o
o
o
o
ooo
oo
o
o
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
o
o
oo
ooo
o
oo
oo
o
oo
o
o
o
o
o
oo
o
o
o
o
o
o
ooo
o
o
o
o
o
o
oo
ooo
oo
o
oo
o
o
oooo
o
o
o
o
o
o
o
ooooo
oo
o
o
o
o
o
o
o
oo
oo
o
oo
o
ooooo
o
oo
o
o
o
oo
o
o
o
ooooooo
o
oo
ooooooo
oo
oo
o
o
ooooooo
o
oo
o
oo
o
o
o
o
o
o
o
o
o
o
oo
oooooo
o
o
o
oo
o
o
o
o
o
o
ooooo
o
ooo
o
o
oo
oo
o
o
o
o
oooo
oo
o
oo
oo
ooo
o
o
oo
o
o
oo
o
oo
o
o
oo
o
o
o
o
o
o
o
oo
oo
o
o
o
o
oo
o
oo
oo
o
o
oo
oo
o
oo
ooo
oo
ooooo
ooo
o
oo
oooo
o
oooo
oo
o
oooo
oo
o
o
o
o
ooo
o
o
oo
oo
o
o
oo
o
o
oo
ooo
o
o
o
o
o
o
o
o
oo
o
o
o
ooo
o
o
o
ooo
oo
o
o
o
o
o
o
o
oooo
o
o
o
o
o
o
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
o
oo
o
oooo
oo
o
o
o
o
o
o
ooo
200 400 600 800
0.0
0.2
0.4
0.6
0.8
1.0
Module Size
TOM
with
the
Hub
Nod
etau=0.65, R^2=0.72
### Section 4.6 Call: lm(formula = TOM.hard ~ rep(module.hard[1, ], module.hard[1, ]) + rep(TOM.max, module.hard[1, ])) Residuals: Min 1Q Median 3Q Max -5.809e-01 -1.540e-01 7.168e-05 8.346e-02 7.679e-01 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.052e-01 7.309e-02 2.807 0.00505 ** rep(module.hard[1, ], module.hard[1, ]) -1.888e-04 6.041e-05 -3.125 0.00180 ** rep(TOM.max, module.hard[1, ]) 7.063e-01 6.152e-02 11.482 < 2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.1949 on 1998 degrees of freedom Multiple R-Squared: 0.7402, Adjusted R-squared: 0.7399 F-statistic: 2846 on 2 and 1998 DF, p-value: < 2.2e-16
windows(width=7, height=5) par(mar=(c(5,5,4,1)+0.1)) plot(module.hard[1,], module.hard[2,], col=colorlevel1, xlab="Module Size", ylab="Factorizability", main= paste("tau=", tau, ", R^2=",signif(cor(module.hard[1,],module.hard[2,])^2,2),sep=""), cex.main=2,cex.lab=1.5, pch=19, cex=1.5) abline(lm(module.hard[2,] ~ module.hard[1,])$coef, col=2) summary(lm(module.hard[2,] ~ module.hard[1,]) ) ### Figure 4(F): Factorizability versus Module Size
200 400 600 800
0.2
0.4
0.6
0.8
tau=0.65, R^2=0.74
Module Size
Fact
oriz
abilit
y
### Section 4.7 Call: lm(formula = module.hard[2, ] ~ module.hard[1, ]) Residuals: Min 1Q Median 3Q Max -0.1195798 -0.0713164 0.0005173 0.0194715 0.2294432 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.7132678 0.0497065 14.350 1.9e-06 *** module.hard[1, ] -0.0006584 0.0001459 -4.511 0.00276 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.113 on 7 degrees of freedom Multiple R-Squared: 0.7441, Adjusted R-squared: 0.7075 F-statistic: 20.35 on 1 and 7 DF, p-value: 0.002761
# Heatmaps of TOM and Their Approximations by Equation (12) for All Modules
### Weighted ### for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp)^power1 dissGTOM2=TOMdist1(as.matrix(adjtemp)) hierGTOM2 = hclust(as.dist(dissGTOM2),method="average"); windows(width=4, height=4) TOMplot1(dissGTOM2 , hierGTOM2, rep(colorlevel1[i], module.soft[1,i]) ) rm(adjtemp, dissGTOM2);collect_garbage() ### <plot>: TOM-GBM-brown-soft temp=eval(as.name(paste("FDsoft",colorlevel1[i],sep=""))) temp=temp$kWithin dissGTOM2=matrix(NA, module.soft[1,i], module.soft[1,i]) diag(dissGTOM2)=0 for(j in 1: (module.soft[1,i]-1) ) for(l in (j+1): module.soft[1,i] ){ dissGTOM2[j,l]=max(temp[j], temp[l]) dissGTOM2[l,j]= dissGTOM2[j,l] } dissGTOM2= dissGTOM2*(1+ module.soft[9,i]^2)/ module.soft[1,i] dissGTOM2=1- dissGTOM2 #hierGTOM2 = hclust(as.dist(dissGTOM2),method="average"); windows(width=4, height=4) TOMplot1(dissGTOM2 , hierGTOM2, rep(colorlevel1[i], module.soft[1,i]) ) rm(dissGTOM2);collect_garbage() }
### UnWeighted ### for(i in 1:length(colorlevel1) ){ adjtemp=cor(t(datExpr2[colorh1==colorlevel1[i], ] ), use="pairwise.complete.obs" ) adjtemp= abs(adjtemp)>=tau dissGTOM2=TOMdist1(as.matrix(adjtemp)) hierGTOM2 = hclust(as.dist(dissGTOM2),method="average"); windows(width=4, height=4) TOMplot1(dissGTOM2 , hierGTOM2, rep(colorlevel1[i], module.hard[1,i]) ) rm(adjtemp, dissGTOM2);collect_garbage() ### <plot>: TOM-GBM-brown-hard temp=eval(as.name(paste("FDhard",colorlevel1[i],sep=""))) temp=temp$kWithin dissGTOM2=matrix(NA, module.hard[1,i], module.hard[1,i]) diag(dissGTOM2)=0 for(j in 1: (module.hard[1,i]-1) ) for(l in (j+1): module.hard[1,i] ){
dissGTOM2[j,l]=max(temp[j], temp[l]) dissGTOM2[l,j]= dissGTOM2[j,l]
} dissGTOM2= dissGTOM2*(1+ module.hard[9,i]^2)/ module.hard[1,i] dissGTOM2=1- dissGTOM2 #hierGTOM2 = hclust(as.dist(dissGTOM2),method="average"); windows(width=4, height=4) TOMplot1(dissGTOM2 , hierGTOM2, rep(colorlevel1[i], module.hard[1,i]) ) rm(dissGTOM2);collect_garbage() }