saezlab / CARNIVAL

CAusal Reasoning for Network Identification with integer VALue programming in R
https://saezlab.github.io/CARNIVAL/
57 stars 29 forks source link

Process quits with message "Killed" #42

Closed laylagerami closed 3 years ago

laylagerami commented 3 years ago

Hi, I've run into an error when running CARNIVAL on my research group's server (resources are first-come, first-served, no queuing system).

Input:

r1 = runCARNIVAL(inputObj=NULL, 
                   weightObj = progenylist$`1`,
                   measObj = measObj, 
                   netObj = netfilefull,
                   solverPath = "../../../ibm/ILOG/CPLEX_Studio1210/cplex/bin/x86-64_linux/cplex",
                   threads = 10,
                   dir_name="../Results/Test")

Output:

Warning message:
In dir.create("../Results/Test") : '../Results/Test' already exists
inputObj set to NULL -- running InvCARNIVAL
Writing constraints...
Solving LP problem...

── Column specification ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
cols(
  `enter Problem` = col_character()
)

Killed

I do not get this issue with the toy example 1.

I tried adjusting threads (we have 40 in total which are all free atm), timelimit (300 to 6000), solver (Cplex or the free solver). I think it is a memory issue but I am not entirely sure how to rectify it. For network I am just using the Omnipath network, so nothing too huge. Default no. TFs and then the PROGENy pathways as input. The run_carnival.R script I am using can be found here https://github.com/laylagerami/EPA/tree/main/Initial_Investigation/Scripts which also has all of the input files etc.

Thanks!

EDIT: .lp file is here https://github.com/laylagerami/EPA/blob/main/Initial_Investigation/Scripts/testFile_1_1.lp

ivanovaos commented 3 years ago

Hi @laylagerami,

Are there any errors in the log file from the server? This may be related to the memory issues, what is the limit for you on the server? The jobs can be killed by the server when exceeding a time limit set by admins.

What I would try first is to decrease Omnipath to e.g. only the edges with one or two confirmed sources and run again to see if it's able to finish.

laylagerami commented 3 years ago

Hi @ivanovaos, no log is produced by the server. We do not have per-user memory limits, the limit is basically dictated by the memory available (out of 252G). And we also don't have a time limit!

I will try to reduce the network and see if I can run it. I'll let you know what the outcome is.

enio23 commented 3 years ago

Hi,

Can it be because you need to set additionally solver="cplex"? Maybe CARNIVAL is still running the matrix formulation (which is very memory exhausting) although you have set path to the executable cplex.

Cheers,

laylagerami commented 3 years ago

@enio23 that worked, thank you so much!

r1 = runCARNIVAL(inputObj=NULL, 
                   weightObj = progenylist$`1`,
                   measObj = measObj, 
                   netObj = netfilefull,
                   solverPath = "../../../ibm/ILOG/CPLEX_Studio1210/cplex/bin/x86-64_linux/cplex",
                   solver = 'cplex',
                   threads = 10,
                   dir_name="../Results/Test")