This is a test version of Biostars. For the public version, visit https://www.biostars.org.
WGCNA cannot be done to compare two conditions?

Hello,

I have been told I cannot use WGCNA with only two conditions (control and treatment). I am not sure why that would be the case and I would like to confirm if this is true? I have 3 samples for each condition so a total of 6 samples and I am not correlating to a quantifiable trait, I am only correlating the modules to the conditions.

Thank you

wgcna rna-seq rna-seq

2 answers

I believe it is not the condition but the number of replicates that are required for running WGCNA. Typically, you are required to have more than 15 samples. Ideally, I would recommend more than 30 replicates for each condition.

Here is the list of frequently asked questions: https://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/faq.html

Another advice would be plotting PCA/MDS plots to check if there are no Batch Effects or technical effects such as sex, non-biologicals effects.

Good luck!

I posted this as an answer outside of Biostars:



There is no correct or incorrect answer to this. To me, it makes more sense to perform WGCNA separately, so, one network for disease and one network for control:

Analysis 1:

  1. generate network in Control
  2. identify modules and hub genes
  3. perform gene enrichment on the genes in each module

Analysis 2:

  1. generate network in Disease
  2. identify modules and hub genes
  3. perform gene enrichment on the genes in each module

Analysis 3:

  1. discuss differences between hub genes between Disease network and Control network
  2. discuss differences between modules (and their gene enrichments) between Disease network and Control network


If you generate a single network for all samples (Disease + Control), then, after you identify modules, you can still try this: perform a linear regression between DiseaseStatus and the module eigenvalues:

  summary(lm(BlueModule ~ DiseaseStatus))
  summary(lm(RedModule ~ DiseaseStatus))
  summary(lm(YellowModule ~ DiseaseStatus))
  *et cetera*

Then, in this way, you would focus on the modules from which the regression produces p<0.05, as these modules may contain information about DiseaseStatus.

Kevin

Log in to answer this question.