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.1.3 #365

Merged
merged 7 commits into from
Jan 30, 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
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
2 changes: 1 addition & 1 deletion src/geckomat/gather_kcats/runDLKcat.m
Original file line number Diff line number Diff line change
Expand Up @@ -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.')
Expand Down
6 changes: 3 additions & 3 deletions src/geckomat/utilities/saveEcModel.m
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion tutorials/full_ecModel/protocol.m
Original file line number Diff line number Diff line change
@@ -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
Expand Down
6 changes: 3 additions & 3 deletions tutorials/light_ecModel/protocol.m
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down