Hi Biostars Community,

I have searched the forum, but couldn't find a perfect answer for this.

I have downloaded some RNA-seq data from GEO ([GSE112656][1]). They are basically 11 osteoarthritis samples and 11 rheumatoid arthritis (so 22 in total).

I also have 4 samples of RNA-seq data generated from my lab with three technical replicates (so 12 total).

 1. Drug A - treated
 2. Drug A - control (untreated)
 3. Drug B - treated
 4. Drug B - control (untreated)

I want to use the GEO ([GSE112656][1]) and also my lab data to conduct PCA to see which ones are similar and cluster together and which ones are different.

How would I normalize and transform these datasets before following these directions:

https://bioconductor.org/packages/devel/bioc/vignettes/PCAtools/inst/doc/PCAtools.html

I was considering following this post:
https://www.biostars.org/p/411830/ 

Basically, I am planning to combine all the samples (22 +12 = 32 samples) into one large data frame and then generate log2 transformed TMM followed by throwing that table into a PCA function to visualize the PC_1 by PC_2 table, or maybe PC_1 by PC_2 by PC_3 to seeing how they cluster/how similar or different they are to one another.  I am planning TMM because [HBC][2] recommends this to compare between samples and within samples. Would all this be best practices?

Please, if you can suggest something better, I would appreciate it. 


  [1]: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE112656
  [2]: https://hbctraining.github.io/Training-modules/planning_successful_rnaseq/lessons/sample_level_QC.html
Hey mate,

I would process both datasets independently to produce variance-stabilised expression levels via *DESeq2*, bind these together, and then eliminate the [assumed] batch effect via `limma::removeBatchEffect()`. It is the resulting batch-corrected, column-bound, variance-stabilised expression matrix on which I would conduct PCA, with `scale = FALSE` (but `center = TRUE`).

No issue going the *EdgeR* / *limma*-*voom* routes, either, in which case use `log2 CPM+1` in place of variance-stabilised expression levels.

Kevin

# @@
Thanks for up-votes and accepting the answer. It would also be interesting to process all samples together from the beginning, and then still remove `batch` on the variance-stabilised expression matrix that is produced - see https://www.bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#why-after-vst-are-there-still-batches-in-the-pca-plot

