Question: Comparing SCAN Q.value with Meta-Analyses Q.Value
gravatar for Jo
4.0 years ago by
Jo10 wrote:



I am trying to compare the q.values produced by a dataset from a normalization done by SCAN against the q.values from the same dataset but from a meta-analyses. I want the comparison to be in the form of a scatter plot. I want this plot to show that there is a correlation between the q.values of the different methods. However, SCAN produces very small q.values like: 1.82243620956903E-10 and 0.00150430678492128 and the meta-analyses q.values are quite large: 23.36 and 56.58.

Is there a way I can make a scatter plot to show a correlation between the SCAN q.values and the meta-analyses q.values for the same dataset? 


scan.upc meta scan q value • 582 views
ADD COMMENTlink written 4.0 years ago by Jo10

Wait, what? I am pretty sure you should never have a q-value that is much larger than 1. I believe that for certain estimates of pi_0 that you can get values slightly larger than 1, but 56.58 is well beyond that. I would imagine you have made a mistake somewhere, and you are not using q-values from your meta-analysis.

But given that you just say what you have done, rather than showing some code (preferably something that others could run for themselves), that is simply speculation on my part. Making people guess is not a good strategy for getting help, particularly useful help.

ADD REPLYlink written 4.0 years ago by James W. MacDonald51k



I checked the value and it was in the Q-Value Column. Here is the code I used to generate the the Q-values for the meta-analysis:


a <- eset1146[,2]
b <- eset22610[,2]
c <- eset58538[,2]
d <- eset43995[,2]

intersectgenes <- Reduce(intersect, list(a,b,c,d))

rows <- c()

for(i in 1:16565)
index1 <- match(intersectgenes[i],a)
index2 <- match(intersectgenes[i],b)
index3 <- match(intersectgenes[i],c)
index4 <- match(intersectgenes[i],d)

e1146 <- eset1146[index1,]
e22610 <- eset22610[index2,]
e58538 <- eset58538[index3,]
e43955 <- eset43995[index4,]

e1146$dataset <- "Dataset 1"
e22610$dataset <- "Dataset 2"
e58538$dataset <- "Dataset 3"
e43955$dataset <- "Dataset 4"

esets <- rbind(e1146,e22610,e58538,e44955)
meta1 <- metagen(logFC, SE, data=esets, byvar=dataset, sm="logFC")


row <- c(meta1[10],meta1[11],meta1[12],meta1[13],meta1[14], meta1[15], meta1[20], meta1[21],meta1[27], meta1[35])

rows <- rbind(rows,row)

colnames(rows) <- c("TE.fixed", "seTE.Fixed", "Lower.fixed", "Upper.fixed", "zval.fixed", "pval.fixed", "zval.random", "pval.random","Q","I2")

rownames(rows) <- c(intersectgenes)

Please advise.

ADD REPLYlink written 4.0 years ago by Jo10

The meta package is a CRAN package, not Bioconductor. Questions about CRAN packages should be asked on R-help (

ADD REPLYlink written 4.0 years ago by James W. MacDonald51k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 225 users visited in the last hour