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

doc: move installations instructions to wiki #357

Merged
merged 7 commits into from
Dec 1, 2023
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
35 changes: 35 additions & 0 deletions GECKOInstaller.m
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
end
addpath(paths);
savepath;
GECKOInstaller.checkGECKOversion;
end
function uninstall
sourceDir = fileparts(which(mfilename));
Expand Down Expand Up @@ -59,6 +60,7 @@
pathsLeft = splitPaths(1,okPaths);
newPaths = char(join(pathsLeft, pathSep));
end

function checkRAVENversion(minmVer)
try
currVer = checkInstallation('versionOnly');
Expand All @@ -81,6 +83,39 @@ function checkRAVENversion(minmVer)
end

end

function checkGECKOversion
sourceDir = fileparts(which(mfilename));
hasGit=isfolder(fullfile(sourceDir,'.git'));

if exist(fullfile(sourceDir,'version.txt'), 'file') == 2
currVer = fgetl(fopen(fullfile(sourceDir,'version.txt')));
fclose('all');
fprintf('GECKO version %s installed',currVer)
try
newVer=strtrim(webread('https://raw.githubusercontent.com/SysBioChalmers/GECKO/main/version.txt'));
newVerNum=str2double(strsplit(newVer,'.'));
currVerNum=str2double(strsplit(currVer,'.'));
for i=1:3
if currVerNum(i)<newVerNum(i)
fprintf(', newer version %s is available',newVer)
if ~hasGit
fprintf('\nRun git pull in your favourite git client to update GECKO\n');
else
fprintf('\nInstructions on how to upgrade <a href="https://github.com/SysBioChalmers/GECKO/wiki/Installation-and-upgrade#installation">here</a>\n');
end
break
elseif i==3
fprintf('\n');
end
end
catch
fprintf('\n');
end
else
fprintf('GECKO installed, unknown version (cannot find version.txt)\n')
end
end
end

properties (Constant)
Expand Down
62 changes: 8 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,26 @@
<img src="./GECKO.png" width="200px">

![Current version](https://badge.fury.io/gh/sysbiochalmers%2Fgecko.svg)
[![Gitter](https://badges.gitter.im/SysBioChalmers/GECKO.svg)](https://gitter.im/SysBioChalmers/GECKO)
[![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

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 folder, `protocol.m` contains instructions on how to reconstruct and analyze an ecModel for _S. cerevisiae_. This demonstrates how many of GECKO's functions can be used.

💡 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. The source code documentation is also available
[online](http://sysbiochalmers.github.io/GECKO/doc/).
💡 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](#previous-versions-gecko-1-and-2)_.
_**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)_.

### Citation

- A GECKO 3 publication is currently under consideration, citation information will appear here in due course.
- For GECKO release 2, please cite [Domenzain et al. (2022) doi:10.1038/s41467-022-31421-1](https://doi.org/10.1038/s41467-022-31421-1).
- For GECKO release 1, please cite [Sánchez et al. (2017) doi:10.15252/msb.20167411](https://doi.org/10.15252/msb.20167411).
## 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.

### Getting started
## Citation

#### Required software

- MATLAB version 2019b or later, no additional MathWorks toolboxes are required.
- [RAVEN Toolbox](https://github.com/SysBioChalmers/RAVEN). The RAVEN Toolbox Wiki contains [installation instructions for both RAVEN](https://github.com/SysBioChalmers/RAVEN/wiki/Installation) and [Gurobi](https://github.com/SysBioChalmers/RAVEN/wiki/Installation#solvers). Briefly, RAVEN is either downloaded via `git clone`, as ZIP-archive from GitHub, or installed as a [MATLAB AddOn](https://se.mathworks.com/matlabcentral/fileexchange/112330-raven-toolbox). After finishing all installation instructions, the user should run installation checks in MATLAB with: `checkInstallation`.
- [Gurobi Optimizer](https://www.gurobi.com/solutions/gurobi-optimizer/) is recommended for simulations (free academic license available). Alternatively, the open-source [GNU Linear Programming Kit](https://www.gnu.org/software/glpk/) (distributed with RAVEN) or SoPlex as part of the [SCIP Optimization Suite](https://scipopt.org/) can be used.
- [Docker](https://www.docker.com/) for running DLKcat. Installation instructions are available at https://docs.docker.com/get-docker .

#### Installation

- The preferred way to download GECKO is via git clone:

```
git clone --depth=1 https://github.com/SysBioChalmers/GECKO
```

- Alternatively, [a ZIP-archive can be directly downloaded from GitHub](https://github.com/SysBioChalmers/GECKO/releases). The ZIP-archive should be extracted to a disk location where the user has read- and write-access rights.

- After `git clone` or extracting the ZIP-archive, the user should navigate in MATLAB to the GECKO folder. GECKO can then be installed with the command that adds GECKO (sub-)folders to the MATLAB path::

```
cd('C:\path\to\GECKO') % Modify to match GECKO folder and operating system
GECKOInstaller.install
```

- If desired, a removal command is available as::

```
GECKOInstaller.uninstall
```

All set! 🚀

## Previous versions: GECKO 1 and 2

Due to significant refactoring of the code, GECKO version 3 is largely not backwards compatible with earlier GECKO versions.

- Most notably, GECKO 3 ecModels have an `.ec` structure containing all enzyme and kcat information.
- In addition, in GECKO 3 enzymes are incorporated in the S-matrix as MW/kcat, while in GECKO 1 and 2 this was 1/kcat (where the MW was instead considered in the protein exchange reactions).
- GECKO 3 ecModels can be stored in YAML file format that retains all model content.
- Most functions in GECKO 3 do not work on ecModels generated with GECKO versions 1 or 2.
- ecModels generated in GECKO 3 do not work with functions from GECKO versions 1 or 2.
- At this moment, there are no Python functions to work with GECKO 3 formatted ecModels.
- The last GECKO 2 release (2.0.3) is available [here](https://github.com/SysBioChalmers/GECKO/releases/tag/v2.0.3).
- The `gecko2` branch remains available for any potential fixes.
- The GECKO 3 publication is in press at Nature Protocols. Once published, citation information will appear here.

## Contributing

Expand Down
Loading