SBMLtoODEpy
SBMLtoODEpy: A software program for converting SBML models into ODE models in Python - Published in JOSS (2020)
Science Score: 46.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
✓Committers with academic emails
1 of 3 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.0%) to scientific vocabulary
Scientific Fields
Repository
A tool for creating Python implementations of SBML models.
Basic Info
- Host: GitHub
- Owner: AnabelSMRuggiero
- License: bsd-3-clause
- Language: Python
- Default Branch: master
- Size: 661 KB
Statistics
- Stars: 14
- Watchers: 2
- Forks: 5
- Open Issues: 5
- Releases: 2
Metadata Files
README.md
SBMLtoODEpy
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.
python
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.
python
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.
python
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: * NumPy * SciPy * libSBML
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.
Owner
- Login: AnabelSMRuggiero
- Kind: user
- Location: Albuquerque, New Mexico
- Repositories: 5
- Profile: https://github.com/AnabelSMRuggiero
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| SMRuggiero | s****o@g****m | 62 |
| Ashlee Ford Versypt | a****v@o****u | 43 |
| SMRuggiero | 5****o | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 10
- Total pull requests: 2
- Average time to close issues: 14 days
- Average time to close pull requests: 2 days
- Total issue authors: 7
- Total pull request authors: 1
- Average comments per issue: 1.2
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- marouenbg (3)
- mayalenE (2)
- augeorge (1)
- AoifeHughes (1)
- carolinasisco (1)
- hsauro (1)
- InsKeerg (1)
Pull Request Authors
- mayalenE (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- numpy *
- python-libsbml *
- scipy *
- numpy *
- python-libsbml *
- scipy *
- numpy *
- python-libsbml *