+ All Categories
Home > Documents > horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C...

horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C...

Date post: 04-Apr-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
64
Is human blood a good surrogate for brain tissue in transcriptional studies? Chaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence: [email protected] This R tutorial describes how to carry out a preservation analysis between brain and blood with the R software. The analysis requires WGCNA package, which is available at http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/ Rpackages/WGCNA/
Transcript
Page 1: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

Is human blood a good surrogate for brain tissue in transcriptional studies?

Chaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath

Correspondence: [email protected]

This R tutorial describes how to carry out a preservation analysis between brain and blood with the R software. The analysis requires WGCNA package, which is available at http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/

Page 2: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#Preprocess the data

#Since we try to find which brain module is preserved in blood, genes expressed in both #tissues are selected out for future analyisis. We do it region by region.

#For CTX and blood

#load the WGCNA packagelibrary(WGCNA)

#load the dataload("CTX_datExpr_module.RData")load("SAFHS_datExpr.RData")load("Dutch_datExpr.RData")

#find overlap genes by symbol nameCTX.genes= rownames(datExpr.CTX)SAFHS.genes= rownames(datExpr.SAFHS)Dutch.genes= rownames(datExpr.Dutch)shared.genes =merge(merge(CTX.genes, SAFHS.genes,by=1,sort=F)[,1], rownames(datExpr.Dutch),by=1,sort=F)[,1]

#since some of them are not expressed in blood, we try to move unexpressed genes shared.genes = as.character(merge(shared.genes, Expressed_blood,by=1,sort=F)[,1])

#finally, we get 2640 expressed genes shared between cortex and blood.length(shared.genes)[1] 2640

#Get the datExpr (only contains the shared genes) and module definition for next analysis.data.CTX=datExpr.CTX[match(shared.genes, CTX.genes),]data.SAFHS=datExpr.SAFHS[match(shared.genes, SAFHS.genes),]data.Dutch=datExpr.Dutch[match(shared.genes, Dutch.genes),]color.CTX=module.CTX[match(shared.genes, CTX.genes)]

#save the files save(data.CTX,data.SAFHS,data.Dutch,color.CTX,file="CTX_SAFHS_Dutch_for_MP.RData")

#For CN and blood

#load the dataload("CN_datExpr_module.RData")load("SAFHS_datExpr.RData")

Page 3: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

load("Dutch_datExpr.RData")

#find overlap genes by symbol nameCN.genes= rownames(datExpr.CN)SAFHS.genes= rownames(datExpr.SAFHS)Dutch.genes= rownames(datExpr.Dutch)shared.genes =merge(merge(CN.genes, SAFHS.genes,by=1,sort=F)[,1], rownames(datExpr.Dutch),by=1,sort=F)[,1]

#since some of them are not expressed in blood, we try to move unexpressed genes shared.genes = as.character(merge(shared.genes, Expressed_blood,by=1,sort=F)[,1])

#finally, we get 2063 expressed genes shared between caudate nucleus and blood.length(shared.genes)[1] 2063

#Get the datExpr (only contains the shared genes) and module definition for next analysis.data.CN=datExpr.CN[match(shared.genes, CN.genes),]data.SAFHS=datExpr.SAFHS[match(shared.genes, SAFHS.genes),]data.Dutch=datExpr.Dutch[match(shared.genes, Dutch.genes),]color.CN=module.CN [match(shared.genes, CN.genes)]

#save the files save(data.CN,data.SAFHS,data.Dutch,color.CN,file="CN_SAFHS_Dutch_for_MP.RData")

#For CB and blood

#load the dataload("CB_datExpr_module.RData")load("SAFHS_datExpr.RData")load("Dutch_datExpr.RData")

#find overlap genes by symbol nameCB.genes= rownames(datExpr.CB)SAFHS.genes= rownames(datExpr.SAFHS)Dutch.genes= rownames(datExpr.Dutch)shared.genes =merge(merge(CB.genes, SAFHS.genes,by=1,sort=F)[,1], rownames(datExpr.Dutch),by=1,sort=F)[,1]

#since some of them are not expressed in blood, we try to move unexpressed genes shared.genes = as.character(merge(shared.genes, Expressed_blood,by=1,sort=F)[,1])

#finally, we get 2001 expressed genes shared between cerebellum and blood.length(shared.genes)[1] 2001

Page 4: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#Get the datExpr (only contains the shared genes) and module definition for next analysis.data.CB=datExpr.CB[match(shared.genes, CB.genes),]data.SAFHS=datExpr.SAFHS[match(shared.genes, SAFHS.genes),]data.Dutch=datExpr.Dutch[match(shared.genes, Dutch.genes),]color.CB=module.CB [match(shared.genes, CB.genes)]

#save the files save(data.CB,data.SAFHS,data.Dutch,color.CB,file="CB_SAFHS_Dutch_for_MP.RData")

# Comparison of mean expression level and connectivity between brain and blood

#first, explores the preservation of mean expression between brain and blood, and plots the results. We compare each brain region with both blood data, so we have 6 plots finally.

#load WGCNA packagelibrary(WGCNA)

pdf(8,12,file="Mean_brain_blood_Consistance.pdf")par(mfrow=c(3,2))par(mar=c(7,8,4,1))par(mgp = c(4,1,0))

#for CTX dataload("CTX_SAFHS_Dutch_for_MP.RData")mean.CTX=apply(data.CTX,1,mean)mean.SAFHS=apply(data.SAFHS,1,mean)mean.Dutch=apply(data.Dutch,1,mean)#plot the result between CTX and DutchverboseScatterplot(mean.CTX,mean.Dutch,xlab="Mean expression\nCTX", ylab=" Mean expression\nDutch",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#plot the result between CTX and SAFHSverboseScatterplot(mean.CTX,mean.SAFHS,xlab="Mean expression\nCTX", ylab=" Mean expression\nSAFHS",corFnc = "bicor")

Page 5: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

#for CN datarm(list=ls())load("CN_SAFHS_Dutch_for_MP.RData")mean.SAFHS=apply(data.SAFHS,1,mean)mean.Dutch=apply(data.Dutch,1,mean)mean.CN=apply(data.CN,1,mean)#plot the result between CN and DutchverboseScatterplot(mean.CN,mean.Dutch,xlab="Mean expression\nCN", ylab=" Mean expression\nDutch",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "c", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#plot the result between CN and SAFHSverboseScatterplot(mean.CN,mean.SAFHS,xlab="Mean expression\nCN", ylab=" Mean expression\nSAFHS",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "d", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

#for CB datarm(list=ls())load("CB_SAFHS_Dutch_for_MP.RData")mean.SAFHS=apply(data.SAFHS,1,mean)mean.Dutch=apply(data.Dutch,1,mean)mean.CB=apply(data.CB,1,mean)#plot the result between CB and DutchverboseScatterplot(mean.CB,mean.Dutch,xlab="Mean expression\nCB", ylab=" Mean expression\nDutch",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "e", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#plot the result between CB and SAFHSverboseScatterplot(mean.CB,mean.SAFHS,xlab="Mean expression\nCB", ylab=" Mean expression\nSAFHS",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "f", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)dev.off()

Page 6: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

# second, explores the preservation of connectivity between brain and blood, and plots the results

pdf(8,12,file=" Connectivity _brain_blood_Consistance.pdf")par(mfrow=c(3,2))par(mar=c(7,8,4,1))par(mgp = c(4,1,0))

#for CTX dataload("CTX_SAFHS_Dutch_for_MP.RData")sftCTX=softConnectivity(t(data.CTX))sftSAFHS=softConnectivity(t(data.SAFHS))sftDutch=softConnectivity(t(data.Dutch))#plot the result between CTX and Dutch

Page 7: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

