Skip to content
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ jobs:
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Test
run: pytest -v --durations=10
run: pytest -v --durations=10 -m "not integration"
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,35 @@ model = load_model(build_adapter(conditions["CN4"]))
`build_adapter` reads `model_adapter.toml` and layers the condition's measured
protein content and dilution rate on top.

## Building the condition models

```bash
python -m overflow.build # every condition
python -m overflow.build CN4 --solver glpk
```

Each condition gets `models/ecModel_P_<cond>.yml` and, in `results/`, the
enzymes whose measured abundance the model could not run on, the enzymes whose
caps had to be released, and the full flux distribution.

Options change what the models are asked to account for:

- `--fit-rates` holds CO2, oxygen and the byproducts within a tolerance of their
measurements (`--rate-tolerance`, default 5%) and raises the measured abundances
by the least that makes that feasible. Without it those rates are free, and the
model disposes of surplus carbon through whichever exit is cheapest in protein
rather than respiring it.
- `--uptake-flex` caps glucose uptake at that multiple of the measured rate
(default 1.05). CN4 needs 1.08: at its dilution rate the model needs 6.5% more
glucose than was measured, even with protein unlimited.
- `--objective` chooses what the finished model optimises: the smallest protein
pool (`protein`, the default), or the smallest total flux at the dilution rate
over every reaction (`flux`) or over the metabolic reactions only
(`metabolic-flux`). The flux objectives need `--fit-rates`.
- `--scale-protein` rescales biomass to the measured protein content. Off by
default: the model has no carbon to spare at the measured glucose uptake, and
CN4 then falls short of its dilution rate.

## Tests

```bash
Expand Down
22 changes: 22 additions & 0 deletions data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Data

| File | Contents |
|---|---|
| `abs_proteomics.txt` | Absolute protein abundances [mmol/gDW]. 2929 rows, one header; three biological replicates per condition and four for hGR. Missing measurements are `NA`. |
| `fermentationData.txt` | Per condition: total protein content [g/gDW], dilution rate [1/h] and measured exchange rates [mmol/gDW/h]. An undetected byproduct is `NA`. |
| `ribosome.txt` | Ribosomal subunits with gene names, mass and sequence, from UniProt. |
| `selectedAnnotation.txt` | Assignment of proteins to the systems used when summarising enzyme usage. |
| `uniprot.tsv` | Yeast proteome with molecular masses, used to convert abundances from mmol/gDW to mg/gDW. |

## abs_proteomics.txt

`P61830` appears on two rows, once per gene of the duplicated histone
(`YBR010W`, `YNL031C`), with identical abundances. Readers collapse it to one
entry and fail if the duplicated rows ever disagree.

## uniprot.tsv

From [SysBioChalmers/GECKO](https://github.com/SysBioChalmers/GECKO),
`tutorials/full_ecModel/data/uniprot.tsv`, branch `develop4`, commit
`cbc4ca3311df8ca44c28792f40008b9cbef692bd`. UniProt proteome UP000002311,
reviewed entries. Covers every protein in `abs_proteomics.txt`.
6,061 changes: 6,061 additions & 0 deletions data/uniprot.tsv

Large diffs are not rendered by default.

28 changes: 16 additions & 12 deletions models/PROVENANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,16 @@ The full enzyme-constrained yeast model, in GECKO 4 / RAVEN 3 YAML format.

| | |
|---|---|
| Source | [SysBioChalmers/GECKO](https://github.com/SysBioChalmers/GECKO), `tutorials/full_ecModel/models/ecYeastGEM.yml` |
| Branch | `develop4` |
| Commit | `cbc4ca3311df8ca44c28792f40008b9cbef692bd` |
| Blob | `891ad7ba769cdc7d0fd4b605b0fd625c8cdd6867` |
| Built with | GECKO 4.0.0b1, RAVEN 3.0.0b1 |
| Source | [SysBioChalmers/ecModels](https://github.com/SysBioChalmers/ecModels), `ecYeastGEM/models/ecYeastGEM.yml` |
| Branch | `gecko4` |
| Commit | `880288747ad98220764ce07f8b7a396048e0537d` |
| Blob | `d684eb01ddaf49da9ac9f5891aae372e16b34542` |
| Base model | yeast-GEM 9.1.1 |
| Built with | geckopy 4.0.0b1 |

1144 enzymes over 4834 enzyme-constrained reactions. kcat sources: 3280 BRENDA,
1076 DLKcat, 251 standard, 217 custom, 6 sensitivity-tuned, 3 isozyme-derived,
1 set explicitly. Subunit stoichiometries come from Complex Portal.
1144 enzymes over 4850 enzyme-constrained reactions. The kcats were tuned
against measured growth rates and exchange fluxes with CMA-ES, see the
`ecYeastGEM` README in the source repository.

The model ships with `r_4046` (non-growth associated maintenance) pinned at
0.7 mmol ATP/gDW/h and `prot_pool_exchange` bounded at 125 mg/gDW, which is
Expand All @@ -23,14 +24,17 @@ per condition when building the proteome-constrained models.

## yeast-GEM.yml

The conventional GEM the ecModel was built from, from the same commit. Used
as `conv_gem` by the geckopy adapter and as the starting model for random
The conventional GEM the ecModel was built from, yeast-GEM release `v9.1.1`
(`model/yeast-GEM.yml`, sha256
`2ddfaaa73ead41ab243127d1b34fa56db2c86052f6eabcd12bb4eea93947dc17`). Used as
`conv_gem` by the geckopy adapter and as the starting model for random
sampling.

## Verifying

```bash
curl -sL https://raw.githubusercontent.com/SysBioChalmers/GECKO/cbc4ca3311df8ca44c28792f40008b9cbef692bd/tutorials/full_ecModel/models/ecYeastGEM.yml \
curl -sL https://raw.githubusercontent.com/SysBioChalmers/ecModels/880288747ad98220764ce07f8b7a396048e0537d/ecYeastGEM/models/ecYeastGEM.yml \
| git hash-object --stdin
# 891ad7ba769cdc7d0fd4b605b0fd625c8cdd6867
# d684eb01ddaf49da9ac9f5891aae372e16b34542
curl -sL https://raw.githubusercontent.com/SysBioChalmers/yeast-GEM/v9.1.1/model/yeast-GEM.yml | sha256sum
```
Loading
Loading