Question: WGCNA: correlations module-traits, and module membership-gene significance
gravatar for rodrigo.duarte88
4 weeks ago by
rodrigo.duarte8820 wrote:

Hi all

I apologise for what may be a very stupid question, but I am currently trying to interpret my WGCNA results, and I could not find anything online about what the following means.

I am interested in this module turquoise (Module-trait relationship table). There is a fairly weak correlation between this module and traits "3" and "6". However, when I plot gene significance (the degree of association between genes in the turquoise module with traits 3 and 6) vs module membership (the degree each gene is associated with these modules), I get very dissimilar degrees of association.

Trait 3 - GS vs MM

Trait 6 - GS vs MM

For example, for trait 3, there really is nothing there (as expected, based on the trait-relationship association described on the table). However, for trait 6, there is a strong correlation between GS and MM - but why is this not reflected on the trait/module correlation calculated in the trait-module relationship table (link above)? Is WGCNA correcting for something else when the table is calculated?

I hope this makes sense!


ADD COMMENTlink modified 4 weeks ago • written 4 weeks ago by rodrigo.duarte8820

For trait 6 I do not see anything wrong.

None of the hub genes (genes with the highest module membership) in the turquoise module show a strong correlation with the trait 6. Also, the majority of the genes in the turquoise module show a correlation (pearson) < 0.1 with that trait:

geneTraitSignificance =, trait6, use = "p"));

This explain why the Module eigengene (1st Principal component) of the turquoise module poorly correlate with the trait 6 (Module-trait relationship table).

Perhaps, I would plot the heatmap of each module to see if the gene expression in your modules is in agreement with your experiment design. I suppose that the gene in the turquoise module are co-expressed only in few samples

To plot the heatmaps, try this:

col = colorpanel(300, 'purple','black','yellow')
colorsA1 = names(table(moduleColors))
for (c in 1:length(colorsA1)){
      moduleColors == colorsA1[c]
      heatmap.2(t(datExpr[moduleColors==colorsA1[c]]), scale = "row", col=col, ="none", trace="none", cexCol=0.5, cexRow=0.8, margin=c(19,11), main = colorsA1[c], Colv = FALSE)
ADD REPLYlink modified 4 weeks ago • written 4 weeks ago by andres.firrincieli20
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 186 users visited in the last hour