Skip to main content

A package that creates a python implementation of an SBML model.

Project description

SBMLtoODEpy

DOI status

Overview

SBMLtoODEpy is a software package that converts Systems Biology Markup Language (SBML) models into Python classes that can be rapidly incorporated into biomedical systems modeling projects written in Python, such as the multiscale simulation platform CompuCell3D, or used simulated directly as ordinary equations models in Python.

Authors

Steve M. Ruggiero and Ashlee N. Ford Versypt (ashleefv@okstate.edu), School of Chemical Engineering, Oklahoma State University

Usage

The simplest use of this package is to use the ParseAndGenerate function to quickly create a python implementation of an SBML model.

import sbmltoodepy
ParseAndCreateModel(inputFilePath, jsonFilePath = None, outputFilePath = None, className = "SBMLmodel")

The parameters are:

  • inputFilePath: The file path of the SBML model.
  • jsonFilePath: An optional file path that if provided is where the function will create a json file containing all of the model elements. If not provided, a json file will not be created.
  • outputFilePath: An optional file path of where the python model implementation will be created. If not provided, the output path will be assumed to be the same as the input but with a .py extension.
  • className: The name of the class defined by the file created by this function.

This creates a new python file containing a class implementing the SBML model.

To run the model, instantiate the class and call the RunSimulation method with the desired timestep deltaT and optional specification of tolerances.

model = SBMLmodel()
model.RunSimulation(deltaT, absoluteTolerance = 1e-12, relativeTolerance = 1e-6)

Installation Instructions

SBMLtoODEpy requires either Python version 3.5, 3.6, or 3.7. SBMLtoODEpy can be downloaded using pip:

pip install sbmltoodepy

Alternatively, SBMLtoODEpy can be installed from its source code by running the setup.py file included.

python setup.py install

To test the package, use the TestPackage function.

import sbmltoodepy
sbmltoodepy.utilities.TestPackage()

The TestPackage function raises a warning about trying to set a constant species and 6 numbers.

1.27949533562e-06

9.42747177955e-10

1.33080766722e-07

9.79758065656e-08

4.05696056523e-07

2.66117319017e-05

These are the average relative errors for species, parameters, and compartments between the model results generated using SBMLtoODEpy and results calculated by COPASI for six different models provided in the sbmltoodepy/sbml_files subdirectory: Smallbone2013, Borisov2009, Guyton1972, Kerkhoven2013, Waugh2006, and Zi2011, respectively. These examples are discussed in more detail in the tutorial.

Supporting Python packages

The following Python packages were used in this project and are needed to generate and run python models:

Links

For more information on using this package, click here to see the tutorial.

For more information on SBML, including specifications and other software that supports SBML, click here for the SBML web site

For a good source of SBML models, the BioModels repository is a great place to search.

For this project's code documentation, click here.

For this project's github repository, click here.

Acknowledgments

The software package described here was made possible in part by funding through the award for project number HR17-057, from the Oklahoma Center for the Advancement of Science and Technology.

Community Guidelines

To contribute a change, users can contact Ashlee Ford Versypt by email ashleefv@okstate.edu or submit a pull request.

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

sbmltoodepy-1.0.4.tar.gz (78.5 kB view details)

Uploaded Source

File details

Details for the file sbmltoodepy-1.0.4.tar.gz.

File metadata

  • Download URL: sbmltoodepy-1.0.4.tar.gz
  • Upload date:
  • Size: 78.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for sbmltoodepy-1.0.4.tar.gz
Algorithm Hash digest
SHA256 8c212f630580c882dab60b5d548fa331848412d3ae8e0a626319342c7a69dbe0
MD5 6c1debd567445047c57e14b3d27ead64
BLAKE2b-256 549b05818a82368a7ccaa836a4353e00fb936fc7fb10645d595fb7d6a55181a3

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