verboseScatterplot(sftCTX,sftDutch,xlab="Connectivity\nCTX", ylab=" Connectivity\nDutch",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#plot the result between CTX and SAFHSverboseScatterplot(sftCTX,sftSAFHS,xlab="Connectivity\nCTX", ylab=" Connectivity\nSAFHS",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

#for CN datarm(list=ls())load("CN_SAFHS_Dutch_for_MP.RData")sftCN=softConnectivity(t(data.CN))sftSAFHS=softConnectivity(t(data.SAFHS))sftDutch=softConnectivity(t(data.Dutch))#plot the result between CN and DutchverboseScatterplot(sftCN,sftDutch,xlab="Connectivity\nCN", ylab=" Connectivity\nDutch",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "c", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#plot the result between CN and SAFHSverboseScatterplot(sftCN,sftSAFHS,xlab="Connectivity\nCN", ylab=" Connectivity\nSAFHS",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "d", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

#for CB datarm(list=ls())load("CB_SAFHS_Dutch_for_MP.RData")sftCB=softConnectivity(t(data.CB))sftSAFHS=softConnectivity(t(data.SAFHS))sftDutch=softConnectivity(t(data.Dutch))#plot the result between CB and DutchverboseScatterplot(sftCB,sftDutch,xlab="Connectivity\nCB", ylab=" Connectivity\nDutch",corFnc = "bicor")box = par("usr");

Page 8: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "e", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#plot the result between CB and SAFHSverboseScatterplot(sftCB,sftSAFHS,xlab="Connectivity\nCB", ylab=" Connectivity\nSAFHS",corFnc = "bicor")box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.09*(box[4]-box[3]), "f", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

dev.off()

Page 9: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#Preservation module detection

#explores the preservation between each brain region in blood with Modulepreservation #funtion, which is available in WGCNA package.

#MP function for CTX and SAFHS #load WGCNAlibrary(WGCNA)

load("CTX_SAFHS_Dutch_for_MP.RData")colorList=list(color.CTX)colorList[[2]]=NAmultiExpr=list()multiExpr[[1]]=list(data=t(data.CTX))multiExpr[[2]]=list(data=t(data.SAFHS))names(multiExpr)=names(colorList)=c("net1","net2")mp.CTX.SAFHS=modulePreservation(multiExpr,colorList)save(mp.CTX.SAFHS,file="CTX_SAFHS_MP_Result.RData")

#MP function for CTX and Dutch colorList=list(color.CTX)colorList[[2]]=NAmultiExpr=list()multiExpr[[1]]=list(data=t(data.CTX))multiExpr[[2]]=list(data=t(data.Dutch))names(multiExpr)=names(colorList)=c("net1","net2")mp.CTX.Dutch=modulePreservation(multiExpr,colorList)save(mp.CTX.Dutch,file="CTX_Dutch_MP_Result.RData")

#MP function for CN and SAFHS rm(list=ls())load("CN_SAFHS_Dutch_for_MP.RData")colorList=list(color.CN)colorList[[2]]=NAmultiExpr=list()multiExpr[[1]]=list(data=t(data.CN))multiExpr[[2]]=list(data=t(data.SAFHS))names(multiExpr)=names(colorList)=c("net1","net2")mp.CN.SAFHS=modulePreservation(multiExpr,colorList)save(mp.CN.SAFHS,file="CN_SAFHS_MP_Result.RData")

Page 10: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#MP function for CN and Dutch colorList=list(color.CN)colorList[[2]]=NAmultiExpr=list()multiExpr[[1]]=list(data=t(data.CN))multiExpr[[2]]=list(data=t(data.Dutch))names(multiExpr)=names(colorList)=c("net1","net2")mp.CN.Dutch=modulePreservation(multiExpr,colorList)save(mp.CN.Dutch,file="CN_Dutch_MP_Result.RData")

#MP function for CB and SAFHS rm(list=ls())load("CB_SAFHS_Dutch_for_MP.RData")colorList=list(color.CB)colorList[[2]]=NAmultiExpr=list()multiExpr[[1]]=list(data=t(data.CB))multiExpr[[2]]=list(data=t(data.SAFHS))names(multiExpr)=names(colorList)=c("net1","net2")mp.CB.SAFHS=modulePreservation(multiExpr,colorList)save(mp.CB.SAFHS,file="CB_SAFHS_MP_Result.RData")

#MP function for CN and DutchcolorList=list(color.CB)colorList[[2]]=NAmultiExpr=list()multiExpr[[1]]=list(data=t(data.CB))multiExpr[[2]]=list(data=t(data.Dutch))names(multiExpr)=names(colorList)=c("net1","net2")mp.CB.Dutch=modulePreservation(multiExpr,colorList)save(mp.CB.Dutch,file="CB_Dutch_MP_Result.RData")

#although module preservation function returns many statistics, Z summary is a good represent ##for them, and we will use Z summary in our case.

#extracts the Z summary for CTX modulesload("CTX_Dutch_MP_Result.RData")load("CTX_SAFHS_MP_Result.RData")CTX.SAFHS.preservation=mp.CTX.SAFHS$preservation$Z$ref.net1$inColumnsAlsoPresentIn.net2 [,1:2]CTX.Dutch.preservation=mp.CTX.Dutch$preservation$Z$ref.net1$ inColumnsAlsoPresentIn.net2 [,1:2]

Page 11: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

##remove grey and gold module CTX.SAFHS.preservation=CTX.SAFHS.preservation[-c(5,8),]CTX.Dutch.preservation=CTX.Dutch.preservation[-c(5,8),]

##reoder the Z-summaryk.order=order((CTX.Dutch.preservation[,2]+CTX.SAFHS.preservation[,2]),decreasing=T)CTX.Dutch.preservation=CTX.Dutch.preservation[k.order,]CTX.SAFHS.preservation=CTX.SAFHS.preservation[k.order,]

CTX.SAFHS.preservation[,1]=paste(rownames(CTX.SAFHS.preservation), " SAFHS",sep="/")CTX.Dutch.preservation[,1]=paste(rownames(CTX.Dutch.preservation), "Dutch",sep="/")colnames(CTX.Dutch.preservation)[1]="Module_name"colnames(CTX.SAFHS.preservation)[1]="Module_name"preservation.combine=data.frame(matrix(NA,38,3))colnames(preservation.combine)=c("Module_Colour","Name","Preservation_Z_Score")for(i in 1:19){ preservation.combine[2*i,1]=rownames(CTX.SAFHS.preservation)[i];preservation.combine[2*i,2:3]=CTX.SAFHS.preservation[i,1:2]}for(i in 1:19){ preservation.combine[2*i-1,1]=rownames(CTX.Dutch.preservation)[i];preservation.combine[2*i-1,2:3]=CTX.Dutch.preservation[i,1:2]}

write.csv(preservation.combine,file="CTX_preservation.csv")

Module_Colour Name Preservation_Z_Score1 yellow yellow/Dutch 17.62300472 yellow yellow/ SAFHS 14.512484123 green green/Dutch 15.282512014 green green/ SAFHS 16.516705025 blue blue/Dutch 10.932440796 blue blue/ SAFHS 12.021388237 turquoise turquoise/Dutch 5.4626350618 turquoise turquoise/ SAFHS 5.8449421219 orange orange/Dutch 4.625261909

10 orange orange/ SAFHS 6.07491202311 palegreen palegreen/Dutch 1.86722428212 palegreen palegreen/ SAFHS 7.17236108413 midnightblue midnightblue/Dutch 4.02156242114 midnightblue midnightblue/ SAFHS 3.80247148415 tan tan/Dutch 0.75809965316 tan tan/ SAFHS 6.65952516717 honeydew honeydew/Dutch 5.30198729518 honeydew honeydew/ SAFHS 1.24469649819 pink pink/Dutch 2.29508579220 pink pink/ SAFHS 3.44996303121 purple purple/Dutch 0.619838871

Page 12: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

22 purple purple/ SAFHS 4.8487028223 brown brown/Dutch 4.07273968124 brown brown/ SAFHS 1.30129702225 tomato tomato/Dutch 0.59586576426 tomato tomato/ SAFHS 1.63960018627 red red/Dutch 0.86053425728 red red/ SAFHS 0.56852837329 powderblue powderblue/Dutch 0.25349292230 powderblue powderblue/ SAFHS 1.16058619931 salmon salmon/Dutch 0.22278842932 salmon salmon/ SAFHS 0.174037333 greenyellow greenyellow/Dutch 0.19715462434 greenyellow greenyellow/ SAFHS -0.34448520135 darkolivegreen darkolivegreen/Dutch -0.56784965936 darkolivegreen darkolivegreen/ SAFHS -0.74771924137 black black/Dutch -0.44804081138 black black/ SAFHS -1.290898012

#extracts the preservation result for CN modules#load the datarm(list=ls())load("CN_Dutch_MP_Result.RData")load("CN_SAFHS_MP_Result.RData")CN.SAFHS.preservation=mp.CN.SAFHS$preservation$Z$ref.net1$inColumnsAlsoPresentIn.net2 [,1:2]CN.Dutch.preservation=mp.CN.Dutch$preservation$Z$ref.net1$ inColumnsAlsoPresentIn.net2 [,1:2]

##remove grey and gold module CN.Dutch.preservation=CN.Dutch.preservation[-c(8,9),]CN.SAFHS.preservation=CN.SAFHS.preservation[-c(8,9),]

##reoder the Z-summaryk.order=order((CN.Dutch.preservation[,2]+CN.SAFHS.preservation[,2]),decreasing=T)CN.Dutch.preservation=CN.Dutch.preservation[k.order,]CN.SAFHS.preservation=CN.SAFHS.preservation[k.order,]

CN.SAFHS.preservation[,1]=paste(rownames(CN.SAFHS.preservation), " SAFHS",sep="/")CN.Dutch.preservation[,1]=paste(rownames(CN.Dutch.preservation), "Dutch",sep="/")

colnames(CN.Dutch.preservation)[1]="Module_name"colnames(CN.SAFHS.preservation)[1]="Module_name"

Page 13: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

preservation.combine=data.frame(matrix(NA,46,3))colnames(preservation.combine)=c("Module_Colour","Name","Preservation_Z_Score")for(i in 1:23){ preservation.combine[2*i,1]=rownames(CN.SAFHS.preservation)[i];preservation.combine[2*i,2:3]=CN.SAFHS.preservation[i,1:2]}for(i in 1:23){ preservation.combine[2*i-1,1]=rownames(CN.Dutch.preservation)[i];preservation.combine[2*i-1,2:3]=CN.Dutch.preservation[i,1:2]}

write.csv(preservation.combine,file="CN_preservation.csv")

Module_Colour Name Preservation_Z_Score1 yellow yellow/Dutch 12.974549942 yellow yellow/ SAFHS 13.709315793 purple purple/Dutch 3.1457964144 purple purple/ SAFHS 9.0762665745 aliceblue aliceblue/Dutch 4.2121044286 aliceblue aliceblue/ SAFHS 6.5426632757 blue blue/Dutch 1.7730740918 blue blue/ SAFHS 3.9810975659 royalblue royalblue/Dutch 2.639728838

10 royalblue royalblue/ SAFHS 2.60420124411 orange orange/Dutch 1.64015240412 orange orange/ SAFHS 3.57067981313 palegreen palegreen/Dutch 1.93247451514 palegreen palegreen/ SAFHS 3.04446155915 powderblue powderblue/Dutch 1.1431080216 powderblue powderblue/ SAFHS 1.62396916917 black black/Dutch 1.95826691818 black black/ SAFHS 0.37451184419 seashell seashell/Dutch 1.27267251820 seashell seashell/ SAFHS 0.5537921621 lavenderblush lavenderblush/Dutch 0.80634729822 lavenderblush lavenderblush/ SAFHS 0.99558980323 aquamarine aquamarine/Dutch 0.24578226824 aquamarine aquamarine/ SAFHS 1.05731470325 mistyrose mistyrose/Dutch 0.20707549326 mistyrose mistyrose/ SAFHS 0.60754536227 chartreuse chartreuse/Dutch 1.03796739128 chartreuse chartreuse/ SAFHS -0.3082978129 turquoise turquoise/Dutch 1.16408162530 turquoise turquoise/ SAFHS -0.65026133231 darkgreen darkgreen/Dutch -0.4857692232 darkgreen darkgreen/ SAFHS 0.71600031333 palevioletred palevioletred/Dutch -0.673229763

Page 14: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

34 palevioletred palevioletred/ SAFHS 0.73214153535 brown brown/Dutch -0.06518490236 brown brown/ SAFHS 0.04790707737 mintcream mintcream/Dutch -0.4828031738 mintcream mintcream/ SAFHS -0.12817872839 maroon maroon/Dutch -0.54529174640 maroon maroon/ SAFHS -0.34672928441 sandybrown sandybrown/Dutch -0.46871539942 sandybrown sandybrown/ SAFHS -0.54596696843 salmon salmon/Dutch -1.13643992344 salmon salmon/ SAFHS -1.05643611845 red red/Dutch -2.4400089946 red red/ SAFHS -2.985193505

#extracts the preservation result for CB modules#load the datarm(list=ls())load("CB_Dutch_MP_Result.RData")load("CB_SAFHS_MP_Result.RData")CB.SAFHS.preservation=mp.CB.SAFHS$preservation$Z$ref.net1$inColumnsAlsoPresentIn.net2 [,1:2]CB.Dutch.preservation=mp.CB.Dutch$preservation$Z$ref.net1$ inColumnsAlsoPresentIn.net2 [,1:2]

##remove grey and gold module which is uselessCB.Dutch.preservation=CB.Dutch.preservation[-c(10,12),]CB.SAFHS.preservation=CB.SAFHS.preservation[-c(10,12),]

##reoder the Z-summaryk.order=order((CB.Dutch.preservation[,2]+CB.SAFHS.preservation[,2]),decreasing=T)CB.Dutch.preservation=CB.Dutch.preservation[k.order,]CB.SAFHS.preservation=CB.SAFHS.preservation[k.order,]

CB.SAFHS.preservation[,1]=paste(rownames(CB.SAFHS.preservation), "SAFHS",sep="/")CB.Dutch.preservation[,1]=paste(rownames(CB.Dutch.preservation), "Dutch",sep="/")colnames(CB.Dutch.preservation)[1]="Module_name"colnames(CB.SAFHS.preservation)[1]="Module_name"preservation.combine=data.frame(matrix(NA,44,3))colnames(preservation.combine)=c("Module_Colour","Name","Preservation_Z_Score")for(i in 1:22){ preservation.combine[2*i-1,1]=rownames(CB.SAFHS.preservation)[i];preservation.combine[2*i-1,2:3]=CB.SAFHS.preservation[i,1:2]}for(i in 1:22){ preservation.combine[2*i,1]=rownames(CB.Dutch.preservation)[i];

Page 15: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

preservation.combine[2*i,2:3]=CB.Dutch.preservation[i,1:2]}

write.csv(preservation.combine,file=”CB_preservation.csv")

Module_Colour Name Preservation_Z_Score1 blue blue/SAFHS 10.40694782 blue blue/Dutch 9.061660263 yellow yellow/SAFHS 3.8418493984 yellow yellow/Dutch 4.3460016695 green green/SAFHS 2.4309036496 green green/Dutch 2.710253497 palegreen palegreen/SAFHS 3.5760706518 palegreen palegreen/Dutch 0.9107451849 purple purple/SAFHS 2.900397986

10 purple purple/Dutch 0.95407111911 black black/SAFHS 2.15241148112 black black/Dutch 1.49631246613 pink pink/SAFHS 1.48020971114 pink pink/Dutch 1.6868929815 darkgoldenrod darkgoldenrod/SAFHS 2.00489396316 darkgoldenrod darkgoldenrod/Dutch 1.10143327517 darksalmon darksalmon/SAFHS 1.15648396118 darksalmon darksalmon/Dutch 1.77631827319 turquoise turquoise/SAFHS 1.32016334520 turquoise turquoise/Dutch 0.82592087521 tan tan/SAFHS 2.9429948522 tan tan/Dutch -0.90018588723 chocolate chocolate/SAFHS 1.07497734524 chocolate chocolate/Dutch 0.82748311125 honeydew honeydew/SAFHS 0.53181928726 honeydew honeydew/Dutch 0.68677002327 cornflowerblue cornflowerblue/SAFHS 1.56976860728 cornflowerblue cornflowerblue/Dutch -0.60822384829 violetred violetred/SAFHS -0.56741779730 violetred violetred/Dutch 1.434157531 darkblue darkblue/SAFHS 0.85648041732 darkblue darkblue/Dutch -0.83777791333 lemonchiffon lemonchiffon/SAFHS -0.24897325934 lemonchiffon lemonchiffon/Dutch 0.12085854235 khaki khaki/SAFHS -0.13174062736 khaki khaki/Dutch -0.08807058937 wheat wheat/SAFHS -0.65992335338 wheat wheat/Dutch -0.068352439 darkolivegreen darkolivegreen/SAFHS -0.24082851340 darkolivegreen darkolivegreen/Dutch -1.03734399641 brown brown/SAFHS -0.88014602342 brown brown/Dutch -1.58684276643 red red/SAFHS -2.362060973

Page 16: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

44 red red/Dutch -2.381356472

#plot the result

source("barplot_code.txt")

pdf(10,7.5,file="Figure1_CTX_CN_CB.pdf")

layout(matrix(c(0,1,2,3),1,4,byrow=TRUE), c(0.5,1,1,1), c(2.5), TRUE)

## 1 Plot CTX data

data.CTX=read.csv("CTX_preservation.csv")

data.CTX=data.CTX[,-1]

data.CTX [,1]=as.character(data.CTX [,1])

data.CTX [,2]=as.character(data.CTX [,2])

k=1:38

k=39-k

data.CTX = data.CTX [k,]

## read the color

colors.CTX=c(rep(NA,8),as.character(data.CTX [,1]))

## read the Z-summary

x.CTX= c(rep(NA,8),data.CTX [,3])

##read the name

xlimits=c(0,20)

title=" Preservation of CTX modules"

library(WGCNA)

par(mar = c(3, 3, 3, 8))

Page 17: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

par(mgp = c(4,2.8,0))

barplotIt(x.CTX, colors.CTX, axes = F, main=title, names=c(rep(NA,8),data.CTX[,2]), xlim=xlimits, cex.names=0.7, family = "sans", xlab="sans",ylab="sans")

abline(v=5,col="red")

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.05 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.25*(box[2]-box[1]),box[4]+0.035*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 2)

## 2 Plot CN data

data.CN=read.csv("CN_preservation.csv")

data.CN=data.CN[,-1]

data.CN [,1]=as.character(data.CN [,1])

data.CN [,2]=as.character(data.CN [,2])

k=1:46

k=47-k

data.CN = data.CN [k,]

## read the color

colors.CN=as.character(data.CN[,1])

## read the Z-summary

x.CN=data.CN[,3]

##read the name

Page 18: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

xlimits=c(0,20)

title=" Preservation of CN modules"

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

barplotIt(x.CN, colors.CN, axes = F, axisnames = T, main=title, names=data.CN[,2], xlim=xlimits, cex.names=0.7, family = "sans", xlab ="red")

abline(v=5,col="red")

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.05 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.25*(box[2]-box[1]),box[4]+0.035*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 2)

