# Standard Way to Preprocess Gene Expression?

I am trying to collect gene expression data for the point of fitting gene regulatory networks. My background is primarily in computer science and so I am finding the biological literature a bit difficult to penetrate.

Specifically, I want to fit two regulatory networks for several cancers in TCGA from tumor and normal samples. I have queries using the R package TCGABiolinks and was able to follow the tutorial here up to the normalization part.

So I have three questions;

• Is there a standard way to normalize gene expression counts? If so, what is it, and is it available as a library in R, python or some other language?
• If not, can I just center and scale (z-transform) the samples? I am not interested in differential expression, only quantifying expression from counts.
• Question is, what do you mean by 'quantifying expression from counts'? TCGA has a standard normalization available, which is FPKM. It normalizes expression by fragment-size and library depth. Some people prefer TPM to FPKM though (it alters the order of operations), so you may want to download the count data and do a TPM normalization using edgeR. For visualization, for TCGA, I personally tend to log2(FPKM) and row-center for heatmaps. Sep 8, 2020 at 8:18
• okay so is the FPKM normalization what is given in the scaled_estimate design matrix? Sep 8, 2020 at 12:10
• Not sure what that matrix is... in TCGAbiolinks or any other way to download from the GDC, you'll have FPKM. It is not scaled though, so probably no. Sep 8, 2020 at 12:17

What I recommend, is that you get the raw count data from TCGA, create a count matrix using the DESeq2 package in R, use the function varianceStabilizingTransformation() from DESeq2 to further process your counts and model the networks from there. Your pipeline already mentions voom, which is another good alternative, as is limma. All of these are available on Bioconductor.