I am currently using TPMs(Transcripts per Million) in my ML models, but I have read recently that this may introduce unwanted relations into the data. I know the raw counts are used to find differential expression, but I wondered what the consensus was on what to use for training ML models.
1 Answer
These are measures of gene expression from RNA sequencing (RNA-seq) data. Millions of small fragments of RNA have their nucleic-acid sequences "read" and mapped against reference information about the corresponding genome to determine which gene transcript those fragments represent. A raw read count for gene-expression data is the number of sequence reads that are mapped to a particular gene transcript.
In the Journal of Translational Medicine 19: article 269 (2021), Zhao et al summarize the issues and propose an answer. They say:
Raw read counts cannot be used to compare expression levels between samples due to the need to account for differences in transcript length, total number of reads per samples, and sequencing biases ... Therefore, RNA-seq isoform quantification software summarize transcript expression levels either as TPM (transcript per million), RPKM (reads per kilobase of transcript per million reads mapped), or FPKM (fragments per kilobase of transcript per million reads mapped); all three measures account for sequencing depth and feature length.
The differences among those 3 measures are explained here.
Although those measures give reasonable estimates of gene-expression differences within a sample, they can be inadequate for comparisons among samples. With RPKM or FPKM, a problem is normalization to the total number of reads. The total number of reads is dominated by genes whose transcripts are long or that are highly expressed. Thus small percentage differences in expression of such genes among samples can lead to artifactual differences among genes normalized to total reads. The TPM method takes differences in transcript length into account but not differences in transcript abundance. There can be further complications if different sequencing technologies are used for different samples.
Two normalization methods that better allow for comparisons among samples are trimmed means of M-values, TMM, and DESeq2. TMM, implemented for example in the Bioconductor edgeR
package, assumes that most genes are not differentially expressed among samples. It thus estimates between-sample corrections from genes that aren't at extremes in average or differential expression. DESeq2, implemented in the eponymous Bioconductor package, performs negative binomial modeling of read counts to take these issues into account.
Zhao et al compared these methods on a set of xenografts of human tumors. Xenografts are tumors that grow from pieces of tumor implanted in mice; they typically maintain characteristics of the original tumors. One would thus expect very similar RNA-seq results among such biological replicates that originate from the same tumor. In that regard, normalization by DESeq2 or TMM outperformed the other measures. That's consistent with much work over the past decade.
RNA-seq data readily available from The Cancer Genome Atlas, for example via cBioPortal, used a different normalization. Within each sample, the gene at the 75th percentile of expression was used as a reference, with expression of all genes presented as ratios to that expression level. I think of that as an approximation to TMM, in that it avoids problems from normalizations involving highly expressed genes and it pools information from lower-expressed genes via the empirical cumulative distribution. In practice it has worked pretty well among tumors of a particular cancer type analyzed by a single sequencing method, but I don't know how well it would extend to other sorts of comparisons.