## 3 Plot CB data

data.CB=read.csv("CB_preservation.csv")

data.CB=data.CB[,-1]

data.CB[,1]=as.character(data.CB [,1])

data.CB [,2]=as.character(data.CB [,2])

k=1:44

k=45-k

data.CB = data.CB [k,]

## read the color

colors.CB=c(rep(NA,2),as.character(data.CB[,1]))

Page 19: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

## read the Z-summary

x.CB=c(rep(NA,2),data.CB[,3])

##read the name

xlimits=c(0,20)

title=" Preservation of CB modules"

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

barplotIt(x.CB, colors.CB, axes = FALSE, main=title, names=c(rep(NA,2),data.CB[,2]), xlim=xlimits, cex.names=0.7, family = "sans")

abline(v=5,col="red")

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.05 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.25*(box[2]-box[1]),box[4]+0.035*(box[4]-box[3]), "c", adj = c(0.5, 0.5), xpd = TRUE, cex = 2)

dev.off()

Page 20: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#Module relationship

#Module eigengenes are good represents for modules, and we will compare the relationship between modules with eigengenes.

Page 21: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#load WGCNAlibrary(WGCNA)

#calculate the eigengenes for 3 preserved CTX modules #load CTX related dataload("CTX_SAFHS_Dutch_for_MP.RData")#calculate the eigenges for all CTX modules in SAFHS and Dutch dataME.SAFHS.CTX=moduleEigengenes(t(data.SAFHS),color.CTX)$eigengenesME.Dutch.CTX=moduleEigengenes(t(data.Dutch),color.CTX)$eigengenes

#extract the eigengenes for three preserved modulesME.blue.CTX.Dutch=ME.Dutch.CTX$MEblueME.yellow.CTX.Dutch=ME.Dutch.CTX$MEyellowME.green.CTX.Dutch=ME.Dutch.CTX$MEgreenME.blue.CTX.SAFHS=ME.SAFHS.CTX$MEblueME.yellow.CTX.SAFHS=ME.SAFHS.CTX$MEyellowME.green.CTX.SAFHS=ME.SAFHS.CTX$MEgreen

#load CN related dataload("CN_SAFHS_Dutch_for_MP.RData")#calculate the eigenges for all CN modules in SAFHS and Dutch dataME.SAFHS.CN=moduleEigengenes(t(data.SAFHS),color.CN)$eigengenesME.Dutch.CN=moduleEigengenes(t(data.Dutch),color.CN)$eigengenes#extract the eigengenes preserved moduleME.yellow.CN.Dutch=ME.Dutch.CN$MEyellowME.yellow.CN.SAFHS=ME.SAFHS.CN$MEyellow

