SysBioChalmers / RAVEN

The RAVEN Toolbox for genome scale model reconstruction, curation and analysis.
http://sysbiochalmers.github.io/RAVEN/
Other
100 stars 52 forks source link

feat: update GH Action workflow #468

Closed mihai-sysbio closed 1 year ago

mihai-sysbio commented 1 year ago

Main improvements in this PR:

This PR aimed to update the GH Action dependencies and formatting. While doing so, a bug was spotted that highlighted that the latest RAVEN was actually not used, since the GH Action was relying on the system-provided RAVEN.

This PR also adds a corresponding badge in the Readme.

I hereby confirm that I have:

github-actions[bot] commented 1 year 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 Pass
> soplex [Fail]
> cobra Pass
> Set RAVEN solver gurobi

> Checking BLAST+ Pass
> Checking DIAMOND Pass
> Checking HMMER Pass

> Checking function uniqueness Fail
Duplicate functions in /home/m/crap/Human-GEM/code/GPRs
getGenesFromGrRules.m
Resolve conflicting functions to ensure RAVEN functionality

*** checkInstallation complete ***

Running blastPlusTests
.
Done blastPlusTests

Running cdhitTests
.
Done cdhitTests

Running checkTasksTests
PASS: [Gen e[s] from a[s]] Gen e[s] from a[s]
FAIL: [Gen e[s] from a[s]] Gen e[s] from a[s]
.
Done checkTasksTests

Running diamondTests
.
Done diamondTests

Running fillGapsLargeTests
..
Done fillGapsLargeTests

Running fillGapsSmallTests
...
Done fillGapsSmallTests

Running hmmerTests
.
Done hmmerTests

Running importExportTests
....
Done importExportTests

Running mafftTests
.
Done mafftTests

Running miriamTests
.
Done miriamTests

Running modelAbilitiesTests
......Getting minimal and maximal fluxes... 0%25 complete 10%25 completeCOMPLETE
..
Done modelAbilitiesTests

Running modelConversionTests
.
Done modelConversionTests

Running modelCurationTests
.......... ........
Done modelCurationTests

Running modelSortingTests
..
Done modelSortingTests

Running solverTests
..
Error occurred in solverTests/testSoplex and it did not run to completion.
---------
Error ID:
---------
''
--------------
Error Details:
--------------
Error using solverTests>testSoplex (line 79)
SoPlex not installed or cannot be found, test skipped
..
Done solverTests

Running tinitTests
.Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 20%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 20%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
.Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
PASS: [Gen e[s] from a[s]] Gen e[s] from a[s]
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 25%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
[Gen e[s] from a[s]] Gen e[s] from a[s]: Added 0 reaction(s), 0 reactions added in total
.WARNING: "[Gen e[s] from a[s]] Gen e[s] from a[s]" could not be performed for any set of reactions


.
New genes added to the model:
G10
G11
G5
G6
G7
G8
G9
No mets ids with prefix "m_" currently exist in the model. The first new id will be "m_0001"
...Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 20%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 20%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.

New genes added to the model:
G11
G12
G13
G14
No mets ids with prefix "m_" currently exist in the model. The first new id will be "m_0001"
Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 11%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 11%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
.Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 20%25 completeCOMPLETE
Step 5: Final work
.Step 1: Gene rules
Step 2: First simplification
Step 3: Check tasks (~10 min)
Step 4: Second simplification (~1 hour)
Getting minimal and maximal fluxes... 0%25 complete 3%25 complete100%25 completeCOMPLETE
Step 5: Final work
ftINIT: Running step 1
MILP detected.
ftINIT: Running step 2
MILP detected.
ftINIT: Running step 1
MILP detected.
.
Done tinitTests

Failure Summary:

Name Failed Incomplete Reason(s)
=======================================================
solverTests/testSoplex X X Errored.

Note: In the case of multiple test runs, this post will be edited.

edkerk commented 1 year ago

Actually, maybe it is okay to leave out line 318 in checkInstallation completely? Missings files are also caught by status~=0 in line 319.

mihai-sysbio commented 1 year ago

It seems there is progress. The reported missing files are:

-           fullfile(binDir,'GLPKmex','glpkcc');
-           fullfile(binDir,'libSBML','TranslateSBML');
-           fullfile(binDir,'libSBML','OutputSBML');

And this is accurate, since these file names are missing their extensions.

mihai-sysbio commented 1 year ago

This PR is ready for review. Notes: soplex is installed, but not available due to dependencies, so all soplex tests will continue to fail for some time; the code now marks as executable also .exe dependencies.

mihai-sysbio commented 1 year ago

@edkerk if you'd prefer a slightly better solution, this could be a nice syntax to leverage:

chmod +x glpkcc.(mexa64|mexglx|mexmaci64)

While it doesn't guarantee the existence of the right file for the platform, it avoids e.g. marking as executable the files for the Windows platform.

mihai-sysbio commented 1 year ago

Looking again at the diff now - it looks weird and it should not be merged yet.