saezlab / transcriptutorial

This is a tutorial to guide the analysis of RNAseq dataset using footprint based tools such as DOROTHEA, PROGENY and CARNIVAL
https://saezlab.github.io/transcriptutorial/
GNU General Public License v3.0
55 stars 30 forks source link

CARNIVAL memory error #13

Closed ojziff closed 1 year ago

ojziff commented 3 years ago

Dear Team,

Thank you for this brilliant tool with excellent user tutorial!

I am trying to run CARNIVAL with runCARNIVAL but i am getting a memory error even when providing a high memory partition. I have provided the CARNIVAL input from progeny & dorothea as per the tutorial

Please could you advise how I can solve this?

Many thanks, Oliver

carnival_result = runCARNIVAL( inputObj= iniciators, measObj = tfList$log2FoldChange, netObj = sif, weightObj = progenylist$score, timelimit=7200, mipGAP=0, poolrelGAP=0 )

` Writing constraints... Solving LP problem...

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

Error in lp(direction = "min", objective.in = lpForm$obj, const.mat = lpForm$con, : long vectors (argument 5) are not supported in .C Calls: runCARNIVAL -> solveCARNIVAL -> solveCARNIVALSingle -> lp In addition: Warning messages: 1: In controlNodeIdentifiers(netObj = netObj) : Your network contains identifiers with '-' symbol and they will be replaced with '' 2: In controlNodeIdentifiers(netObj = netObj) : Your network contains identifiers with '/' symbol and they will be replaced with '' Execution halted Warning message: system call failed: Cannot allocate memory`

gabora commented 3 years ago

Dear @ojziff

glad you like the tutorials!

unfortunately, this seems to be an error in the third party tool that does not support large problems. I would try to reduce the problem size (smaller network) first and see if you still get the error (maybe there is something else causing the issue). By default, C integers cannot be larger than 32,767 (2 bytes) maybe that is the problem in the C-interface.

It can also happen that something passes our input checker that results in this in the downstream problem - there are warnings that some nodes have unusual names (eg containing / character). But I am just shooting in the dark without seeing the inputs.

In any case, I would recommend using the CPLEX solver, which is free for academic use: https://www.ibm.com/support/pages/downloading-ibm-ilog-cplex-optimization-studio-v1290 we solved really large problems with it (~60k edges).

please keep us posted if you find something or you need further help best Attila

adugourd commented 3 years ago

Hello,

what are the machine specification ? Could you also please provide the last lines of the carnival output before the crash ? Cheers,

Aurelien

adugourd commented 3 years ago

@ojziff Did this work out ?