#load CB related dataload("CB_SAFHS_Dutch_for_MP.RData")#calculate the eigenges for all CN modules in SAFHS and Dutch dataME.SAFHS.CB=moduleEigengenes(t(data.SAFHS),color.CB)$eigengenesME.Dutch.CB=moduleEigengenes(t(data.Dutch),color.CB)$eigengenes#extract the eigengenes preserved moduleME.blue.CB.Dutch=ME.Dutch.CB$MEblueME.blue.CB.SAFHS=ME.SAFHS.CB$MEblue

#put the eigengenes from Dutch data togeatherME.Dutch=data.frame(ME.green.CTX.Dutch,ME.blue.CTX.Dutch,ME.yellow.CN.Dutch,ME.yellow.CTX.Dutch,ME.blue.CB.Dutch)

#put the eigengenes from SAFHS data togeatherME.SAFHS=data.frame(

Page 22: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

ME.green.CTX.SAFHS,ME.yellow.CTX.SAFHS,ME.blue.CB.SAFHS,ME.blue.CTX.SAFHS,ME.yellow.CN.SAFHS)

#plot the relationship of 5 preserved modules

pdf(8,4.2,file="Figure2_Module_relationship.pdf")layout(matrix(c(0,1,0,2,3,3,4,4),2,4,byrow=TRUE), c(0.5,3.5,0.5,3.5), c(1.2,2.2), TRUE)par(mar = c(0, 5.2, 1,6))

plot(flashClust(as.dist(1-cor(ME.Dutch,use="p")),method="average"), main="Dutch",sub="",xlab="" ,ylab ="Height", ylim = c(0,1),labels=c("","","","",""))box = par("usr");text(box[1]-0.24*(box[2]-box[1]),box[4]+0.0*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 2)

plot(flashClust(as.dist(1-cor(ME.SAFHS,use="p")),method="average"), main="SAFHS",sub="",xlab="" ,ylab ="Height", ylim = c(0,1),labels=c("","","","",""))box = par("usr");text(box[1]-0.24*(box[2]-box[1]),box[4]+0.0*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 2)

par(mar = c(5, 8, 0,3))pME = corPvalueFisher(cor(ME.Dutch),dim(ME.Dutch)[1])labeledHeatmap(cor(ME.SAFHS,use="p"),textMat = matrix(paste(signif(cor(ME.Dutch,use="p"), 2),"\n",signif(pME,1)),5,5),xLabels=c("ME(green/CTX)","ME(blue/CTX)","ME(yellow/CN)","ME(yellow/CTX)","ME(blue/CB)"),yLabels=c("ME(green/CTX)","ME(blue/CTX)","ME(yellow/CN)","ME(yellow/CTX)","ME(blue/CB)"),colors = greenWhiteRed(50), setStdMargins = F)pME = corPvalueFisher(cor(ME.SAFHS),dim(ME.SAFHS)[1])labeledHeatmap(cor(ME.SAFHS,use="p"),textMat = matrix(paste(signif(cor(ME.SAFHS,use="p"), 2),"\n",signif(pME,1)),5,5),

Page 23: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

xLabels=c("ME(green/CTX)","ME(blue/CTX)","ME(yellow/CN)","ME(yellow/CTX)","ME(blue/CB)"),yLabels=c("ME(green/CTX)","ME(blue/CTX)","ME(yellow/CN)","ME(yellow/CTX)","ME(blue/CB)"),colors = greenWhiteRed(50), setStdMargins =FALSE)

dev.off()

#Module membership analysis

#calculate the module membership

Page 24: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#load WGCNA package.library(WGCNA)

#load the dataload("CTX_SAFHS_Dutch_for_MP.RData")#get the module eigengenesME.CTX=moduleEigengenes(t(data.CTX),color.CTX)$eigengenesME.Dutch=moduleEigengenes(t(data.Dutch),color.CTX)$eigengenesME.SAFHS=moduleEigengenes(t(data.SAFHS),color.CTX)$eigengenes

#calculate the module membership kME.CTX=signedKME(t(data.CTX),ME.CTX)kME.Dutch=signedKME(t(data.Dutch),ME.Dutch)kME.SAFHS=signedKME(t(data.SAFHS),ME.SAFHS)

#extract the blue green and yellow modules’ module membershipKME.ctx=data.frame(color.CTX,kME.CTX$kMEyellow,kME.Dutch$kMEyellow,kME.SAFHS$kMEyellow,kME.CTX$kMEblue,kME.Dutch$kMEblue,kME.SAFHS$kMEblue,kME.CTX$kMEgreen,kME.Dutch$kMEgreen,kME.SAFHS$kMEgreen)rownames(KME.ctx)=rownames(data.CTX)write.csv(KME.ctx,file="kME_CTX_yellow_blue_green.csv")

rm(list=ls())#load the dataload("CN_SAFHS_Dutch_for_MP.RData")

#get the module eigengenesME.CN=moduleEigengenes(t(data.CN),color.CN)$eigengenesME.Dutch=moduleEigengenes(t(data.Dutch),color.CN)$eigengenesME.SAFHS=moduleEigengenes(t(data.SAFHS),color.CN)$eigengenes

#calculate the module membership kME.CN=signedKME(t(data.CN),ME.CN)kME.Dutch=signedKME(t(data.Dutch),ME.Dutch)kME.SAFHS=signedKME(t(data.SAFHS),ME.SAFHS)KME.cn=data.frame(color.CN,kME.CN$kMEyellow,kME.Dutch$kMEyellow,kME.SAFHS$kMEyellow)rownames(KME.cn)=rownames(data.CN)write.csv(KME.cn,file="kME_CN_yellow.csv")

Page 25: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

rm(list=ls())#load the dataload("CB_SAFHS_Dutch_for_MP.RData")

#get the module eigengenesME.CB=moduleEigengenes(t(data.CB),color.CB)$eigengenesME.Dutch=moduleEigengenes(t(data.Dutch),color.CB)$eigengenesME.SAFHS=moduleEigengenes(t(data.SAFHS),color.CB)$eigengenes

#calculate the module membership kME.CB=signedKME(t(data.CB),ME.CB)kME.Dutch=signedKME(t(data.Dutch),ME.Dutch)kME.SAFHS=signedKME(t(data.SAFHS),ME.SAFHS)

KME.cb=data.frame(color.CB,kME.CB$kMEblue,kME.Dutch$kMEblue,kME.SAFHS$kMEblue)rownames(KME.cb)=rownames(data.CB)write.csv(KME.cb,file="kME_CB_blue.csv")

#analysis base on module membership

#load the data from csv files produced by previous steps

rm(list=ls())data.CTX=read.csv("kME_CTX_yellow_blue_green.csv")names(data.CTX)names(data.CTX)=c("Gene.CTX", "color.CTX","CTX.yellow", "Dutch.yellow.ctx", "SAFHS.yellow.ctx", "CTX.blue", "Dutch.blue.ctx", "SAFHS.blue.ctx", "CTX.green", "Dutch.green.ctx", "SAFHS.green.ctx")attach(data.CTX)

data.CN=read.csv("kME_CN_yellow.csv")names(data.CN)names(data.CN)=c("Gene.CN", "color.CN", "CN.yellow", "Dutch.yellow.cn", "SAFHS.yellow.cn")attach(data.CN)

data.CB=read.csv("kME_CB_blue.csv")names(data.CB)names(data.CB)=c("Gene.CB", "color.CB", "CB.blue", "Dutch.blue.cb", "SAFHS.blue.cb")attach(data.CB)

Page 26: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#explore the relationship of kME between two blood data sets.pdf(12,8,file="Figure3_kME_blood_Consistance.pdf")par(mfrow=c(2,3))par(mar=c(7,8,4,1))par(mgp = c(4,1,0))

#1verboseScatterplot(SAFHS.yellow.ctx, Dutch.yellow.ctx,xlab="Module membership\nSAFHS(yellow/CTX)", ylab="Module membership\nDutch(yellow/CTX)", main = "Yellow/CTX module in Dutch and SAFHS\n",cex.main = 1.4, corFnc = "bicor")abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.12*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#2verboseScatterplot(SAFHS.blue.ctx,Dutch.blue.ctx,xlab="Module membership\nSAFHS(blue/CTX)", ylab="Module membership\nDutch(blue/CTX)",main = "Blue/CTX module in Dutch and SAFHS\n",cex.main = 1.4, corFnc = "bicor")abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.12*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#3verboseScatterplot(SAFHS.green.ctx,Dutch.green.ctx,xlab="Module membership\nSAFHS(green/CTX)", ylab="Module membership\nDutch(green/CTX)",main = "Green/CTX module in Dutch and SAFHS\n",cex.main = 1.4, corFnc = "bicor")abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.12*(box[4]-box[3]), "c", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#4verboseScatterplot(SAFHS.yellow.cn, Dutch.yellow.cn,xlab="Module membership\nSAFHS(yellow/CN)", ylab="Module membership\nDutch(yellow/CN)",main = "Yellow/CN module in Dutch and SAFHS\n",cex.main = 1.4, corFnc = "bicor")abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.12*(box[4]-box[3]), "d", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)#5verboseScatterplot(SAFHS.blue.cb,Dutch.blue.cb,xlab="Module membership\nSAFHS(blue/CB)", ylab="Module membership\nDutch(blue/CB)",main = "Blue/CB module in Dutch and SAFHS\n",cex.main = 1.4, corFnc = "bicor")abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.12*(box[4]-box[3]), "e", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

Page 27: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#6yellow_CTX=0.76blue_CTX=0.74green_CTX=0.76yellow_CN=0.73blue_CB=0.74barplot(c(yellow_CTX,blue_CTX,green_CTX,yellow_CN,blue_CB),col=c("yellow","blue","green","yellow","blue"),main = "Summary of MM correlation for preserved\n modules between two blood data sets",xlab = "Modules",ylab = "Value of Bicorrelation",space =0.9,cex.names = 0.9,names.arg=c("yellow/CTX","blue/CTX","green/CTX","yellow/CN","blue/CB"),ylim = c(0, 0.9), cex.main=1.3,cex.lab=1.5,las=1)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.12*(box[4]-box[3]), "f", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

