Closed edkerk closed 2 months ago
This PR has been automatically tested with GH Actions. Here is the output of the tests:
> Installing from location /home/m/actions-runner/_work/RAVEN/RAVEN
> Checking RAVEN release DEVELOPMENT
> Checking MATLAB release 2020b
> Checking system architecture glnxa64
> Set RAVEN in MATLAB path Pass
> Save MATLAB path Pass
> Make binaries executable Pass
> Add Java paths for Excel format Pass
> Checking libSBML version 5.19.0
> Checking model import and export
> Import Excel format Pass
> Export Excel format Pass
> Import SBML format Pass
> Export SBML format Pass
> Checking for LP solvers
> glpk Pass
> gurobi Fail
> scip Fail
> cobra Pass
> Set RAVEN solver glpk
> Checking BLAST+ Pass
> Checking DIAMOND Pass
> Checking HMMER Pass
> Checking function uniqueness Pass
*** checkInstallation complete ***
Running blastPlusTests
.
Done blastPlusTests
Running cdhitTests
.
Done cdhitTests
Running checkTasksTests
.
Done checkTasksTests
Running diamondTests
.
Done diamondTests
Running fillGapsLargeTests
Error occurred in fillGapsLargeTests/testLargeGurobi and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using fillGapsLargeTests>testLargeGurobi (line 32)
Solver not working
.
Error occurred in fillGapsLargeTests/testLargeSCIP and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using setRavenSolver (line 35)
SCIP not found. RAVEN only provides the precompiled SCIP MEX binary for Windows. Instructions on how to compile the SCIP MEX file are found at
https://github.com/scipopt/MatlabSCIPInterface
Error in fillGapsLargeTests>testLargeSCIP (line 56)
setRavenSolver('scip');
.
Done fillGapsLargeTests
Running fillGapsSmallTests
Error occurred in fillGapsSmallTests/testSmallSCIP and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using setRavenSolver (line 35)
SCIP not found. RAVEN only provides the precompiled SCIP MEX binary for Windows. Instructions on how to compile the SCIP MEX file are found at
https://github.com/scipopt/MatlabSCIPInterface
Error in fillGapsSmallTests>testSmallSCIP (line 16)
setRavenSolver('scip');
.
Error occurred in fillGapsSmallTests/testSmallGurobi and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using fillGapsSmallTests>testSmallGurobi (line 67)
Solver not working
.
Done fillGapsSmallTests
Running hmmerTests
.
Done hmmerTests
Running importExportTests
....
Done importExportTests
Running mafftTests
.
Done mafftTests
Running miriamTests
.
Done miriamTests
Running modelAbilitiesTests
........
Done modelAbilitiesTests
Running modelConversionTests
.
Done modelConversionTests
Running modelCurationTests
.......... ........
Done modelCurationTests
Running modelSortingTests
..
Done modelSortingTests
Running solverTests
.
Error occurred in solverTests/testGurobi and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using solverTests>testGurobi (line 60)
Solver not working
.
Error occurred in solverTests/testSCIP and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using solverTests>testSCIP (line 77)
SCIP MEX binary not installed or not functional, test skipped
..
Done solverTests
Running tinitTests
.
Error occurred in tinitTests/testftINIT_T0001 and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using dispEM (line 49)
Failed to find good enough solution within the time frame. MIPGap: Inf
Error in ftINIT (line 281)
dispEM(['Failed to find good enough solution within the time frame. MIPGap: ' num2str(mipGap)]);
Error in tinitTests>testftINIT_T0001 (line 237)
[~,tst1ResModel1] = evalc('ftINIT(prepDataTest1,arrayData1.tissues{1},[],[],arrayData1,[],getINITSteps(),true,true,testParams,false);');
.
Error occurred in tinitTests/testftINIT_T0002 and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using dispEM (line 49)
Failed to find good enough solution within the time frame. MIPGap: Inf
Error in ftINIT (line 281)
dispEM(['Failed to find good enough solution within the time frame. MIPGap: ' num2str(mipGap)]);
Error in tinitTests>testftINIT_T0002 (line 277)
[~,tst1ResModel1] = evalc('ftINIT(prepDataTest1,arrayData1.tissues{1},[],[],arrayData1,[],getINITSteps(),true,true,testParams,false);');
.....
Error occurred in tinitTests/testftINIT_T0008 and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using dispEM (line 49)
Failed to find good enough solution within the time frame. MIPGap: Inf
Error in ftINIT (line 281)
dispEM(['Failed to find good enough solution within the time frame. MIPGap: ' num2str(mipGap)]);
Error in tinitTests>testftINIT_T0008 (line 377)
[~,tst1ResModel1] = evalc('ftINIT(prepDataTest1,arrayData1.tissues{1},[],[],arrayData1,[],getINITSteps(),true,true,testParams,false);');
..
Error occurred in tinitTests/testftINIT_T0050 and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using dispEM (line 49)
Failed to find good enough solution within the time frame. MIPGap: Inf
Error in ftINIT (line 281)
dispEM(['Failed to find good enough solution within the time frame. MIPGap: ' num2str(mipGap)]);
Error in tinitTests>testftINIT_T0050 (line 543)
[~,mres] = evalc('ftINIT(prepDataL,arrayDataL.tissues{1},[],[],arrayDataL,[],getINITSteps(),true,true,testParams,false);');
.
Done tinitTests
Failure Summary:
Name Failed Incomplete Reason(s)
===================================================================
fillGapsLargeTests/testLargeGurobi X X Errored.
-------------------------------------------------------------------
fillGapsLargeTests/testLargeSCIP X X Errored.
-------------------------------------------------------------------
fillGapsSmallTests/testSmallSCIP X X Errored.
-------------------------------------------------------------------
fillGapsSmallTests/testSmallGurobi X X Errored.
-------------------------------------------------------------------
solverTests/testGurobi X X Errored.
-------------------------------------------------------------------
solverTests/testSCIP X X Errored.
-------------------------------------------------------------------
tinitTests/testftINIT_T0001 X X Errored.
-------------------------------------------------------------------
tinitTests/testftINIT_T0002 X X Errored.
-------------------------------------------------------------------
tinitTests/testftINIT_T0008 X X Errored.
-------------------------------------------------------------------
tinitTests/testftINIT_T0050 X X Errored.
Note: In the case of multiple test runs, this post will be edited.
Failing tests is likely due to invalid gurobi license on the CI server.
Main improvements in this PR:
simplifyModel
with irreversible backwards-only reactions (solves #529)writeYAMLmodel
do not write lines with empty entries (e.g. reactions without subsystems)getModelFromKEGG
includesmodel.annotation.defaultLB
andmodel.annotation.defaultUB
fieldsgetGenesFromGrRules
can handle genes with '|'getModelFromHomology
remove geneFrom field (solves #533)getMinNrFluxes
reduce default verbositywriteYAMLmodel
allow empty id and name fields, in line with https://github.com/SysBioChalmers/RAVEN/wiki/RAVEN-Model-StructureravenCobraWrapper
prefers to use grRules in COBRA models if present (solves GECKO issue #367)optimizeProb
will throw error when trying to solve MILP with glpk (also if glpk is set via cobra)writeYAMLmodel
will throw an informative error if it cannot write the file to the intended directorymapCompartments
correct horizontal concatenation of cell arrayrandomSampling
can run in parallel with MATLAB Parallel Computing Toolbox installedsetParam
has an additional option, 'unc' if a reaction's lower and upper bound should be set as unconstrained. If available, this will use the default bounds inmodel.annotation
(otherwise [-1000, 1000]), and considers reversibility (in which case lower bound = 0)parallelPoolRAVEN
function to check if function should be running in parallelparfor
callsInstructions on merging this PR:
develop
as target branch, and will be resolved with a squash-merge.main
as target branch, and will be resolved with a merge commit.