FBC reference files for SBML model curation.
Project description
fbc_curation: FROG analysis in Python
The project fbc_curation
implements the FROG analysis for reproducibility of constraint-based models in Python.
FROG can be run
programmatically in python
using the
runfrog
command line tool available in this packagevia the website https://runfrog.de
via the REST API https://runfrog.de/docs
The FROG analysis creates standardized reference files for a given constraint-based computational model. The FROG files can be used in the model curation process for validating the model behavior, e.g., when submitting the model to BioModels. The latest version supports
fbc_curation
provides two implementations of FROG using
cobrapy based on COBRApy (Constraint-Based Reconstruction and Analysis in Python)
cameo cameo based on Cameo (Computer Aided Metabolic Engineering and Optimization)
For more information see the following resources
Documentation: https://fbc-curation.readthedocs.io
Website: https://runfrog.de
REST API: https://runfrog.de/docs
FROG format: FROG version 1
FROG JSON schema: frog-schema-version-1.json.
FROG BioModels submission: https://www.ebi.ac.uk/biomodels/curation/fbc.
If you have any questions or issues please open an issue.
How to cite
If you use fbc_curation
or runfrog
please cite us via
Installation
fbc_curation is available from pypi and can be installed via:
pip install fbc-curation
The latest develop version can be installed via:
pip install git+https://github.com/matthiaskoenig/fbc-curation.git@develop
Run FROG
Command line tool
After installation FROG analysis can be performed using the runfrog
command line tool
$ runfrog
──────────────────────────────────────────────────────────────────────────────────
🐸 FBC CURATION FROG ANALYSIS 🐸
Version 0.2.1 (https://github.com/matthiaskoenig/fbc_curation)
Citation https://doi.org/10.5281/zenodo.3708271
──────────────────────────────────────────────────────────────────────────────────
Usage: runfrog [options]
Options:
-h, --help show this help message and exit
-i INPUT_PATH, --input=INPUT_PATH
(required) path to COMBINE archive (OMEX) with SBML
model or an SBML model
-o OUTPUT_PATH, --output=OUTPUT_PATH
(required) omex output path to write FROG
──────────────────────────────────────────────────────────────────────────────────
Website
FROG can be easily executed via the website https://runfrog.de
REST API
FROG can be execute via the REST API https://runfrog.de/docs
Python
To run FROG programmatically via python use the run_frog function
from fbc_curation.worker import run_frog
run_frog(model_path, omex_path)
Here a complete example with comparison of the FROG results
"""FROG example using `fbc_curation`."""
from pathlib import Path
from fbc_curation.compare import FrogComparison
from fbc_curation.worker import run_frog
def create_frog(model_path: Path, omex_path: Path) -> None:
"""Create FROG report and writes OMEX for given model."""
# create FROG and write to COMBINE archive
run_frog(
source_path=model_path,
omex_path=omex_path,
)
# compare FROG results in created COMBINE archive
model_reports = FrogComparison.read_reports_from_omex(omex_path=omex_path)
for _, reports in model_reports.items():
FrogComparison.compare_reports(reports=reports)
if __name__ == "__main__":
base_path = Path(".")
create_frog(
model_path=base_path / "e_coli_core.xml",
omex_path=base_path / "e_coli_core_FROG.omex",
)
The typically output of a FROG analysis is depicted below
runfrog -i e_coli_core.xml -o e_coli_core.omex
───────────────────────────────────────────────────────────────────────────────────────
🐸 FBC CURATION FROG ANALYSIS 🐸
Version 0.2.3 (https://github.com/matthiaskoenig/fbc_curation)
Citation https://doi.org/10.5281/zenodo.3708271
───────────────────────────────────────────────────────────────────────────────────────
INFO Loading 'e_coli_core.xml' worker.py:70
WARNING Omex path 'e_coli_core.xml' is not a zip archive. omex.py:500
───────────────────────────────── FROG CuratorCobrapy ─────────────────────────────────
INFO * metadata curator.py:107
INFO * objectives curator.py:110
INFO * fva curator.py:113
INFO * reactiondeletions curator.py:116
INFO * genedeletions curator.py:119
INFO FROG created in '0.977' [s] worker.py:178
────────────────────────────────── FROG CuratorCameo ──────────────────────────────────
INFO * metadata curator.py:107
INFO * objectives curator.py:110
INFO * fva curator.py:113
INFO * reactiondeletions curator.py:116
INFO * genedeletions curator.py:119
INFO FROG created in '1.219' [s] worker.py:178
───────────────────────────────────── Write OMEX ──────────────────────────────────────
WARNING Existing omex is overwritten: 'e_coli_core.omex' omex.py:680
INFO Reports in omex: compare.py:60
{'./e_coli_core.xml': ['cobrapy', 'cobrapy_tsv', 'cameo',
'cameo_tsv']}
────────────────────────────── Comparison of FROGReports ──────────────────────────────
--- objective ---
cobrapy cobrapy_tsv cameo cameo_tsv
cobrapy 1 1 1 1
cobrapy_tsv 1 1 1 1
cameo 1 1 1 1
cameo_tsv 1 1 1 1
--- fva ---
cobrapy cobrapy_tsv cameo cameo_tsv
cobrapy 1 1 1 1
cobrapy_tsv 1 1 1 1
cameo 1 1 1 1
cameo_tsv 1 1 1 1
--- reaction_deletion ---
cobrapy cobrapy_tsv cameo cameo_tsv
cobrapy 1 1 1 1
cobrapy_tsv 1 1 1 1
cameo 1 1 1 1
cameo_tsv 1 1 1 1
--- gene_deletion ---
cobrapy cobrapy_tsv cameo cameo_tsv
cobrapy 1 1 1 1
cobrapy_tsv 1 1 1 1
cameo 1 1 1 1
cameo_tsv 1 1 1 1
───────────────────────────────────────────────────────────────────────────────────────
Equal: True
───────────────────────────────────────────────────────────────────────────────────────
License
Source Code: LGPLv3
Documentation: CC BY-SA 4.0
The fbc_curation source is released under both the GPL and LGPL licenses version 2 or later. You may choose which license you choose to use the software under.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License or the GNU Lesser General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Funding
Matthias König is supported by the Federal Ministry of Education and Research (BMBF, Germany) within the research network Systems Medicine of the Liver (LiSyM, grant number 031L0054) and by the German Research Foundation (DFG) within the Research Unit Programme FOR 5151 “QuaLiPerF (Quantifying Liver Perfusion-Function Relationship in Complex Resection - A Systems Medicine Approach)” by grant number 436883643 and by grant number 465194077 (Priority Programme SPP 2311, Subproject SimLivA).
© 2020-2022 Matthias König
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fbc_curation-0.2.3.tar.gz
.
File metadata
- Download URL: fbc_curation-0.2.3.tar.gz
- Upload date:
- Size: 4.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 647f6ec4c71e69c2b9eaa0f4b8e8cca20c7c44dd37a90600426078ee098fd51e |
|
MD5 | d18ecd8ff4b14bb0190add7d9a5a76d5 |
|
BLAKE2b-256 | a5a2c1e37eeaa956d4564e5356e256d571f2adcc4e9e25310750f42cbd8aa1c4 |
File details
Details for the file fbc_curation-0.2.3-py2.py3-none-any.whl
.
File metadata
- Download URL: fbc_curation-0.2.3-py2.py3-none-any.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a384ca63fbf08cda478f353ba677689b6d75fe7b896b381be415554a5998c6dc |
|
MD5 | e69e08c5d0f07d50fc3d79628b0634cf |
|
BLAKE2b-256 | c102f2e15cf66f0e8dfd9a8208c12aa36dad4e8898c1f63c260c50149d50c4a8 |