dev.off()

#since the kME for each module shows significantly high correlation, we try to combine them in #each module by calibrating the kME values we fit linear modelslmbluectx=lm(SAFHS.blue.ctx~ Dutch.blue.ctx,na.action="na.exclude")lmgreenctx=lm(SAFHS.green.ctx~ Dutch.green.ctx,na.action="na.exclude")

Page 28: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

lmyellowctx=lm(SAFHS.yellow.ctx~ Dutch.yellow.ctx,na.action="na.exclude")lmbluecb=lm(SAFHS.blue.cb~ Dutch.blue.cb,na.action="na.exclude")lmyellowcn=lm(SAFHS.yellow.cn~ Dutch.yellow.cn,na.action="na.exclude")

summary(lmbluectx)Call:lm(formula = SAFHS.blue.ctx ~ Dutch.blue.ctx, na.action = "na.exclude")

Residuals: Min 1Q Median 3Q Max -0.930018 -0.154026 -0.003733 0.153460 1.006253

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.021707 0.004842 4.483 7.69e-06 ***Dutch.blue.ctx 0.653613 0.011820 55.299 < 2e-16 ***---Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1

Residual standard error: 0.2406 on 2638 degrees of freedomMultiple R-squared: 0.5369, Adjusted R-squared: 0.5367 F-statistic: 3058 on 1 and 2638 DF, p-value: < 2.2e-16

summary(lmgreenctx)Call:lm(formula = SAFHS.green.ctx ~ Dutch.green.ctx, na.action = "na.exclude")

Residuals: Min 1Q Median 3Q Max -0.999302 -0.149303 0.001807 0.151326 0.826849

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.008301 0.004661 -1.781 0.075 . Dutch.green.ctx 0.667939 0.011403 58.575 <2e-16 ***---Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1

Residual standard error: 0.2336 on 2638 degrees of freedomMultiple R-squared: 0.5653, Adjusted R-squared: 0.5652 F-statistic: 3431 on 1 and 2638 DF, p-value: < 2.2e-16

summary(lmyellowctx)Call:lm(formula = SAFHS.yellow.ctx ~ Dutch.yellow.ctx, na.action = "na.exclude")

Residuals: Min 1Q Median 3Q Max -0.914365 -0.149724 -0.004723 0.143281 0.994682

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.018606 0.004723 3.939 8.38e-05 ***Dutch.yellow.ctx 0.673635 0.011511 58.521 < 2e-16 ***---Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1

Residual standard error: 0.236 on 2638 degrees of freedomMultiple R-squared: 0.5649, Adjusted R-squared: 0.5647 F-statistic: 3425 on 1 and 2638 DF, p-value: < 2.2e-16

summary(lmbluecb)Call:lm(formula = SAFHS.blue.cb ~ Dutch.blue.cb, na.action = "na.exclude")

Residuals: Min 1Q Median 3Q Max

Page 29: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

-0.86727 -0.14717 -0.01038 0.15276 1.00952

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.013953 0.005499 2.537 0.0112 * Dutch.blue.cb 0.653565 0.013326 49.043 <2e-16 ***---Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1

Residual standard error: 0.2403 on 1999 degrees of freedomMultiple R-squared: 0.5461, Adjusted R-squared: 0.5459 F-statistic: 2405 on 1 and 1999 DF, p-value: < 2.2e-16

summary(lmyellowcn)Call:lm(formula = SAFHS.yellow.cn ~ Dutch.yellow.cn, na.action = "na.exclude")

Residuals: Min 1Q Median 3Q Max -0.90295 -0.15431 -0.00569 0.15741 0.93171

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.026176 0.005466 4.789 1.8e-06 ***Dutch.yellow.cn 0.641702 0.013613 47.139 < 2e-16 ***---Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1

Residual standard error: 0.2378 on 2061 degrees of freedomMultiple R-squared: 0.5188, Adjusted R-squared: 0.5186 F-statistic: 2222 on 1 and 2061 DF, p-value: < 2.2e-16

#This suggests to define the following average value:kMEbloodbluectx= 1/1.66*SAFHS.blue.ctx+.66/1.66*Dutch.blue.ctxkMEbloodgreenctx=1/1.66*SAFHS.green.ctx+.66/1.66*Dutch.green.ctxkMEbloodyellowctx= 1/1.66*SAFHS.yellow.ctx+.66/1.66*Dutch.yellow.ctxkMEbloodbluecb= 1/1.66*SAFHS.blue.cb+.66/1.66*Dutch.blue.cbkMEbloodyellowcn=1/1.66*SAFHS.yellow.cn+.66/1.66*Dutch.yellow.cn

datBluectx=data.frame(kMEbloodbluectx , SAFHS.blue.ctx, Dutch.blue.ctx)datGreenctx=data.frame(kMEbloodgreenctx, SAFHS.green.ctx, Dutch.green.ctx)datYellowctx=data.frame(kMEbloodyellowctx, SAFHS.yellow.ctx, Dutch.yellow.ctx)datBluecb=data.frame(kMEbloodbluecb, SAFHS.blue.cb, Dutch.blue.cb)datYellowcn=data.frame(kMEbloodyellowcn, SAFHS.yellow.cn, Dutch.yellow.cn)

#how the combined kME represent the old one

signif(cor(datBluectx, use="p"),2) kMEbloodbluectx SAFHS.blue.ctx Dutch.blue.ctxkMEbloodbluectx 1.00 0.95 0.91SAFHS.blue.ctx 0.95 1.00 0.73Dutch.blue.ctx 0.91 0.73 1.00signif(cor(datGreenctx, use="p"),2) kMEbloodgreenctx SAFHS.green.ctx Dutch.green.ctxkMEbloodgreenctx 1.00 0.95 0.91SAFHS.green.ctx 0.95 1.00 0.75Dutch.green.ctx 0.91 0.75 1.00

Page 30: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

signif(cor(datYellowctx, use="p"),2) kMEbloodyellowctx SAFHS.yellow.ctx Dutch.yellow.ctxkMEbloodyellowctx 1.00 0.95 0.91SAFHS.yellow.ctx 0.95 1.00 0.75Dutch.yellow.ctx 0.91 0.75 1.00signif(cor(datBluecb, use="p"),2) kMEbloodbluecb SAFHS.blue.cb Dutch.blue.cbkMEbloodbluecb 1.00 0.95 0.91SAFHS.blue.cb 0.95 1.00 0.74Dutch.blue.cb 0.91 0.74 1.00signif(cor(datYellowcn, use="p"),2) kMEbloodyellowcn SAFHS.yellow.cn Dutch.yellow.cnkMEbloodyellowcn 1.00 0.95 0.90SAFHS.yellow.cn 0.95 1.00 0.72Dutch.yellow.cn 0.90 0.72 1.00

#explore the relationship of kME between three modules.pdf(12,8,file="Figure4_kME_Relationship_3_modules.pdf")par(mfrow=c(2,3))par(mar=c(7,8,4,1))par(mgp = c(4,1,0))

