This is a test version of Biostars. For the public version, visit https://www.biostars.org.
What is the right choice of normalization and preprocessing before WGCNA using RNAseq data in a cohort?

Hello, I am performing WGCNA on RNA sequencing data for a cohort. We are struggling with the normalization method that will not interfere with the correlation with the traits.

  1. Which would be the most appropriate method to normalize RNA seq for WGCNA? I have come across where vst and rlog are being used. However, there was little explanation for
  2. Why was DESeq2 median normalization or quantile normalization not used? We also have 4 separate batches of sequencing for which I am using RemoveBatchEffect after normalization.
  3. In the case of vst/rlog, shall vst or rlog be performed on matrix or deseq2 object? Following are the codes for multiple ways that are used. Could you please correct me if it's wrong and comment on the right one to choose?

METHOD 1: USING CPM (library:edgeR)

data_filt <- cpm(data_filt, log=TRUE)

data_adj1 <- removeBatchEffect(data_filt, Batch = coldata$Batch, covariates=NULL[,-1])


METHOD 2: USING QUANTILE NORMALIZATION (library:preprocessCore)

QST<- preprocessCore::normalize.quantiles(data_filt, copy = TRUE, keep.names = TRUE)

rownames( QST) <- rownames(data_filt)

colnames( QST) <- colnames(data_filt)

data_adj <- removeBatchEffect(QST, Batch = coldata$Batch, covariates=NULL[,-1])


METHOD 3: USING DESEQ2 (library:DESeq2)

dds <- DESeqDataSetFromMatrix(countData = data_filt, colData = coldata, design = ~1) #~1 because i have a cohort and not case control

dds <- DESeq(dds)

norm_count <- counts(dds, normalized = TRUE)

data_adj <- removeBatchEffect(norm_count, batch = coldata$Batch, covariates=NULL[,-1])


METHOD 4: USING VST (library:DESeq2)

dds <- DESeqDataSetFromMatrix(countData = data_filt, colData = coldata, design = ~1)

dds <- DESeq(dds)

vsd <-varianceStabilizingTransformation(dds) #requires matrix or DESeq object

vsd<-getVarianceStabilizedData(vsd)

data_adj1 <- removeBatchEffect(vsd, batch = coldata$Batch, covariates=NULL[,-1])


METHOD 5: USING RLOG (library: DESeq2)

rlog <- rlogTransformation(data_filt, blind = FALSE)

data_adj<- removeBatchEffect(rlog, batch = coldata$Batch, covariates = NULL[,-1])


Your help will be really appreciated in this matter, Thank you, Sukeshini K

normalization rna_seq cohort wgcna

0 answers

No answers yet.

Log in to answer this question.