This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Current standards for batch correction and gene expression correction?

I am interested in running batch effect correction on my gene expression data and am looking into what the current standards are. Previously I used PEER to correct for batch effects but it is almost a decade old and does not seem to be supported on R 3.5. What are people currently using for batch effect correction?

rna-seq

RNAseq or Array?

Is it known which samples belong to which batches?

RNASeq and the batches are not known

3 answers

If its RNAseq - if the batch/sample mapping is known, we include it in the design for differential expression, or if not doing differential expression, we either apply limma::voom or DESeq2::rLog and then use limma::removeBatchEffects().

Depends what you are doing. For differential gene expression, you can just include batch in the design, and that's enough. For other applications, you might try ComBat or RUVSeq

If you don't know batches, may be RUVSeq helps but it depends on non-differential gene expression to estimate surrogate variables. PCA regression performs well. Its included not in sva package as sva_network function. Plot the PCs and see how many PCs to regress out. sva also has function to estimate the no. of PCs to regress out (num.sv) but from my experience it often overestimates number of PCs.

Log in to answer this question.