<p>Here are two example of calculations of logFC validated in GEO2R analysis which depends if values are already log2 transformed. During GEOQuery analysis there is calculation to transform where expression set is checked for value distribution and log2 transformation is applied-</p>
<pre><code>ex &lt;- exprs(gset)
qx &lt;- as.numeric(quantile(ex, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
LogC &lt;- (qx[5] &gt; 100) ||
          (qx[6]-qx[1] &gt; 50 &amp;&amp; qx[2] &gt; 0)
if (LogC) { ex[which(ex &lt;= 0)] &lt;- NaN
  exprs(gset) &lt;- log2(ex) }
</code></pre>
<p><strong>Example 1:</strong></p>
<p>=&gt; Sample Values are already log2 Transformed</p>
<pre><code>n(TumorSamples) = 45
n(ControlSamples) = 46

a = average(TumorSamples) = 9.199053111
b = average(ControlSamples) = 4.988139348

logFC = |a - b| = 4.210914
</code></pre>
<p><strong>Example 2:</strong>
=&gt; Sample Values are not log2 transformed</p>
<pre><code>n(TumorSamples) = 2
n(ControlSamples) = 2

a = average(log2(TumorSample1) + log2(TumorSample2) ... ) = (log2(84) + log2(21.8)) / 2 = 5.419287

b = average(log2(ControlSample1) + log2(ControlSample2) ... ) = (log2(624) + log2(665)) / 2 = 9.331306

logFC = |a - b| = 3.91202
</code></pre>

CC BY-SA 4.0
2021-03-03T14:22:55.027Z
2021-03-03T14:33:23.793Z
2021-03-03T14:33:23.793Z
Vishal Kumar Sahu
<p>Here is <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6181532/" rel="nofollow noreferrer">microarray analysis</a> where author uses GSE50632 series on an  Agilent microarray GPL17660 platform with 4 eligible samples which I guess are GSM1224991, GSM1224992, GSM1224993 and GSM1224994 among which two are healthy and two are patient samples.</p>
<p>However I found the difference in the calculations-</p>
<p>Through <a href="https://www.ncbi.nlm.nih.gov/geo/geo2r/?acc=GSE50632&amp;platform=GPL16294" rel="nofollow noreferrer">GEO2R analysis</a> table it is-</p>
<pre><code>ID  adj.P.Val   P.Value t   B   logFC   miRNA_ID_LIST   SPOT_ID
148000  1.86e-02    5.82e-04    3.47    -0.402958   3.91    hsa-miR-3195    
</code></pre>
<p>However in the paper the calculated values are far different specially logFC value.</p>
<p><a href="https://i.sstatic.net/IyapB.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/IyapB.png" alt="Paper Cited Table" /></a></p>
<p>What could be the reason for this?</p>

CC BY-SA 4.0
2023-09-15T16:15:27.680Z
Thanks for answering your own question @VishalKumarSahu, could you please consider "accepting" your answer. It definitely helps with site stats
M__
<geo>
Difference in Calculation through GEO2R and difference in Article
# Difference in Calculation through GEO2R and difference in Article

(Asked by: username_0 on 2021-03-03)

Here is microarray analysis where author uses GSE50632 series on an  Agilent microarray GPL17660 platform with 4 eligible samples which I guess are GSM1224991, GSM1224992, GSM1224993 and GSM1224994 among which two are healthy and two are patient samples.
However I found the difference in the calculations-
Through GEO2R analysis table it is-
ID  adj.P.Val   P.Value t   B   logFC   miRNA_ID_LIST   SPOT_ID
148000  1.86e-02    5.82e-04    3.47    -0.402958   3.91    hsa-miR-3195    

However in the paper the calculated values are far different specially logFC value.

What could be the reason for this?

**Tags:** geo
> **Comments:**
> **username_1**: Thanks for answering your own question @VishalKumarSahu, could you please consider "accepting" your answer. It definitely helps with site stats  

---

## 1 answers

### Answer by username_0 on 2021-03-03. Score: 1 | Accepted answer

Here are two example of calculations of logFC validated in GEO2R analysis which depends if values are already log2 transformed. During GEOQuery analysis there is calculation to transform where expression set is checked for value distribution and log2 transformation is applied-
ex <- exprs(gset)
qx <- as.numeric(quantile(ex, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
LogC <- (qx[5] > 100) ||
          (qx[6]-qx[1] > 50 && qx[2] > 0)
if (LogC) { ex[which(ex <= 0)] <- NaN
  exprs(gset) <- log2(ex) }

Example 1:
=> Sample Values are already log2 Transformed
n(TumorSamples) = 45
n(ControlSamples) = 46

a = average(TumorSamples) = 9.199053111
b = average(ControlSamples) = 4.988139348

logFC = |a - b| = 4.210914

Example 2:
=> Sample Values are not log2 transformed
n(TumorSamples) = 2
n(ControlSamples) = 2

a = average(log2(TumorSample1) + log2(TumorSample2) ... ) = (log2(84) + log2(21.8)) / 2 = 5.419287

b = average(log2(ControlSample1) + log2(ControlSample2) ... ) = (log2(624) + log2(665)) / 2 = 9.331306

logFC = |a - b| = 3.91202


---

