Question: annotated XY plot (volcano plot) with glimma
gravatar for remi.montagne91
8 months ago by
remi.montagne9110 wrote:


I am trying to use glimma to generate an interactive volcano plot of differentially expressed genes, found with EdgeR.

I would like to add annotations to this plot, so that when you hover a point, you get the name of the gene. However, I get an error message every time.

Here is my code (I use shiny) :

glXYPlot(x= de.df()$logFC,  
            status=de.df()$FDR <= 0.05,   


de.df looks like this:

              genes    logFC    logCPM       LR       PValue         FDR                                                
ENSG00000018625 CXorf56 4.731732  7.700889 21.57148 3.408840e-06 0.005551464 
ENSG00000065534    SPEN 4.131256 12.597048 19.89395 8.185875e-06 0.005551464 
ENSG00000007933 DNAJC11 5.340935  5.797704 19.28277 1.127190e-05 0.005551464     
ENSG00000091986  CCDC80 3.829369 11.839320 18.55905 1.647217e-05 0.005551464 
ENSG00000022267     C8B 3.820883 11.532498 18.43854 1.754731e-05 0.005551464 
ENSG00000007908   TEAD3 5.402253  6.162232 18.41020 1.781025e-05 0.005551464

And the error I get is:

Warning: Error in checkThat: Second argument should contain the first.

I really don't understand what the problem is.

Does anyone have any idea ?

volcano glimma rna-seq R • 433 views
ADD COMMENTlink written 8 months ago by remi.montagne9110

de.df()$logFC => the () after de.df do not really make sense, do they? Parentheses after variable names indicate a function. Try removing all () after that variable in every line of code.

ADD REPLYlink modified 8 months ago • written 8 months ago by ATpoint40k

I use the () because this is shiny code and you need it to call the result (here a dataframe) of a reactive expression.

I also tried this code in a plain R script, so without the parenthesis and reactive expressions, but I have the same error so I think it's not the problem.

ADD REPLYlink modified 8 months ago • written 8 months ago by remi.montagne9110

can you do some thing like this? (replace df with de.df and assumption is that Ensembl IDs are row names of the data frame):

ga2=data.frame(GeneID=df$genes, row.names=row.names(df))
         status=as.numeric(df$FDR <= 0.05),

column name GeneID is mandatory.

ADD REPLYlink modified 8 months ago • written 8 months ago by cpad011214k
Please log in to add an answer.


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