Skip to main content

gsmodutils - a genome scale model development and testing framework.

Documentation Status Build Status Dev Build Status Coverage Status PyPI PyPI Wheel Supported versions

Initially developed by the Nottingham SBRC for use with their genome scale models.

Design goals:

  • Portability and interoperability. models come in different formats - cobra JSON, matlab, SBML, ScrumPy etc. The tool needs to be able to export and import models in these formats. This allows users to leverage tools not just in the python development stack, such as CobraPy but also other strain design methods from the likes of Matlab and OptKnock. This is achieved through a command line api that allows the export of files in to a variety of formats. This ensures that good standards can be followed and maintained.

  • Reusability of previous designs. The constraints, reactions, genes and metabolites for different designs can be a headache to manage. Generally, a base strain will exist and users will modify this over a long period of time. Likewise, designs the exploit existing hetrologous pathways or optimisations can be reused through an inherited design approach.

  • Testability of models. The validity of a model is a difficult aspect to measure. Constant manual curation in order to match experimental data requires users to check conditions. For this reason a testing framework is adopted allowing models to maintain conditions of validation. By default added growth constraints and designs can be tested. Users can also write tests in python and JSON to ensure that essential pathways are maintained and validation against experimental data is met.

  • Sharability. The design of the project uses flat files rather than database systems. Whilst this looses some power it ensures that any models developed can be shared easily through distributed source control software like Git and mercurial. Similarly, in the future the project aims to allow models to be distributed via Docker containers allowing controlled environments to improve collaboration where users require more than just a model to perform complex analysis.

Installation

To install the latest release from pip:

pip install gsmodutils

To install this software clone the git repository and type:

pip install -r requirements.txt
python setup.py install

To run the tests for this project, install pytest and, from the project root directory simply run

pytest

gsmodutils is fully compatible with python 2.7+ and python 3.6+. This software has been tested on linux (Ubuntut, manjaro/arch), windows and MacOSX.

Change notes

Version 0.0.4: Model conditions now store objective functions and directions, this is more convenient than designs for many use cases.

Version 0.0.3:

Added gsmodutils.utils.design_annoation decorator for annotating python based designs. Fixed GsmodutilsModel.save_model for sbml models (it used to save it as a matlab).

Version 0.0.2:

Changed method for test ids to separators being “::” for example “test_pytest.py::test_func” or “design::design_id”

Major refactor of test loading classes:

  • CLI and gsmodutils.test.tester class API remains the same

  • Tests are now encapsulated around TestInstance classes

  • Hierarchy of logs is stored

  • Encapsulates individual tests better

  • Can run child tests in isolation

  • Allows access to python tests with runtime specified models (useful for python based interaction)

GSModutilsModel class to allow the selection of specific tests related to the loaded model.

Usage

Please read the user guide in the docs!

See also

This project would be nothing without other great open source software projects. In particular, we would like to draw attention to `cameo` and `cobrapy`. These projects offer a wide array of functionality for FBA and other constraints based analysis within the python open source stack.

Contributors

James Gilbert University of Nottingham - main software developer. Nicole Pearcy - Testing, ideas and knowledge of genome scale models.

If you would like to collaborate, please get in touch!

Acknowledgements

This project was developed as part of the Synthetic Biology Research Centre at the University of Nottingham.

This work was supported by the UK Biotechnology and Biological Sciences Research Council (BBSRC) grants BB/L013940/1, BB/K00283X/1 and BB/L502030/1.

https://www.nottingham.ac.uk/SiteElements/Images/Base/logo.png https://bbsrc.ukri.org/bbsrc/cache/file/602A834A-B296-4FF0-AC67AA8C99E7D0E4_source.gif http://sbrc-nottingham.ac.uk/images-multimedia/sbrcweblogo80.jpg

Metadata

Release files for gsmodutils 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for gsmodutils 0.0.4
File Interpreter ABI Platform
gsmodutils-0.0.4-py2.py3-none-any.whl Python 2, Python 3 none any Details

Release files / gsmodutils-0.0.4-py2.py3-none-any.whl

Download URL gsmodutils-0.0.4-py2.py3-none-any.whl
Size 103.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5403e60c5c1e247ac088921b30badd0ffb80a8fd6b448eb8dd9aeef47f7be6e2
BLAKE2b-256 checksum
How to use checksums
02f3130226a81b4471760d93a335a406310500266986b1fdfd0d20e62878f94f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

Security for gsmodutils 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page