markziemann / mitch

An R package for multi-dimensional pathway enrichment analysis
https://bioconductor.org/packages/mitch
Other
16 stars 4 forks source link

Error in names(y) %in% geneIDcol #31

Closed dkmadsen closed 7 months ago

dkmadsen commented 1 year ago

Hi there, I'm very eager to use your tool. However, I'm experiencing an issue with the first step ('mitch_import'). I would like to do 1D enrichment on a single data frame with own test statistics.

I do the following:

mitchDF <- data.frame(geneID = c("Aacs", "Aak1", "Aamdc", "Aars1", "Aasdhppt"), value = c(-0.1293, -0.324, -0.5898, 1.1, .97))

y <- mitch::mitch_import(mitchDF, DEtype="prescored", geneIDcol = 'geneID')

And get the following: 'The input is a single dataframe; one contrast only. Converting it to a list for you. Error in names(y) %in% geneIDcol : promise already under evaluation: recursive default argument reference or earlier problems?'

Any help would be nice. Thank you!

markziemann commented 1 year ago

Thanks for raising this @dkmadsen, this definitely looks like a bug. I will look into the source code for a fix which might take a few days.

In the meantime, I can recommend a workaround, especially if the gene names you provided are the same as the gene sets you're using.

My approach here is to use the row names as the geneID. In that case, mitch_import step can be omitted, so one can skip directly to mitch_calc.

x <- data.frame(row.names = c("Aacs", "Aak1", "Aamdc", "Aars1", "Aasdhppt"),  value = c(-0.1293, -0.324, -0.5898, 1.1, .97))

mres <- mitch_calc(x, genesets)

Let me know if that does/doesn't work for you.

dkmadsen commented 1 year ago

Hi again, thank you many times for the quick reply and the work around - it works perfectly!