Simulation tools and tutorials
Our python code for RBA model building and simulation consists of the packages RBApy (for model building and basic simulations) and RBAtools (programming interface with convenience functions for advanced simulations). RBA models are stored in a special xml format, consisting of several separate files for different types of information about a model (a description is given here). Models in the RBA xml format can be obtained from github. RBA simulations are numerically demanding and can be run with different (proprietary and free) numerical solvers. Among the solvers, to our experience the free solver GLPK is not fully reliable with very large models like our E. coli model (where it gets sometimes stalled). As described below, aside from RBApy or RBA tools, there are also other ways to run RBA.
RBAtools: python programming interface for editing and high-level simulation of RBA models
The programming interface RBAtools provides easy access to high-level RBA simulation and analysis functions for existing RBA models (constructed with the help of RBApy). It supports the proprietary solver CPLEX and the free solver GLPK and generates output files for visualisation. RBAtools comes with a number of instructional juypyter notebooks. Documentation can be found on github.
RBApy: python package for model building and simulation of RBA models
To build RBA models and run simple RBA simulations on your machine, use RBApy. RBApy is a Python package that enables creation and simulation of bacterial RBA models and generates output files for visualisation. The input information for creating an RBA model are an annotated metabolic reconstruction in Systems Biology Markup Language (SBML) format and an Uniprot organism ID, which is used for automatic download and integration of macromolecular composition data into the model. RBApy supports the proprietary solvers CPLEX and Gurobi as well as the free solver GLPK. Extensive documentation can be found on github, with subpages on usage (including model construction, simulation, calibration, and requirements about SBML input models), installation, and documentation.
RBA simulations in BioSimulators
The runBioSimulators online portal for biomedical simulations provides simple access to RBApy. An example run (input data file and visualization of results) can be found here. The datafile (COMBINE/OMEX file) includes a model and simulation scenario. runBioSimulators is developed by the Center for Reproducible Biomedical Modeling, the Karr Lab at the Icahn School of Medicine at Mount Sinai, and the Center for Cell Analysis & Modeling at the University of Connecticut Health Center.
Tutorials: Jupyter notebooks
The RBAtools package contains a number of tutorials in the form of Jupyter notebooks.
1. A slim jupyter notebook tutorial can be run on mybinder without installing any RBA code on your local machine. It demonstrates some functions and workflows with the B. subtilis model (Goelzer et al. (2015)) as an example, including
- Sensitivity analysis to model parameters
- Resource variability analysis
- Multi-objective (Pareto) optimisation
2. In addition, we provide four Jupyter notebooks to be run on your local machine:
- Example_workflows_rba_tools.ipynb: An extended version of the Jupyter notebook on mybinder, which has also been used to generate the graphics in our RBAtools article.
- Model_components_information_access.ipynb: A Jupyter notebook with example applications on how to access information on model-components and their relationships in the B. subtilis model.
- Adding_custom_constraint_to_RBA_problem.ipynb: A Jupyter notebook in which we exemplify how to use rbatools to add user-defined constraints to an RBA-problem. The introduced functionality may serve users to develop more advanced methods with RBA.
- Linear_optimization_with_rbatools.ipynb: A Jupyter notebook, exemplifying the use of rbatools to define and solve linear optimization problems. This example is not related to RBA, but uses rbatools functionality to solve an example LP.