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/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.') 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); 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 008125e08..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 @@ -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