I have simple dataframe which I have obtained after running WGCNA where the correaltion was turned into and edge list from that object Im giving a small subset
dput(dd)
structure(list(gene1 = c("GBA3", "GBA3", "GBA3", "GBA3", "GBA3",
"GBA3", "GBA3", "GBA3", "GBA3", "GBA3", "GBA3", "GBA3", "GBA3",
"GBA3", "GBA3", "IGHV3-52", "IGHV3-52", "IGHV3-52", "IGHV3-52",
"IGHV3-52", "IGHV3-52", "IGHV3-52", "IGHV3-52", "IGHV3-52", "IGHV3-52",
"IGHV3-52", "IGHV3-52", "IGHV3-52", "IGHV3-52", "IGHV3-52", "GGNBP1",
"GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1",
"GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1", "GGNBP1",
"OR52B6", "OR52B6", "OR52B6", "OR52B6", "OR52B6", "OR52B6", "OR52B6",
"OR52B6", "OR52B6", "OR52B6", "OR52B6", "OR52B6", "OR52B6", "OR52B6",
"OR52B6"), gene2 = c("LRP2BP", "ADGB", "ASNSP3", "HSD17B2", "HSP90B1",
"IFT22", "P4HB", "TTC22", "XKR9", "IQSEC2", "NECAB2", "ANO1",
"CPPED1", "MAGEE1", "MAPRE3", "COTL1P1", "OR13G1", "FTH1P11",
"KRT8P44", "LINC00243", "MYOZ1", "PARD6G", "PDLIM5", "RN7SL67P",
"PARP3", "SH3BGRL3", "KIF1B", "CDK6", "CYP24A1", "TFEB", "LRP2BP",
"ADGB", "ASNSP3", "HSD17B2", "HSP90B1", "IFT22", "P4HB", "TTC22",
"XKR9", "IQSEC2", "NECAB2", "ANO1", "CPPED1", "MAGEE1", "MAPRE3",
"COTL1P1", "OR13G1", "FTH1P11", "KRT8P44", "LINC00243", "MYOZ1",
"PARD6G", "PDLIM5", "RN7SL67P", "PARP3", "SH3BGRL3", "KIF1B",
"CDK6", "CYP24A1", "TFEB"), correlation = c(1.19842058210312e-07,
3.95592260312023e-09, 1.18879994893077e-09, 3.67331679745971e-10,
5.48302012245219e-09, 7.97197389702251e-06, 9.7387584019434e-08,
5.77878345171157e-08, 1.01118703571283e-08, 1.81543845754574e-07,
3.7673420265534e-08, 1.02575704450652e-08, 4.82487451740043e-08,
1.65401803325697e-07, 2.95827225165244e-09, 1.35635056964288e-07,
1.16813988688191e-09, 1.34340296981193e-07, 5.26153755948588e-08,
5.06031471203736e-05, 1.63465042896832e-09, 2.10400523574347e-09,
1.08460550923374e-08, 1.09938266167239e-06, 3.31572488037795e-08,
3.97957891649769e-07, 2.0833042793021e-08, 4.16797585733493e-06,
1.02162139939232e-07, 3.74962089757379e-06, 5.10285758466629e-07,
0.000165189152741692, 0.000572780674091671, 2.43056928465514e-07,
0.00166978419035755, 2.3826397075692e-07, 0.000204964046470693,
1.32648351252772e-06, 2.79759921075308e-06, 1.11117833192239e-06,
6.87171744654038e-09, 2.33022551088771e-09, 2.7732284839245e-06,
1.74867497254059e-06, 1.16457488078883e-08, 2.58493584273799e-05,
0.000117632422231583, 0.000115191350816912, 3.45926695804785e-05,
6.60444623946169e-07, 8.48280303856373e-09, 9.3470012463335e-07,
2.33358874243648e-05, 9.13982092399789e-05, 6.16545562787355e-06,
0.0014007113940871, 1.549339320847e-06, 0.000373320941277797,
2.87750585085082e-08, 0.00105876974504533), module1 = structure(c(9L,
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L,
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 14L, 14L,
14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L,
14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L,
14L, 14L), .Label = c("black", "blue", "brown", "cyan", "green",
"greenyellow", "grey", "magenta", "midnightblue", "pink", "purple",
"red", "salmon", "tan", "turquoise", "yellow"), class = "factor"),
module2 = structure(c(3L, 7L, 2L, 7L, 1L, 4L, 1L, 3L, 5L,
15L, 15L, 7L, 15L, 3L, 15L, 15L, 2L, 15L, 2L, 3L, 7L, 16L,
15L, 11L, 15L, 15L, 15L, 2L, 3L, 15L, 3L, 7L, 2L, 7L, 1L,
4L, 1L, 3L, 5L, 15L, 15L, 7L, 15L, 3L, 15L, 15L, 2L, 15L,
2L, 3L, 7L, 16L, 15L, 11L, 15L, 15L, 15L, 2L, 3L, 15L), .Label = c("black",
"blue", "brown", "cyan", "green", "greenyellow", "grey",
"magenta", "midnightblue", "pink", "purple", "red", "salmon",
"tan", "turquoise", "yellow"), class = "factor")), row.names = c(NA,
-60L), class = c("tbl_df", "tbl", "data.frame"))
My dataframe looks something like this
gene1 gene2 correlation module1 module2
<chr> <chr> <dbl> <fct> <fct>
1 GBA3 LRP2BP 1.20e- 7 midnightblue brown
2 GBA3 ADGB 3.96e- 9 midnightblue grey
3 GBA3 ASNSP3 1.19e- 9 midnightblue blue
4 GBA3 HSD17B2 3.67e-10 midnightblue grey
5 GBA3 HSP90B1 5.48e- 9 midnightblue black
6 GBA3 IFT22 7.97e- 6 midnightblue cyan
In my above small subset of the data I have two modules combined which can be seen on the module1 column which is my source column and moduel2 my target column color along with the strenth of correlation between the genes which are in first two columns
To turn it into igraph object I do the following
g1 <- graph_from_data_frame(dd)
g1 <- simplify(g1,remove.loops = TRUE)
degree(g1)
plot.igraph(g1,layout = layout.fruchterman.reingold(g1),directed = FALSE)
I get something like this, which looks fine but what I have seen and which i would like to know how to do,
- How do my label my source and target node based on the module colors?
- Node size based on the degree where only the source nodes are labelled and the targets remains just color they are assigned to.
Any suggestion or help would be really appreciated