Skip to main content

FBC reference files for SBML model curation.

Project description

FROG logo

fbc_curation: FROG analysis in Python

GitHub Actions CI/CD Status Current PyPI Version Supported Python Versions GNU Lesser General Public License 3 Documentation Status Codecov Zenodo DOI Black

The project fbc_curation implements the FROG analysis for reproducibility of constraint-based models in Python. FROG can be run

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

Supported Python Versions

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

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

Zenodo DOI

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fbc_curation-0.2.3.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

fbc_curation-0.2.3-py2.py3-none-any.whl (4.1 MB view details)

Uploaded Python 2 Python 3

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

Hashes for fbc_curation-0.2.3.tar.gz
Algorithm Hash digest
SHA256 647f6ec4c71e69c2b9eaa0f4b8e8cca20c7c44dd37a90600426078ee098fd51e
MD5 d18ecd8ff4b14bb0190add7d9a5a76d5
BLAKE2b-256 a5a2c1e37eeaa956d4564e5356e256d571f2adcc4e9e25310750f42cbd8aa1c4

See more details on using hashes here.

File details

Details for the file fbc_curation-0.2.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for fbc_curation-0.2.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a384ca63fbf08cda478f353ba677689b6d75fe7b896b381be415554a5998c6dc
MD5 e69e08c5d0f07d50fc3d79628b0634cf
BLAKE2b-256 c102f2e15cf66f0e8dfd9a8208c12aa36dad4e8898c1f63c260c50149d50c4a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page