What I am reading right now is that TMM scaling is usable on expected read count and not on TPM values. You think that I can use TMM on my TPM matrix?
TMM should be computed in terms of expected read counts.
I tried TMM with edgeR:
Input TPM Table: o
o1 o2 o3 t1 t2 t3
XLOC_000001 14.290500 8.78600 14.069866 1.376451 3.24118 2.40424
XLOC_000002 5.644613 25.43497 13.819135 13.292400 9.45567 9.58778
XLOC_000003 10.140201 9.85379 7.777245 9.308872 8.46203 8.29616
d = DGEList(counts=o)
d = calcNormFactors(d,method="TMM")
counts.per.m <- as.data.frame(cpm(d, normalized.lib.sizes=TRUE))
Output TMM Table: counts.per.m
o1 o2 o3 t1 t2 t3
XLOC_000001 17.001266 8.05838 7.289297 1.285580 4.84603 3.0483
XLOC_000002 6.715847 23.32895 7.159485 12.413405 14.12459 12.1217
XLOC_000003 12.072991 9.03748 4.029581 8.692491 12.66794 10.5005
I checked if I still have those superhigh TPM values, and yes, my anormal TPM values are still anormal in TMM table.
What criteria was used to define "bad" quality? It is not necessary to have
niceFastQC report to do further analysis. One can be overzealous in the "cleanup" that can introduce some other bias in the data.Since you are working with reproductive organs perhaps the gene (fragment) you are seeing may really be overexpressed?
I did not asked myself those questions, I used fastQC on raw reads, seeing that quality is not optimal and that I had adapters.
Then I used a cleaner (UrQt), and running fastQC on those cleaned reads I had no low quality bases, and no adapters anymore. I assumed that my data was ok for further analyses.
I expect overexpressed genes. But a genes producing 50% of my mRNA. It is too much in my opinion. Checking the real number of reads, which was pretty low, I came here to understand what's going on.