verboseScatterplot(kMEbloodyellowctx, kMEbloodbluectx, xlab="Module membership\nBlood(yellow/CTX)", ylab="Module membership\nBlood(blue/CTX)",main = "Blue/CTX versus Yellow/CTX in Blood\n",cex.main = 1.4)abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.14*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseScatterplot(kMEbloodyellowctx, kMEbloodgreenctx, xlab="Module membership\nBlood(yellow/CTX)", ylab="Module membership\nBlood(green/CTX)",main = "Green/CTX versus Yellow/CTX in Blood\n",cex.main = 1.4)abline(0,-1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.14*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseScatterplot(kMEbloodbluectx, kMEbloodgreenctx, xlab="Module membership\nBlood(blue/CTX)", ylab="Module membership\nBlood(green/CTX)",main = "Green/CTX versus Blue/CTX in Blood\n",cex.main = 1.4)abline(0,-1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.14*(box[4]-box[3]), "c", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseScatterplot(CTX.yellow, CTX.blue, xlab="Module membership\nCTX(yellow)", ylab="Module membership\nCTX(blue)",main = "Blue/CTX versus Yellow/CTX\n",cex.main = 1.4)

Page 31: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.14*(box[4]-box[3]), "d", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseScatterplot(CTX.yellow,CTX.green, xlab="Module membership\nCTX(yellow)", ylab="Module membership\nCTX(green)",main = "Green/CTX versus Yellow/CTX\n",cex.main = 1.4)abline(0,-1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.15*(box[4]-box[3]), "e", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseScatterplot(CTX.blue,CTX.green, xlab="Module membership\nCTX(blue)", ylab="Module membership\nCTX(green)", main = "Green/CTX versus Blue/CTX\n",cex.main = 1.4)abline(0,-1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.14*(box[4]-box[3]), "f", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)dev.off()

#we also combine the kME from 3 preserved CTX modules base on the previous plotkMEBloodAveragectx= (kMEbloodbluectx+kMEbloodyellowctx-kMEbloodgreenctx)/3kMEBloodAveragecn= kMEbloodyellowcnkMEBloodAveragecb= kMEbloodbluecb

Page 32: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

kMECTXAverage= (CTX.blue+ CTX.yellow- CTX.green)/3kMECNAverage= CN.yellowkMECBAverage= CB.blue

#find how well the new kME can represent the old onecor(data.frame(kMEBloodAveragectx , kMEbloodbluectx, kMEbloodyellowctx, kMEbloodgreenctx)) kMEBloodAveragectx kMEbloodbluectx kMEbloodyellowctxkMEBloodAveragectx 1.0000000 0.9974751 0.9993301kMEbloodbluectx 0.9974751 1.0000000 0.9960215kMEbloodyellowctx 0.9993301 0.9960215 1.0000000kMEbloodgreenctx -0.9976269 -0.9909014 -0.9963894 kMEbloodgreenctxkMEBloodAveragectx -0.9976269kMEbloodbluectx -0.9909014kMEbloodyellowctx -0.9963894kMEbloodgreenctx 1.0000000

cor(data.frame(kMECTXAverage , CTX.blue, CTX.yellow, CTX.green)) kMECTXAverage CTX.blue CTX.yellow CTX.greenkMECTXAverage 1.0000000 0.68593783 0.9697139 -0.73918489CTX.blue 0.6859378 1.00000000 0.6152591 -0.04479907CTX.yellow 0.9697139 0.61525910 1.0000000 -0.70790381CTX.green -0.7391849 -0.04479907 -0.7079038 1.00000000

#try to select the preserved gene base on the threshold |kME|>=0.35#for CTXPositive.CTX=data.CTX[kMEBloodAveragectx >.35& kMECTXAverage >.35,]Negative.CTX=data.CTX[-kMEBloodAveragectx >.35& -kMECTXAverage >.35,]Genelist.CTX=c(as.character(Positive.CTX[,1]),as.character(Negative.CTX[,1]))write.table(Genelist.CTX,file="Genelist_CTX.txt", col.names=F,row.names=F)k.ctx=match(Genelist.CTX,as.character(data.CTX[,1]))Genelistall.CTX=as.character(data.CTX[,1])colorctx=as.character(color.CTX)colorctx[colorctx!="black"]="black"colorctx[k.ctx]= "red"

#for CNPositive.CN=data.CN[kMEBloodAveragecn >.35& kMECNAverage >.35,]Negative.CN=data.CN[-kMEBloodAveragecn >.35& -kMECNAverage >.35,]Genelist.CN=c(as.character(Positive.CN[,1]),as.character(Negative.CN[,1]))write.table(Genelist.CN,file="Genelist_CN.txt", col.names=F,row.names=F)k.cn=match(Genelist.CN,as.character(data.CN[,1]))Genelistall.CN=as.character(data.CN[,1])colorcn=as.character(color.CN)colorcn[colorcn!="black"]="black"colorcn[k.cn]= "yellow"

#for CBPositive.CB=data.CB[kMEBloodAveragecb >.35& kMECBAverage >.35,]

Page 33: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

Negative.CB=data.CB[-kMEBloodAveragecb >.35& -kMECBAverage >.35,]Genelist.CB=c(as.character(Positive.CB[,1]),as.character(Negative.CB[,1]))write.table(Genelist.CB,file="Genelist_CB.txt", col.names=F,row.names=F)k.cb=match(Genelist.CB,as.character(data.CB[,1]))Genelistall.CB=as.character(data.CB[,1])colorcb=as.character(color.CB)colorcb[colorcb!="black"]="black"colorcb[k.cb]= "blue"

#Heritability analysis#load the heritability data for every geneHeritability=read.csv("ng2119-S2.csv")[2:3]Heritability=apply(Heritability[,c(2,2)],2,tapply,Heritability[,1],mean)Heritability=data.frame(rownames(Heritability),Heritability[,1])colnames(Heritability)=c("Gene_Symbol","Heritability")

load("SAFHS_datExpr.RData")all.gene=rownames(Heritability)k=match(all.gene,rownames(datExpr.SAFHS))k=k[-(1:length(k))[is.na(k)]]datExpr.SAFHS=datExpr.SAFHS[k,]datExpr.SAFHS.expression=data.frame(rownames(datExpr.SAFHS),apply(datExpr.SAFHS,1,mean))

All=Heritability[,2]

CTX=Heritability[match(Genelist.CTX,Heritability[,1]),2]CTX=CTX[-(1:length(CTX))[is.na(CTX)]]CTX.all=Heritability[match(Genelistall.CTX,Heritability[,1]),2]CTX.all=CTX.all[-(1:length(CTX.all))[is.na(CTX.all)]]

CN=Heritability[match(Genelist.CN,Heritability[,1]),2]CN=CN[-(1:length(CN))[is.na(CN)]]CN.all=Heritability[match(Genelistall.CN,Heritability[,1]),2]CN.all=CN.all[-(1:length(CN.all))[is.na(CN.all)]]

CB=Heritability[match(Genelist.CB,Heritability[,1]),2]CB=CB[-(1:length(CB))[is.na(CB)]]CB.all=Heritability[match(Genelistall.CB,Heritability[,1]),2]CB.all=CB.all[-(1:length(CB.all))[is.na(CB.all)]]

datExpr.SAFHS.expression[,1]=as.character(datExpr.SAFHS.expression[,1])

Page 34: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

All.1=datExpr.SAFHS.expression[,2]

CTX.1=datExpr.SAFHS.expression[match(Genelist.CTX,datExpr.SAFHS.expression[,1]),2]CTX.1=CTX.1[-(1:length(CTX.1))[is.na(CTX.1)]]CTX.all.1=datExpr.SAFHS.expression[match(Genelistall.CTX,datExpr.SAFHS.expression[,1]),2]CTX.all.1=CTX.all.1[-(1:length(CTX.all.1))[is.na(CTX.all.1)]]

CN.1=datExpr.SAFHS.expression[match(Genelist.CN,datExpr.SAFHS.expression[,1]),2]CN.1=CN.1[-(1:length(CN.1))[is.na(CN.1)]]CN.all.1=datExpr.SAFHS.expression[match(Genelistall.CN,datExpr.SAFHS.expression[,1]),2]CN.all.1=CN.all.1[-(1:length(CN.all.1))[is.na(CN.all.1)]]

CB.1=datExpr.SAFHS.expression[match(Genelist.CB,datExpr.SAFHS.expression[,1]),2]CB.1=CB.1[-(1:length(CB.1))[is.na(CB.1)]]CB.all.1=datExpr.SAFHS.expression[match(Genelistall.CB,datExpr.SAFHS.expression[,1]),2]CB.all.1=CB.all.1[-(1:length(CB.all.1))[is.na(CB.all.1)]]

#We get All, CTX, CN, CB, CTX.all, CN.all, CB.all, and plot the result

pdf(12,12,file="Figure5_Preserved_genes_heritability_Mean_expression.pdf")par(mfrow=c(3,3))par(mar=c(7,8,4,1))par(mgp = c(4,1,0))

verboseScatterplot( kMECTXAverage, kMEBloodAveragectx, ylab="Module membership\nCombined Blood", xlab="Module membership\nCombined CTX",col= colorctx)abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.1*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseScatterplot( kMECNAverage, kMEBloodAveragecn ,ylab="Module membership\nBlood", xlab="Module membership\nCN",col= colorcn)abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.1*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseScatterplot(kMECBAverage, kMEBloodAveragecb, ylab="Module membership\nBlood", xlab="Module membership\nCB",col= colorcb)abline(0,1,col="red",lwd=2)box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.1*(box[4]-box[3]), "c", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

par(mgp = c(4,2,0))

Page 35: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

par(mar=c(6,8,4,1))

verboseBarplot(ylim=c(0,0.35),c(All,CTX.all,CTX),c(rep("(n=18525)\nAll genes with\nheritability value",length(All)),rep("(n=2640)\nAll genes in\nCTX network", length(CTX.all)),rep("(n=357)\nHub genes\nin CTX network",length(CTX))), AnovaTest=T, main="CTX",xlab="Group",ylab="Mean Heritability", cex=1, color=c("grey","black","red"))box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.1*(box[4]-box[3]), "d", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseBarplot(ylim=c(0,0.35),c(All,CN.all,CN), c(rep("(n=18525)\nAll genes with\nheritability value",length(All)),rep("(n=2063)\nAll genes in\nCN network", length(CN.all)),rep("(n=305)\nHub genes\nin CN network",length(CN))), AnovaTest=T, main="CN",xlab="Group",ylab="Mean Heritability", cex=1, color=c("grey","black","yellow"))box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.1*(box[4]-box[3]), "e", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseBarplot(ylim=c(0,0.35),c(All,CB.all,CB), c(rep("(n=18525)\nAll genes with\nheritability value",length(All)),rep("(n=2001)\nAll genes in\nCB network", length(CB.all)),rep("(n=277)\nHub genes\nin CB network",length(CB))), AnovaTest=T, main="CB",xlab="Group",ylab="Mean Heritability", cex=1, color=c("grey","black","blue"))box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.1*(box[4]-box[3]), "f", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

ylimits=c(0,400)

verboseBarplot(ylim=c(0,510),c(All.1,CTX.all.1, CTX.1), c(rep("(n=18525)\nAll genes with\nheritability value",length(All.1)),rep("(n=2640)\nAll genes in\nCTX network", length(CTX.all.1)),rep("(n=357)\nHub genes\nin CTX network",length(CTX.1))), AnovaTest=T, main="CTX",xlab="Group",ylab="Mean Expression", cex=1, color=c("grey","black","red"))box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.11*(box[4]-box[3]), "g", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

verboseBarplot(ylim=c(0,510),c(All.1,CN.all.1,CN.1), c(rep("(n=18525)\nAll genes with\nheritability value",length(All.1)),rep("(n=2063)\nAll genes in\nCN network", length(CN.all.1)),rep("(n=305)\nHub genes\nin CN network",length(CN.1))), AnovaTest=T, main="CN",xlab="Group",ylab="Mean Expression", cex=1, color=c("grey","black","yellow"))box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.11*(box[4]-box[3]), "h", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)

Page 36: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

verboseBarplot(ylim=c(0,510),c(All.1,CB.all.1,CB.1), c(rep("(n=18525)\nAll genes with\nheritability value",length(All.1)),rep("(n=2001)\nAll genes in\nCB network", length(CB.all.1)),rep("(n=277)\nHub genes\nin CB network",length(CB.1))), AnovaTest=T, main="CB",xlab="Group",ylab="Mean Expression", cex=1, color=c("grey","black","blue"))box = par("usr");text(box[1]-0.1*(box[2]-box[1]),box[4]+0.11*(box[4]-box[3]), "i", adj = c(0.5, 0.5), xpd = TRUE, cex = 3)dev.off()

#Relate the CD genes with preserved module eigengene

#load WGCNAlibrary(WGCNA)

Page 37: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#For CTX data#load the dataload("CTX_SAFHS_Dutch_for_MP.RData")ME.SAFHS=moduleEigengenes(t(data.SAFHS),color.CTX)$eigengenesME.Dutch=moduleEigengenes(t(data.Dutch),color.CTX)$eigengenes

#calculate the combined kME for blue yellow and greenbyg.SAFHS=(data.frame(ME.SAFHS$MEblue)+data.frame(ME.SAFHS$MEyellow)+data.frame(ME.SAFHS$MEgreen))/3byg.Dutch=(data.frame(ME.Dutch$MEblue)+data.frame(ME.Dutch$MEyellow)+data.frame(ME.Dutch$MEgreen))/3

# load the expression of CD genes (all the CD genes in blood expression data) in both Dutch and SAFHS dataload("data.CD.RData")

#calculate the p value for correlation for SAFHS datapvalue.SAFHS=rep(NA,dim(data.CD.SAFHS)[1])for(i in 1:dim(data.CD.SAFHS)[1]){pvalue.SAFHS[i]= cor.test(byg.SAFHS[,1],data.CD.SAFHS[i,])$p.value}SAFHS= data.frame(t(cor((byg.SAFHS),t(data.CD.SAFHS))),pvalue.SAFHS)SAFHS=data.frame(SAFHS,rep(NA,dim(SAFHS)[1]))

colnames(SAFHS)[1]="Correlation_SAFHS_Yellow"colnames(SAFHS)[2]="P-value"colnames(SAFHS)[3]= "Module_CTX"SAFHS=SAFHS[order(as.numeric(abs(SAFHS[,1])),decreasing=T),]CTX.module=data.frame(rownames(data.CTX),color.CTX)k.SAFHS=match(rownames(SAFHS), as.character(CTX.module[,1]))SAFHS$Module_CTX=CTX.module[k.SAFHS,2]

write.csv(SAFHS,file="SAFHS_CD_CTX.csv")

#calculate the p value for correlation for Dutch datapvalue.Dutch=rep(NA,dim(data.CD.Dutch)[1])for(i in 1:dim(data.CD.Dutch)[1]){pvalue.Dutch[i]= cor.test(byg.Dutch[,1],data.CD.Dutch[i,])$p.value}Dutch= data.frame(t(cor((byg.Dutch),t(data.CD.Dutch))),pvalue.Dutch)Dutch=data.frame(Dutch,rep(NA,dim(Dutch)[1]))

colnames(Dutch)[1]="Correlation_Dutch_Yellow"colnames(Dutch)[2]="P-value"

Page 38: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

colnames(Dutch)[3]= "Module_CTX"Dutch=Dutch[order(as.numeric(abs(Dutch[,1])),decreasing=T),]CTX.module=data.frame(rownames(data.CTX),color.CTX)k.Dutch=match(rownames(Dutch), as.character(CTX.module[,1]))Dutch$Module_CTX=CTX.module[k.Dutch,2]

write.csv(Dutch,file="Dutch_CD_CTX.csv")

#For CN datarm(list=ls())

load("CN_SAFHS_Dutch_for_MP.RData")ME.SAFHS=moduleEigengenes(t(data.SAFHS),color.CN)$eigengenesME.Dutch=moduleEigengenes(t(data.Dutch),color.CN)$eigengenesy.SAFHS=data.frame(ME.SAFHS$MEyellow)y.Dutch=data.frame(ME.Dutch$MEyellow)

#load the expression of CD genes in both Dutch and SAFHS dataload("data.CD.RData")

pvalue.SAFHS=rep(NA,dim(data.CD.SAFHS)[1])for(i in 1:dim(data.CD.SAFHS)[1]){pvalue.SAFHS[i]= cor.test(y.SAFHS[,1],data.CD.SAFHS[i,])$p.value}SAFHS= data.frame(t(cor((y.SAFHS),t(data.CD.SAFHS))),pvalue.SAFHS)SAFHS=data.frame(SAFHS,rep(NA,dim(SAFHS)[1]))colnames(SAFHS)[1]="Correlation_SAFHS_Yellow"colnames(SAFHS)[2]="P-value"colnames(SAFHS)[3]= "Module_CN"SAFHS=SAFHS[order(as.numeric(abs(SAFHS[,1])),decreasing=T),]CN.module=data.frame(rownames(data.CN),color.CN)k.SAFHS=match(rownames(SAFHS), as.character(CN.module[,1]))SAFHS$Module_CN=CN.module[k.SAFHS,2]write.csv(SAFHS,file="SAFHS_CD_CN.csv")

pvalue.Dutch=rep(NA,dim(data.CD.Dutch)[1])for(i in 1:dim(data.CD.Dutch)[1])

Page 39: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

{pvalue.Dutch[i]= cor.test(y.Dutch[,1],data.CD.Dutch[i,])$p.value}Dutch= data.frame(t(cor((y.Dutch),t(data.CD.Dutch))),pvalue.Dutch)Dutch=data.frame(Dutch,rep(NA,dim(Dutch)[1]))

colnames(Dutch)[1]="Correlation_Dutch_Yellow"colnames(Dutch)[2]="P-value"colnames(Dutch)[3]= "Module_CN"Dutch=Dutch[order(as.numeric(abs(Dutch[,1])),decreasing=T),]CN.module=data.frame(rownames(data.CN),color.CN)k.Dutch=match(rownames(Dutch), as.character(CN.module[,1]))Dutch$Module_CN=CN.module[k.Dutch,2]write.csv(Dutch,file="Dutch_CD_CN.csv")

#For CB data

load("CB_SAFHS_Dutch_merge.RData")ME.SAFHS=moduleEigengenes(t(data.SAFHS),color.CB)$eigengenesME.Dutch=moduleEigengenes(t(data.Dutch),color.CB)$eigengenes

b.SAFHS=data.frame(ME.SAFHS$MEblue)b.Dutch=data.frame(ME.Dutch$MEblue)

load("data.CD.RData")

pvalue.SAFHS=rep(NA,dim(data.CD.SAFHS)[1])for(i in 1:dim(data.CD.SAFHS)[1]){pvalue.SAFHS[i]= cor.test(b.SAFHS[,1],data.CD.SAFHS[i,])$p.value}SAFHS= data.frame(t(cor((b.SAFHS),t(data.CD.SAFHS))),pvalue.SAFHS)SAFHS=data.frame(SAFHS,rep(NA,dim(SAFHS)[1]))colnames(SAFHS)[1]="Correlation_SAFHS_Blue"colnames(SAFHS)[2]="P-value"colnames(SAFHS)[3]= "Module_CB"SAFHS=SAFHS[order(as.numeric(abs(SAFHS[,1])),decreasing=T),]CB.module=data.frame(rownames(data.CB),color.CB)k.SAFHS=match(rownames(SAFHS), as.character(CB.module[,1]))SAFHS$Module_CB=CB.module[k.SAFHS,2]write.csv(SAFHS,file="SAFHS_CD_CB.csv")

pvalue.Dutch=rep(NA,dim(data.CD.Dutch)[1])for(i in 1:dim(data.CD.Dutch)[1])

Page 40: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

{pvalue.Dutch[i]= cor.test(b.Dutch[,1],data.CD.Dutch[i,])$p.value}Dutch= data.frame(t(cor((b.Dutch),t(data.CD.Dutch))),pvalue.Dutch)Dutch=data.frame(Dutch,rep(NA,dim(Dutch)[1]))

colnames(Dutch)[1]="Correlation_Dutch_Blue"colnames(Dutch)[2]="P-value"colnames(Dutch)[3]= "Module_CB"Dutch=Dutch[order(as.numeric(abs(Dutch[,1])),decreasing=T),]CB.module=data.frame(rownames(data.CB),color.CB)k.Dutch=match(rownames(Dutch), as.character(CB.module[,1]))Dutch$Module_CB=CB.module[k.Dutch,2]write.csv(Dutch,file="Dutch_CD_CB.csv")

#Preservatin study between CTX, CN and CB

#load the dataload("CTX_datExpr_module.RData")

Page 41: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

load("CN_datExpr_module.RData")load("CB_datExpr_module.RData")

#compare CTX and CN with CTX module

#Find out the overlap genes between CTX and CN

name.ctx.cn=as.character(merge(rownames(datExpr.CTX),rownames(datExpr.CN),by=1,sort=F)[,1])

datExpr.ctx=datExpr.CTX[match(name.ctx.cn,rownames(datExpr.CTX)),]

datExpr.cn=datExpr.CN[match(name.ctx.cn,rownames(datExpr.CN)),]

module.ctx=module.CTX[match(name.ctx.cn,rownames(datExpr.CTX))]

module.cn=module.CN[match(name.ctx.cn,rownames(datExpr.CN))]

#Module preservation function

library(WGCNA)

Colors1=module.ctx

data1=datExpr.ctx

data2=datExpr.cn

dim(data1)

dim(data2)

colorList=list(Colors1)

colorList[[2]]=NA

multiExpr=list()

multiExpr[[1]]=list(data=t(data1))

multiExpr[[2]]=list(data=t(data2))

names(multiExpr)=names(colorList)=c("net1","net2")

mp=modulePreservation(multiExpr,colorList,networkType="signed")

save(mp,file=”mp.ctx.cn.withctxmodule.RData”)

Page 42: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

#compare CTX and CN with CN module

Colors1=module.cn

data2=datExpr.ctx

data1=datExpr.cn

dim(data1)

dim(data2)

colorList=list(Colors1)

colorList[[2]]=NA

multiExpr=list()

multiExpr[[1]]=list(data=t(data1))

multiExpr[[2]]=list(data=t(data2))

names(multiExpr)=names(colorList)=c("net1","net2")

mp=modulePreservation(multiExpr,colorList,networkType="signed")

save(mp,file=”mp.ctx.cn.withcnmodule.RData”)

rm(list=ls())

#compare CTX and CB with CTX module

rm(list=ls())

load("CTX_datExpr_module.RData")load("CN_datExpr_module.RData")load("CB_datExpr_module.RData")

name.ctx.cb=as.character(merge(rownames(datExpr.CTX),rownames(datExpr.CB),by=1,sort=F)[,1])

datExpr.ctx=datExpr.CTX[match(name.ctx.cb,rownames(datExpr.CTX)),]

datExpr.cb=datExpr.CB[match(name.ctx.cb,rownames(datExpr.CB)),]

Page 43: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

module.ctx=module.CTX[match(name.ctx.cb,rownames(datExpr.CTX))]

module.cb=module.CB[match(name.ctx.cb,rownames(datExpr.CB))]

library(WGCNA)

Colors1=module.ctx

data1=datExpr.ctx

data2=datExpr.cb

dim(data1)

dim(data2)

colorList=list(Colors1)

colorList[[2]]=NA

multiExpr=list()

multiExpr[[1]]=list(data=t(data1))

multiExpr[[2]]=list(data=t(data2))

names(multiExpr)=names(colorList)=c("net1","net2")

mp=modulePreservation(multiExpr,colorList,networkType="signed")

save(mp,file=”mp.ctx.cb.withctxmodule.RData”)

#compare CTX and CB with CB module

Colors1=module.cb

data2=datExpr.ctx

data1=datExpr.cb

dim(data1)

dim(data2)

colorList=list(Colors1)

Page 44: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

colorList[[2]]=NA

multiExpr=list()

multiExpr[[1]]=list(data=t(data1))

multiExpr[[2]]=list(data=t(data2))

names(multiExpr)=names(colorList)=c("net1","net2")

mp=modulePreservation(multiExpr,colorList,networkType="signed")

save(mp,file=”mp.ctx.cb.withcbmodule.RData”)

rm(list=ls())

#compare CN and CB with CN module

rm(list=ls())

load("CTX_datExpr_module.RData")load("CN_datExpr_module.RData")load("CB_datExpr_module.RData")name.cn.cb=as.character(merge(rownames(datExpr.CN),rownames(datExpr.CB),by=1,sort=F)[,1])

datExpr.cn=datExpr.CN[match(name.cn.cb,rownames(datExpr.CN)),]

datExpr.cb=datExpr.CB[match(name.cn.cb,rownames(datExpr.CB)),]

module.cn=module.CN[match(name.cn.cb,rownames(datExpr.CN))]

module.cb=module.CB[match(name.cn.cb,rownames(datExpr.CB))]

library(WGCNA)

Colors1=module.cn

data1=datExpr.cn

data2=datExpr.cb

dim(data1)

dim(data2)

colorList=list(Colors1)

Page 45: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

colorList[[2]]=NA

multiExpr=list()

multiExpr[[1]]=list(data=t(data1))

multiExpr[[2]]=list(data=t(data2))

names(multiExpr)=names(colorList)=c("net1","net2")

mp=modulePreservation(multiExpr,colorList,networkType="signed")

save(mp,file=”mp.cn.cb.withcnmodule.RData”)

#compare CN and CB with CB module

library(WGCNA)

Colors1=module.cb

data2=datExpr.cn

data1=datExpr.cb

dim(data1)

dim(data2)

colorList=list(Colors1)

colorList[[2]]=NA

multiExpr=list()

multiExpr[[1]]=list(data=t(data1))

multiExpr[[2]]=list(data=t(data2))

names(multiExpr)=names(colorList)=c("net1","net2")

mp=modulePreservation(multiExpr,colorList,networkType="signed")

save(mp,file=”mp.cn.cb.withcbmodule.RData”)

# Then we extract the Z summary and kept as csv files.

#plot the result

Page 46: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

source("barplot_code.txt")

pdf(7,12.5,file=”Supplementary_Figure_CTX_CN_CB_preservation.pdf")

layout(matrix(c(0,0,0,0,1,2,0,3,4,0,5,6),4,3,byrow=TRUE), c(1,3,3), c(0.5,4,4,4), TRUE)

## 1 Plot how well CTX modules preserved in CN data

data1=read.csv ("1.ctx.cn.with.ctx.module.csv")

data1 [,1]=as.character(data1[,1])

k=1:23

k=24-k

data1 = data1 [k,]

## read the color

colors1 = as.character(data1[,1])

## read the Z-summary

x1= data1[,3]

##read the name

xlimits=c(0,35)

title="Preservation of CTX modules in CN data "

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

barplotIt(x1, colors1, axes = F, main=title,cex.main=1, names= colors1 ,xlim=xlimits, cex.names=1, family = "sans", xlab="sans",ylab="sans")

abline(v=5,col="red")

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

axis(1)

Page 47: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.1 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.2*(box[2]-box[1]),box[4]+0.07*(box[4]-box[3]), "a", adj = c(0.5, 0.5), xpd = TRUE, cex = 2,)

## 2 Plot how well CTX modules preserved in CB data

data1=read.csv ("2.ctx.cb.with.ctx.module.csv")

data1 [,1]=as.character(data1[,1])

k=1:23

k=24-k

data1 = data1 [k,]

## read the color

colors1 = as.character(data1[,1])

## read the Z-summary

x1= data1[,3]

##read the name

xlimits=c(0,35)

title="Preservation of CTX modules in CB data "

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

barplotIt(x1, colors1, axes = F, main=title,cex.main=1, names= colors1 ,xlim=xlimits, cex.names=1, family = "sans", xlab="sans",ylab="sans")

abline(v=5,col="red")

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

Page 48: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.1 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.2*(box[2]-box[1]),box[4]+0.07*(box[4]-box[3]), "b", adj = c(0.5, 0.5), xpd = TRUE, cex = 2,)

## 3 Plot how well CNmodules preserved in CTX data

data1=read.csv ("3.ctx.cn.with.cn.module.csv")

data1 [,1]=as.character(data1[,1])

k=1:23

k=24-k

data1 = data1 [k,]

## read the color

colors1 = as.character(data1[,1])

## read the Z-summary

x1= data1[,3]

##read the name

xlimits=c(0,35)

title="Preservation of CN modules in CTX data "

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

barplotIt(x1, colors1, axes = F, main=title,cex.main=1, names= colors1 ,xlim=xlimits, cex.names=1, family = "sans", xlab="sans",ylab="sans")

abline(v=5,col="red")

abline(v=10,col="red")

Page 49: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

par(mgp = c(2.5, 1.0, 0))

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.1 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.2*(box[2]-box[1]),box[4]+0.07*(box[4]-box[3]), "c", adj = c(0.5, 0.5), xpd = TRUE, cex = 2,)

