Example data#
The models that the pages of the user guide load are copied here and are not read from the RAVEN submodule. Every snippet can therefore use a short path (smallYeast.yml), which works the same way for a reader who downloads the file and for the example runner in CI.
File |
Size |
Source |
Used by |
|---|---|---|---|
45 kB |
|
the default example model of most guide pages |
|
4 kB |
|
Building a model from scratch: an empty SBML model with compartments, the start of a model built from scratch |
|
45 kB |
|
Quality control and Comparing models, which need a model with known errors |
|
3.6 MB |
yeast-GEM v9.1.0, |
the pages that need a genome-scale model: Reading and writing models, Simulating growth with FBA, Growth media and conditions and Biomass composition and annotation |
|
11.6 MB |
yeast-GEM v9.1.0, |
the same model as SBML, for Reading and writing models |
|
2 kB |
transcribed from |
Growth media and conditions: a condition file, yeast-GEM under anaerobic conditions |
|
0.5 kB |
written for this guide |
Metabolic tasks and Gap-filling: a task list for |
|
0.3 kB |
written for this guide |
Table-driven curation: a metabolite curation table |
|
1 kB |
an excerpt of ten rows in Human Protein Atlas format |
The two small yeast models are part of the RAVEN Toolbox (MIT licence). yeast-GEM is the consensus genome-scale model of Saccharomyces cerevisiae (SysBioChalmers/yeast-GEM, CC-BY-4.0). It is pinned at release v9.1.0, so the numbers printed in the guide stay reproducible while the model develops.
The .yml files are RAVEN YAML, read by readYAMLmodel in MATLAB and read_yaml_model in Python. yeast-GEM.xml is SBML, read by importModel and by read_sbml_model of cobrapy.
Refreshing the copies#
The two RAVEN tutorial copies are deliberate duplicates and do not follow the RAVEN submodule automatically. After a submodule bump that changes either model, the copies are refreshed and the examples are run again:
cp "RAVEN/tutorials/data/models/smallYeast.yml" docs/data/smallYeast.yml
cp "RAVEN/tutorials/data/empty.xml" docs/data/empty.xml
cp "RAVEN/tutorials/data/models/smallYeastBad.yml" docs/data/smallYeastBad.yml
python scripts/run_examples.py
A change of the pinned tag is deliberate, and it changes every number that the guide prints from the model. The tag is bumped, both files are downloaded again, and the affected output blocks are regenerated in one commit:
YEAST_GEM=v9.1.0 # the release the guide currently documents
curl -sSL -o docs/data/yeast-GEM.yml "https://raw.githubusercontent.com/SysBioChalmers/yeast-GEM/${YEAST_GEM}/model/yeast-GEM.yml"
curl -sSL -o docs/data/yeast-GEM.xml "https://raw.githubusercontent.com/SysBioChalmers/yeast-GEM/${YEAST_GEM}/model/yeast-GEM.xml"
python scripts/run_examples.py --update
The files are never edited in place, and a change is made upstream and copied again. Any change here makes the numbers of the guide unreproducible without a warning for a reader who takes the model from RAVEN.
Proteomes for homology reconstruction#
hanpo.faa and sce-template.faa serve Reconstruction from homology.
File |
Content |
|---|---|
the Hansenula polymorpha proteome with 5177 sequences, copied unchanged from the |
|
61 S. cerevisiae sequences (the genes of |
The template proteome is restricted to the genes of the model. A BLAST against 61 subjects keeps the example of the homology page at about fifteen seconds per language, and a template protein that no reaction uses cannot contribute to the draft.
sce-template.faa is regenerated after a change to smallYeast.yml:
python - <<'EOF'
from pathlib import Path
from raven_toolbox.io import read_yaml_model
ids = {g.id for g in read_yaml_model("docs/data/smallYeast.yml").genes}
out, keep = [], False
for line in Path("hanpo-GEM/data/genomes/sce.faa").read_text().splitlines():
if line.startswith(">"):
keep = line[1:].strip().split()[0] in ids
if keep:
out.append(line)
Path("docs/data/sce-template.faa").write_text("\n".join(out) + "\n")
EOF
python scripts/run_examples.py docs/guide/homology.md --update