Could you please tell me why log2 is better that log10
Hi All,
I have expression read count, and there are many zeros in this data. so what what is the better transformation we should use to transform the expression level data. I found some people used log10 and other used log2 transformations.
1 answer
Use DESeq2, It handle zero value to data, and would make log2 transformations as well, using log10 would not be good idea
Its not about better and worse, Its just the way to express your values.
e.g. if your gene is 8 fold upregulated then log2 would be 3 and log10 would be 0.9
if you have majority of genes having differential expression value, more than 10 (which is very less likely), then represent them with log10 so that values would be displayed from the scale 1
this is a small portion of the read count expression that I have before using transformation, so is it okay to use log2 for it.
3910
14
17
112
3115
15
87
785
9
2
34
21
2
56
664
112
1827
570
131
1631
10
2
3570
2
50
20
227
2
2
11
496
163
80
172
546
200
138
yes, DESeq2 would do it in its pipeline, before comparing, if you are looking for DEGs,
low counts would be discarded
Just in case someone comes across this later and wants to know more about this than a biologist probably ever should:
It's not that DESeq2 converts the counts to log2 scale, but rather that it fits the data with a model using a log2 link (this is the case for many many many tools). Why? A couple reasons really. Firstly, it makes the math much easier. For example, when not using a log2 link, coefficients multiply, meaning they can quickly get very large or very small. This can quickly lead to loss of precision. This is especially the case as a coefficient approaches 0, since no one uses infinite precision math for anything that needs to be quick. On the log2 scale the coefficients will simply sum. Further, the range on the log2 scale is changed from [0, infinity] to [-infinity, infinity]. This is convenient for optimization (the class of functions that tend to actually be used to perform the maximization (actually, minimization, but that's a different post...) in "maximum likelihood expectation"). You can do bounded optimization, but it's simpler to have an infinite range.
BTW, these are the same reasons we do logistic (or probit) regression. A logit converts the range [0, 1] to [-infinity, +infinity] and has all of the other benefits.
Log in to answer this question.