## 4 Plot how well CN modules preserved in CB data

data1=read.csv ("4.cn.cb.with.cn.module.csv")

data1 [,1]=as.character(data1[,1])

k=1:23

k=24-k

data1 = data1 [k,]

## read the color

colors1 = as.character(data1[,1])

## read the Z-summary

x1= data1[,3]

##read the name

xlimits=c(0,35)

title="Preservation of CN modules in CB data "

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

barplotIt(x1, colors1, axes = F, main=title,cex.main=1, names= colors1 ,xlim=xlimits, cex.names=1, family = "sans", xlab="sans",ylab="sans")

abline(v=5,col="red")

Page 50: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.1 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.2*(box[2]-box[1]),box[4]+0.07*(box[4]-box[3]), "d", adj = c(0.5, 0.5), xpd = TRUE, cex = 2,)

## 5 Plot how well CB modules preserved in CTX data

data1=read.csv ("5.ctx.cb.with.cb.module.csv")

data1 [,1]=as.character(data1[,1])

k=1:23

k=24-k

data1 = data1 [k,]

## read the color

colors1 = as.character(data1[,1])

## read the Z-summary

x1= data1[,3]

##read the name

xlimits=c(0,35)

title="Preservation of CB modules in CTX data "

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

barplotIt(x1, colors1, axes = F, main=title,cex.main=1, names= colors1 ,xlim=xlimits, cex.names=1, family = "sans", xlab="sans",ylab="sans")

