Skip to content

Commit

Permalink
GECKO 3.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
edkerk committed Oct 15, 2024
2 parents b3d45c4 + 6b3d9ba commit 939fe68
Show file tree
Hide file tree
Showing 57 changed files with 754 additions and 681 deletions.
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ You can contribute in 2 main ways: by creating issues, and by sending pull reque
* Lacking documentation.
* Any type of feedback.

If you are unsure about the issue, consider asking first in our [Gitter chat room](https://gitter.im/SysBioChalmers/GECKO).
If you are unsure about the issue, consider asking first in the [GitHub Discussions page](https://github.com/SysBioChalmers/GECKO/discussions).

When creating the issue, please make sure:

Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Gitter Channel
url: https://gitter.im/SysBioChalmers/GECKO
about: You may also ask questions (or contribute with answers) at the GECKO Gitter channel.
- name: GitHub Discussions
url: https://github.com/SysBioChalmers/GECKO/discussions
about: You may also ask for support (or contribute with answers) at the GitHub Discussions page.
18 changes: 13 additions & 5 deletions GECKOInstaller.m
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,22 @@ function checkRAVENversion(minmVer)
try
[currVer, installType] = checkInstallation('versionOnly');
if strcmp(currVer,'develop')
printOrange('WARNING: Cannot determine your RAVEN version as it is in a development branch.\n')
printOrange('WARNING: Cannot determine your RAVEN version as it is in a development branch.\n');
else
currVerNum = str2double(strsplit(currVer,'.'));
minmVerNum = str2double(strsplit(minmVer,'.'));
for i=1:3
if currVerNum(i)<minmVerNum(i)
wrongVersion = true;
end
if currVerNum(1) < minmVerNum(1)
wrongVersion = true;
elseif currVerNum(1) > minmVerNum(1)
wrongVersion = false;
elseif currVerNum(2) < minmVerNum(2)
wrongVersion = true;
elseif currVerNum(2) > minmVerNum(2)
wrongVersion = false;
elseif currVerNum(3) < minmVerNum(3)
wrongVersion = true;
elseif currVerNum(3) >= minmVerNum(3)
wrongVersion = false;
end
end
catch
Expand Down
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
<img src="./GECKO.png" width="200px">

![Current version](https://badge.fury.io/gh/sysbiochalmers%2Fgecko.svg)
[![Current release](https://img.shields.io/github/release/SysBioChalmers/GECKO/all.svg)](https://github.com/SysBioChalmers/GECKO/releases/)
[![GitHub Discussions](https://img.shields.io/github/discussions-search?query=repo%3Asysbiochalmers%2Fgecko&label=GitHub%20Discussions)](https://github.com/SysBioChalmers/GECKO/discussions)
[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.7699818.svg)](https://doi.org/10.5281/zenodo.7699818)
[![MATLAB File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://se.mathworks.com/matlabcentral/fileexchange/125960-gecko-toolbox)

## About GECKO 3.0

## About GECKO 3

The **GECKO** toolbox enhances a **G**enome-scale model to account for **E**nzyme **C**onstraints, using **K**inetics and **O**mics. The resulting enzyme-constrained model (**ecModel**) can be used to perform simulations where enzyme allocation is either drawn from a total protein pool, or constrained by measured protein levels from proteomics data.

💡 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).
💡 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 [Nature Protocols](https://doi.org/10.1038/s41596-023-00931-7) paper ([**PDF**](https://drive.google.com/file/d/1_AGz6GmQPOyshfUZ6K-L2myzU43rQ6tu/view)).

### 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.
Expand All @@ -19,7 +21,7 @@ _**Note:** Regarding code and model compatibility with earlier GECKO versions, s

If you have used GECKO in your work, please cite:

> Chen Y, Gustafsson J, Tafur Rangel A, Anton M, Domenzain I, Kittikunapong C, Li F, Yuan L, Nielsen J, Kerkhoven EJ. Reconstruction, simulation and analysis of enzyme-constrained metabolic models using GECKO Toolbox 3.0. Nature Protocols. 2024 Jan 18:1-39. doi: [10.1038/s41596-023-00931-7](https://doi.org/10.1038/s41596-023-00931-7)
> Chen Y, Gustafsson J, Tafur Rangel A, Anton M, Domenzain I, Kittikunapong C, Li F, Yuan L, Nielsen J & Kerkhoven EJ. Reconstruction, simulation and analysis of enzyme-constrained metabolic models using GECKO Toolbox 3.0. *Nature Protocols* **19**, 629-667 (2024). doi:[10.1038/s41596-023-00931-7](https://doi.org/10.1038/s41596-023-00931-7).
## Documentation
**Installation instructions** and other information is available in the **[Wiki](https://github.com/SysBioChalmers/GECKO/wiki)**. The source code documentation is also available
Expand Down
2 changes: 1 addition & 1 deletion doc/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ <h2>Matlab Files found in these Directories</h2>
<td><a href="src/geckomat/model_adapter/adapterTemplate.html" title="src\geckomat\model_adapter">adapterTemplate</a></td> <td><a href="src/geckomat/limit_proteins/fillEnzConcs.html" title="src\geckomat\limit_proteins">fillEnzConcs</a></td> <td><a href="src/geckomat/kcat_sensitivity_analysis/Bayesian/getrSample.html" title="src\geckomat\kcat_sensitivity_analysis\Bayesian">getrSample</a></td> <td><a href="src/geckomat/kcat_sensitivity_analysis/sensitivityTuning.html" title="src\geckomat\kcat_sensitivity_analysis">sensitivityTuning</a></td> </tr> <tr>
<td><a href="src/geckomat/kcat_sensitivity_analysis/Bayesian/addCarbonNum.html" title="src\geckomat\kcat_sensitivity_analysis\Bayesian">addCarbonNum</a></td> <td><a href="src/geckomat/get_enzyme_data/findECInDB.html" title="src\geckomat\get_enzyme_data">findECInDB</a></td> <td><a href="src/geckomat/get_enzyme_data/loadBRENDAdata.html" title="src\geckomat\get_enzyme_data">loadBRENDAdata</a></td> <td><a href="src/geckomat/change_model/setKcatForReactions.html" title="src\geckomat\change_model">setKcatForReactions</a></td> </tr> <tr>
<td><a href="src/geckomat/utilities/addNewRxnsToEC.html" title="src\geckomat\utilities">addNewRxnsToEC</a></td> <td><a href="src/geckomat/utilities/findGECKOroot.html" title="src\geckomat\utilities">findGECKOroot</a></td> <td><a href="src/geckomat/utilities/loadConventionalGEM.html" title="src\geckomat\utilities">loadConventionalGEM</a></td> <td><a href="src/geckomat/change_model/setProtPoolSize.html" title="src\geckomat\change_model">setProtPoolSize</a></td> </tr> <tr>
<td><a href="src/geckomat/kcat_sensitivity_analysis/Bayesian/anaerobicModel.html" title="src\geckomat\kcat_sensitivity_analysis\Bayesian">anaerobicModel</a></td> <td><a href="src/geckomat/kcat_sensitivity_analysis/findMaxValue.html" title="src\geckomat\kcat_sensitivity_analysis">findMaxValue</a></td> <td><a href="src/geckomat/get_enzyme_data/loadDatabases.html" title="src\geckomat\get_enzyme_data">loadDatabases</a></td> <td><a href="src/geckomat/kcat_sensitivity_analysis/sigmaFitter.html" title="src\geckomat\kcat_sensitivity_analysis">sigmaFitter</a></td> </tr> <tr>
<td><a href="src/geckomat/kcat_sensitivity_analysis/Bayesian/anaerobicModel_GECKO.html" title="src\geckomat\kcat_sensitivity_analysis\Bayesian">anaerobicModel_GECKO</a></td> <td><a href="src/geckomat/kcat_sensitivity_analysis/findMaxValue.html" title="src\geckomat\kcat_sensitivity_analysis">findMaxValue</a></td> <td><a href="src/geckomat/get_enzyme_data/loadDatabases.html" title="src\geckomat\get_enzyme_data">loadDatabases</a></td> <td><a href="src/geckomat/kcat_sensitivity_analysis/sigmaFitter.html" title="src\geckomat\kcat_sensitivity_analysis">sigmaFitter</a></td> </tr> <tr>
<td><a href="src/geckomat/change_model/applyComplexData.html" title="src\geckomat\change_model">applyComplexData</a></td> <td><a href="src/geckomat/change_model/findMetSmiles.html" title="src\geckomat\change_model">findMetSmiles</a></td> <td><a href="src/geckomat/utilities/loadEcModel.html" title="src\geckomat\utilities">loadEcModel</a></td> <td><a href="src/geckomat/utilities/startGECKOproject.html" title="src\geckomat\utilities">startGECKOproject</a></td> </tr> <tr>
<td><a href="src/geckomat/change_model/applyCustomKcats.html" title="src\geckomat\change_model">applyCustomKcats</a></td> <td><a href="src/geckomat/limit_proteins/flexibilizeEnzConcs.html" title="src\geckomat\limit_proteins">flexibilizeEnzConcs</a></td> <td><a href="src/geckomat/utilities/loadFluxData.html" title="src\geckomat\utilities">loadFluxData</a></td> <td><a href="src/geckomat/kcat_sensitivity_analysis/truncateValues.html" title="src\geckomat\kcat_sensitivity_analysis">truncateValues</a></td> </tr> <tr>
<td><a href="src/geckomat/change_model/applyKcatConstraints.html" title="src\geckomat\change_model">applyKcatConstraints</a></td> <td><a href="src/geckomat/gather_kcats/fuzzyKcatMatching.html" title="src\geckomat\gather_kcats">fuzzyKcatMatching</a></td> <td><a href="src/geckomat/utilities/loadProtData.html" title="src\geckomat\utilities">loadProtData</a></td> <td><a href="src/geckomat/utilities/updateGECKOdoc.html" title="src\geckomat\utilities">updateGECKOdoc</a></td> </tr> <tr>
Expand Down
2 changes: 1 addition & 1 deletion doc/src/geckomat/change_model/applyCustomKcats.html
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" sr
0185 <span class="keyword">if</span> ~isempty(find(rxnToUpdate, 1))
0186 model = <a href="applyKcatConstraints.html" class="code" title="function model = applyKcatConstraints(model,updateRxns)">applyKcatConstraints</a>(model, rxnToUpdate);
0187 <span class="keyword">else</span>
0188 printOrange(<span class="string">'WARNING: No matches found. Consider checking the IDs or proteins in customKcats.'</span>)
0188 printOrange(<span class="string">'WARNING: No matches found. Consider checking the IDs or proteins in customKcats.'</span>);
0189 <span class="keyword">end</span>
0190
0191 rxnUpdated = model.ec.rxns(find(rxnToUpdate));
Expand Down
5 changes: 2 additions & 3 deletions doc/src/geckomat/change_model/applyKcatConstraints.html
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" sr
0046 <span class="string">' not a valid GECKO3 ecModel. First run makeEcModel(model).'</span>])
0047 <span class="keyword">end</span>
0048 <span class="keyword">if</span> all(model.ec.kcat==0)
0049 printOrange(<span class="string">'WARNING: No kcat values are provided in model.ec.kcat, model remains unchanged.\n'</span>)
0049 printOrange(<span class="string">'WARNING: No kcat values are provided in model.ec.kcat, model remains unchanged.\n'</span>);
0050 <span class="keyword">return</span>
0051 <span class="keyword">end</span>
0052
Expand Down Expand Up @@ -177,8 +177,7 @@ <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" sr
0115 model.S(prot_pool_idx, hasEc(i)) = -min(MWkcat/3600);
0116 <span class="keyword">end</span>
0117 <span class="keyword">end</span>
0118 <span class="keyword">end</span>
0119</pre></div>
0118 <span class="keyword">end</span></pre></div>
<hr><address>Generated by <strong><a href="http://www.artefact.tk/software/matlab/m2html/" title="Matlab Documentation in HTML">m2html</a></strong> &copy; 2005</address>
</body>
</html>
2 changes: 1 addition & 1 deletion doc/src/geckomat/change_model/getComplexData.html
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" sr
0044
0045 params = modelAdapter.params;
0046 <span class="keyword">if</span> isempty(taxonomicID) <span class="comment">% Can be empty when gathered from model adapter</span>
0047 printOrange(<span class="string">'WARNING: No taxonomicID specified.'</span>)
0047 printOrange(<span class="string">'WARNING: No taxonomicID specified.'</span>);
0048 <span class="keyword">return</span>
0049 <span class="keyword">elseif</span> taxonomicID == 0
0050 taxonomicID = [];
Expand Down
2 changes: 1 addition & 1 deletion doc/src/geckomat/change_model/getKcatAcrossIsozymes.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" sr
0018 error(<span class="string">'Provided model is a GECKO light version, this function is not relevant for such models'</span>)
0019 <span class="keyword">end</span>
0020 <span class="keyword">if</span> all(model.ec.kcat==0)
0021 printOrange(<span class="string">'WARNING: No kcat values are provided in model.ec.kcat, model remains unchanged.\n'</span>)
0021 printOrange(<span class="string">'WARNING: No kcat values are provided in model.ec.kcat, model remains unchanged.\n'</span>);
0022 <span class="keyword">return</span>
0023 <span class="keyword">end</span>
0024
Expand Down
Loading

0 comments on commit 939fe68

Please sign in to comment.