saezlab / decoupleR

R package to infer biological activities from omics data using a collection of methods.
https://saezlab.github.io/decoupleR/
GNU General Public License v3.0
176 stars 23 forks source link

Error in get_collectri() #121

Closed FoMooo closed 3 months ago

FoMooo commented 3 months ago

Hi, dear develop team,

I encountered an error when collecting CollecTRI network data .The error message is as follows:

> net <- decoupleR::get_collectri(organism='human', split_complexes=FALSE)
[2024-03-28 21:44:30] [ERROR]   [OmnipathR] `only_from` can be called only on data frames with `evidences` column.
[2024-03-28 21:44:30] [WARN]    [OmnipathR] Accessing `collectri` as a static table: this is not the recommended way to access OmniPath data; it is only a backup plan for situations when our server or your computer is experiencing issues.
[2024-03-28 21:44:32] [ERROR]   [OmnipathR] `only_from` can be called only on data frames with `evidences` column.
Error in do.call(stop, list(m), envir = env) : 
  `only_from` can be called only on data frames with `evidences` column.

My decouple version is 2.9.6 and Omnipath is 3.11.10.

Could you please help me with this, please? Thank you

deeenes commented 3 months ago

Hi, It's difficult to imagine this happening with the latest versions that you're pointing to. First maybe you can confirm the loaded versions by packageVersion. One scenario that I can imagine is an old cache file that has been downloaded in a short period, about a year ago, when our server might have omitted the evidences column. You can test it out with an empty cache. Meanwhile you can also record the log to see better what's going on:

library(decoupleR)
library(OmnipathR)

omnipath_set_cachedir(tempdir())
omnipath_set_console_loglevel('trace')

ci <- get_collectri(organism = 'human', split_complexes = FALSE)
FoMooo commented 3 months ago

Thanks much @deeenes

it did work

Thanks a lot!