Page 51: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

abline(v=5,col="red")

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.1 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.2*(box[2]-box[1]),box[4]+0.07*(box[4]-box[3]), "e", adj = c(0.5, 0.5), xpd = TRUE, cex = 2,)

## 6 Plot how well CB modules preserved in CN data

data1=read.csv ("6.cn.cb.with.cb.module.csv")

data1 [,1]=as.character(data1[,1])

k=1:23

k=24-k

data1 = data1 [k,]

## read the color

colors1 = as.character(data1[,1])

## read the Z-summary

x1= data1[,3]

##read the name

xlimits=c(0,35)

title="Preservation of CB modules in CN data "

library(WGCNA)

par(mar = c(3, 3, 3, 8))

par(mgp = c(4,2.8,0))

Page 52: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

barplotIt(x1, colors1, axes = F, main=title,cex.main=1, names= colors1 ,xlim=xlimits, cex.names=1, family = "sans", xlab="sans",ylab="sans")

abline(v=5,col="red")

abline(v=10,col="red")

par(mgp = c(2.5, 1.0, 0))

axis(1)

box = par("usr");

text(mean(box[c(1:2)]), box[3] - 0.1 * (box[4]-box[3]), "Preservation Z score", adj = c(0.5, 0.5), xpd = TRUE)

text(box[1]-0.2*(box[2]-box[1]),box[4]+0.07*(box[4]-box[3]), "f", adj = c(0.5, 0.5), xpd = TRUE, cex = 2,)

dev.off()

Page 53: horvath.genetics.ucla.edu · Web viewChaochao Cai, Peter Langfelder, Tova F Fuller, Michael C Oldham, Rui Luo, Leonard H van den Berg, Roel A Ophoff, 4, Steve Horvath Correspondence:

Recommended