From fa8748950f555e728b2cdbc3892ff89348428e4a Mon Sep 17 00:00:00 2001 From: Mihail Anton Date: Fri, 12 Jan 2024 18:22:45 +0100 Subject: [PATCH 1/4] fix: saveEcModel without appending xml if already xml --- src/geckomat/utilities/saveEcModel.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/geckomat/utilities/saveEcModel.m b/src/geckomat/utilities/saveEcModel.m index 69f4bf953..9c0e5badc 100644 --- a/src/geckomat/utilities/saveEcModel.m +++ b/src/geckomat/utilities/saveEcModel.m @@ -40,12 +40,12 @@ function saveEcModel(ecModel,filename,modelAdapter) switch filename(end-3:end) case {'.xml','sbml'} - exportModel(ecModel,[filename '.xml']); + exportModel(ecModel, filename); %Convert notation "e-005" to "e-05 " in stoich. coeffs. to avoid %inconsistencies between Windows and MAC: - copyfile([filename '.xml'],'backup.xml') + copyfile(filename,'backup.xml') fin = fopen('backup.xml', 'r'); - fout = fopen([filename '.xml'], 'w'); + fout = fopen(filename, 'w'); still_reading = true; while still_reading inline = fgets(fin); From 83412ed34a2d7aa33b2bae83df79d6b0ccb9dc15 Mon Sep 17 00:00:00 2001 From: Mihail Anton Date: Fri, 12 Jan 2024 18:23:32 +0100 Subject: [PATCH 2/4] chore: typo in tutorial light protocol --- tutorials/light_ecModel/protocol.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/light_ecModel/protocol.m b/tutorials/light_ecModel/protocol.m index 008125e08..f64671312 100644 --- a/tutorials/light_ecModel/protocol.m +++ b/tutorials/light_ecModel/protocol.m @@ -74,7 +74,7 @@ % STEP 26 Merge BRENDA and DLKcat derived values kcatList_merged = mergeDLKcatAndFuzzyKcats(kcatList_DLKcat, kcatList_fuzzy); -% STEP 27 Implement kcat avlues into model.ec.kcat +% STEP 27 Implement kcat values into model.ec.kcat ecModel = selectKcatValue(ecModel,kcatList_merged); % STEP 28 @@ -96,7 +96,7 @@ % -standardMW/standardKcat as the stoiciometric coefficient. [ecModel, rxnsMissingGPR, standardMW, standardKcat] = getStandardKcat(ecModel); -% STEP 31 Apply kcat avlues to S-matrix +% STEP 31 Apply kcat values to S-matrix % In light ecModels the kcat values are also kept in ecModels.ec.kcat, and % only after running applyKcatConstraints are these introduced in the % ecModel.S matrix. In constrast to full ecModels, the applyKcatConstraints From fa75b3c65368201c157a558aad161624f82ec673 Mon Sep 17 00:00:00 2001 From: Mihail Anton Date: Tue, 23 Jan 2024 09:01:02 +0200 Subject: [PATCH 3/4] chore: update doi --- README.md | 12 ++++++------ tutorials/full_ecModel/protocol.m | 2 +- tutorials/light_ecModel/protocol.m | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 18cf48537..77aab20e5 100644 --- a/README.md +++ b/README.md @@ -4,24 +4,24 @@ [![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) -## About GECKO 3 +## About GECKO 3.0 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). _**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 + +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) ## Documentation **Installation instructions** and other information is available in the **[Wiki](https://github.com/SysBioChalmers/GECKO/wiki)**. The source code documentation is also available [online](http://sysbiochalmers.github.io/GECKO/doc/). Use [GitHub Discussions](https://github.com/SysBioChalmers/GECKO/discussions) for support, to ask questions or leave comments. -## Citation - -- The GECKO 3 publication is in press at Nature Protocols. Once published, citation information will appear here. - ## Contributing Contributions are always welcome! Please read the [contributing guidelines](https://github.com/SysBioChalmers/GECKO/blob/main/.github/CONTRIBUTING.md) to get started. diff --git a/tutorials/full_ecModel/protocol.m b/tutorials/full_ecModel/protocol.m index c1b17eca8..19805f4ad 100644 --- a/tutorials/full_ecModel/protocol.m +++ b/tutorials/full_ecModel/protocol.m @@ -1,4 +1,4 @@ -% This file accompanies the GECKO3 Nature Protocols paper (DOI TO BE ADDED). +% This file accompanies the GECKO 3 Nature Protocols paper https://doi.org/10.1038/s41596-023-00931-7. % % The function of this script is to demonstrate the reconstruction and % analysis of a *full* ecModel. As example, it here uses the yeast-GEM diff --git a/tutorials/light_ecModel/protocol.m b/tutorials/light_ecModel/protocol.m index f64671312..bccc053bc 100644 --- a/tutorials/light_ecModel/protocol.m +++ b/tutorials/light_ecModel/protocol.m @@ -1,4 +1,4 @@ -% This file accompanies the GECKO3 Nature Protocols paper (DOI TO BE ADDED). +% This file accompanies the GECKO 3 Nature Protocols paper https://doi.org/10.1038/s41596-023-00931-7. % % The function of this script is to demonstrate the reconstruction and % analysis of a *full* ecModel. As example, it here uses the yeast-GEM From 7f8758035a9f699ccf24b557cc5e9c0f4f387fae Mon Sep 17 00:00:00 2001 From: Mihail Anton Date: Tue, 23 Jan 2024 09:06:46 +0200 Subject: [PATCH 4/4] feat: expand error message to include detail otherwise mentioned just as a code comment --- src/geckomat/gather_kcats/runDLKcat.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/geckomat/gather_kcats/runDLKcat.m b/src/geckomat/gather_kcats/runDLKcat.m index 85292c9d5..d82b4861d 100644 --- a/src/geckomat/gather_kcats/runDLKcat.m +++ b/src/geckomat/gather_kcats/runDLKcat.m @@ -31,7 +31,7 @@ function runDLKcat(modelAdapter) % Check if Docker is installed [checks.docker.status, checks.docker.out] = system('docker --version'); if checks.docker.status ~= 0 - error('Cannot find Docker. Make sure it is installed.') + error('Cannot find Docker, make sure it is installed. If it is, it might be required to start Matlab from the command-line instead of the launcher in order for Docker to be detected and used.') end disp('Running DLKcat prediction, this may take many minutes, especially the first time.')