Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GECKO 3.2.0 #381

Merged
merged 10 commits into from
May 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: Tests

permissions:
contents: write
pull-requests: write
repository-projects: write

on: [pull_request]

jobs:
Expand All @@ -8,10 +13,10 @@ jobs:

steps:
- name: Fetch GECKO
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Fetch RAVEN
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: "SysBioChalmers/RAVEN"
path: "RAVEN"
Expand Down
34 changes: 25 additions & 9 deletions GECKOInstaller.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
sourceDir = fileparts(which(mfilename));
paths = GECKOInstaller.GetFilteredSubPaths(sourceDir, GECKOInstaller.FILE_FILTER);

GECKOInstaller.checkRAVENversion('2.8.3'); % Minimum RAVEN version
GECKOInstaller.checkRAVENversion('2.9.1'); % Minimum RAVEN version

% Check unique function names
if ~exist("checkFunctionUniqueness.m")
Expand Down Expand Up @@ -62,26 +62,42 @@
end

function checkRAVENversion(minmVer)
wrongVersion = false;
try
currVer = checkInstallation('versionOnly');
[currVer, installType] = checkInstallation('versionOnly');
if strcmp(currVer,'develop')
printOrange('WARNING: Cannot determine your RAVEN version as it is in a development branch.\n')
else
else
currVerNum = str2double(strsplit(currVer,'.'));
minmVerNum = str2double(strsplit(minmVer,'.'));
for i=1:3
if currVerNum(i)<minmVerNum(i)
error('Installed RAVEN version is %s, while the minimum is %s.',currVer,minmVer)
wrongVersion = true;
end
end
end
catch
warning(['Cannot find RAVEN Toolbox in the MATLAB path, or the version ' ...
'is too old (before v' minmVer '). Make sure you have installed RAVEN in ' ...
'accordance to the following instructions, including running ' ...
'''checkInstallation()'': https://github.com/SysBioChalmers/RAVEN/wiki/Installation'])
'is too old for this GECKO version (RAVEN ' minmVer ' is required). ' ...
'Make sure you have installed RAVEN following the instructions available '...
'<a href="https://github.com/SysBioChalmers/RAVEN/wiki/Installation#installation-instructions">here</a>, '...
'including running ''checkInstallation()''.'])
end
if wrongVersion
switch installType
case 0
installType = 'advanced';
case 1
installType = 'easy';
case 2
installType = 'medium';
end
error(['Installed RAVEN version is %s, while the minimum is %s. '...
'Upgrade RAVEN by following the instructions available ' ...
'<a href="https://github.com/SysBioChalmers/RAVEN/wiki/Installation#upgrade-raven-after-' ...
installType '-installation">here</a>. Do not attempt to run GECKO before upgrading.'], ...
currVer,minmVer)
end

end

function checkGECKOversion
Expand Down Expand Up @@ -113,7 +129,7 @@ function checkRAVENversion(minmVer)
fprintf('\n');
end
else
fprintf('GECKO installed, unknown version (cannot find version.txt)\n')
fprintf('GECKO installed, unknown version (cannot find version.txt).\n')
end
end
end
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ The **GECKO** toolbox enhances a **G**enome-scale model to account for **E**nzym

💡 In the [`GECKO/tutorials`](https://github.com/SysBioChalmers/GECKO/tree/main/tutorials) folder there are examples of how GECKO can be applied to GEMs, in either of its _full_ or _light_ forms. Each `protocol.m` contains instructions on how to reconstruct and analyze an ecModel, demonstrating how different fuctions in GECKO can be used. These two scripts complement the [protocols paper](#citation).

### Significant changes since protocol publication
- GECKO **3.2.0**: all protein usage reactions draw from the protein pool, even if they are constrained by proteomics data. This affects **Step 58** in the protocol, changing behaviour of `constrainEnzConcs` and making `updateProtPool` obsolete, `tutorials/full_ecModel/protocol.m` is updated to reflect this change. See [#357](https://github.com/SysBioChalmers/GECKO/issues/375) for more details.

_**Note:** Regarding code and model compatibility with earlier GECKO versions, see [Previous versions: GECKO 1 and 2](https://github.com/SysBioChalmers/GECKO/wiki/Previous-versions:-GECKO-1-and-2)_.

## Cite us
Expand Down
Loading
Loading