This is a test version of Biostars. For the public version, visit https://www.biostars.org.
EnhancedVolcano Package Inputing Data Format

Hi all,

I want to use enhancedvolcanoes package to produce volcanoes plot, but the example is so confusing with its input data in 'S4' type, obj oriented. I have been looking for an example that shows simple data format that I need to have before inputing them in and use the package. Nowhere to be found!

I just have an excel sheet with 3 columns: Gene, log2FoldChange, pvalue

When input into R as VC_data, can we seen as:

My code is as following:

EnhancedVolcano(VC_data,
                lab = VC_data$Gene,
                x = 'log2FoldChange',
                y = 'pvalue',
                xlim = c(-5, 8))

I keep getting this error saying that

'Error in EnhancedVolcano(VC_data, lab = VC_data$Gene, x = "log2FoldChange",  : 
  log2FoldChange is not numeric!'

When I did is.numeric(VC_data$log2FoldChange), I get true.

I am very frustrated. Please help!

enhancedvolcano

look at colnames(VE_data) to make sure that excel hasn't added any whitespace.

1 answer

Seems to be an issue with your input being a tibble:

tb <- tibble(log2fc = c(2,3), pval = c(0.01, 0.007))

## this returns the error you have:
EnhancedVolcano(toptable = tb, x = 'log2fc', y = 'pval', lab = "foo")

## this one does it properly:
EnhancedVolcano(toptable = data.frame(tb), x = 'log2fc', y = 'pval', lab = "foo")

=> Convert tibble to data.frame

Edit: The way EnhancedVolcano checks if data are numeric is (source code line 76-78):

if(!is.numeric(toptable[,x])) {
  stop(paste(x, " is not numeric!", sep=""))
}

Problem is that e.g. tb[,1] does not automatically reduces dimensions to directly access the data but returns:

> tb[,1]
# A tibble: 2 x 1
 log2fc
  <dbl>
1      2
2      3

whereas:

tb[,1][[1]]
[1] 2 3

returns the numeric data.

You are amazing, thank you very much for the help! It works now, couldn't have done it with your help!

My pleasure :)

Just to add a comment: in the next version (v1.4), support for Tibbles is provided.

Log in to answer this question.