Utilities for the management and testing of genome scale models in a cross platform, open manner.
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file gsmodutils-0.0.4-py2.py3-none-any.whl
.
File metadata
- Download URL: gsmodutils-0.0.4-py2.py3-none-any.whl
- Upload date:
- Size: 103.0 kB
- Tags: Python 2, Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5403e60c5c1e247ac088921b30badd0ffb80a8fd6b448eb8dd9aeef47f7be6e2 |
|
MD5 | fa0e88a14d87b246b57b0d9536a79e9a |
|
BLAKE2b-256 | 02f3130226a81b4471760d93a335a406310500266986b1fdfd0d20e62878f94f |