The simulators page describes the modeling frameworks that the available simulation tools support. Please submit an issue to request support for another modeling framework. The simulators page describes the model formats that the available simulation tools support. Please submit an issue to request support for another model format. Information about how to use SED-ML and the COMBINE archive format with specific model languages is available here. Several examples COMBINE/OMEX archives and SED-ML files are available here . These examples are verified to work with runBioSimulations. This page lists that simulation tools that are compatible with each COMBINE/OMEX archive.

runBioSimulations provides an online tool for building SED-ML files and COMBINE archives . Similar functionality is available as a command-line program and Python API through the BioSimulators-utils Python package .

runBioSimulations provides an online tool for validating SED-ML files and COMBINE archives . The same functionality is available as a command-line program and Python API through the BioSimulators-utils Python package .

The simulators page describes the algorithms that the available simulation tools support. Please submit an issue to request support for another algorithm.

All of the simulation tools support the following features:

  • Models and model attribute changes: sedml:model, sedml:changeAttribute.
  • At least one of steady-state, one step, and uniform time course simulations: sedml:steadyState, sedml:oneStep, or sedml:uniformTimeCourse.
  • Algorithms and their parameters: sedml:algorithm, sedml:algorithmParameter.
  • Tasks for the execution of individual simulations of individual models: sedml:task.
  • Data generators for individual variables: sedml:DataGenerator
  • Report outputs: sedml:Report.

Some of the simulation tools, such as tellurium, support the full SED-ML specification.

Simulation tools are encouraged to support SED-ML L1V3 or later. The simulators page contains more information about the version of SED-ML supported by each tool.

The simulators page describes the available simulation tools. Only the simulators that have a curation status of 5 stars provide Docker images that support the BioSimulators conventions. Going forward, we aim to encourage the community to provide additional standardized Docker images. Only the simulators that have a curation status of 5 stars provide Python APIs images that support the BioSimulators conventions. Going forward, we aim to encourage the community to provide additional standardized Docker images.

Instructions for using simulator Docker images to execute simulations are available here.

Instructions for using command-line interfaces to execute simulations are available here.

Instructions for using simulator Python APIs to execute simulations are available here.

In adddition, several interactive tutorials are available from Binder .

Yes! The ghcr.io/biosimulators/biosimulators image contains most of the Python APIs (90% as of 2021-09-23). More information about the image is available here.

The Dockerfile for this image is available here. To the extent possible, this Docker image uses Pipenv to manage the Python environment inside the image. The Pipfile and Pipfile.lock files for this environment are available here.

The goal of this image is to provide the latest mutually-compatible versions of the Python APIs for simulation tools. When simulation tools require conflicting versions of dependencies, this image may not have the latest version of each simulation tool. In such cases, individual simulation tools can be updated by running pipenv install --system --selective-upgrade ... or pip install --upgrade .... Note, such upgrading may break the functionality of other tools.

In addition, the ghcr.io/biosimulators/biosimulators-base image contains the non-Python dependencies for these the Python APIs. More information about the image is available here.

Yes! The Docker images can be run on high-performance computing (HPC) systems where root access is not available by first converting the images to Singularity images. All of the validated images are compatible with Singularity.

Yes! All of the validated images are compatible with Singularity . As part of the validation process, we check that each Docker image can be converted into a Singularity image.

No! Currently, no validated simulation tool requires a commercial license. However, some tools can execute simulations more quickly with commercial libraries such as Gurobi and IBM CPLEX . Gurobi and IBM both provide free licenses for academic research.

Currently, runBioSimulations can execute COBRApy and RBApy with Gurobi.

Currently, COBRApy and RBApy can read license keys for Gurobi through environment variables which start with the prefix GRB_. For example, COBRApy and RBApy can use Gurobi (using keys for Gurobi's Web License Service for Container Environments Only ) inside Docker containers as illustrated below.

docker run -it --rm \
  --env \
    GRB_WLSACCESSID=********-****-****-****-************ \
    GRB_WLSSECRET=********-****-****-****-************ \
    GRB_LICENSEID=****** \
  ghcr.io/biosimulators/cobrapy

Yes! Multiple BioSimulators tools could be used to co-simulate multiple models (potentially involving multiple model languages) using multiple simulation algorithms. We recommend using the Python APIs because they are more flexibile than the command-line interfaces. Specifically, we recommend using the Vivarium framework to combine multiple simulation tools and/or models. Vivarium also provides tooling to use BioSimulators.

The simulation tool search supports search over the following fields:
  • id
  • name
  • latestVersion
  • description
  • frameworks
  • algorithms
  • algorithmParameters
  • modelFormats
  • simulationFormats
  • archiveFormats
  • image
  • cli
  • pythonApi
  • interfaces
  • operatingSystems
  • programmingLanguages
  • curationStatus
  • license
  • dependencies
  • authors
  • citations
  • identifiers
  • funding
  • updated
  • moreInfoUrl
Please submit an issue to register an additional simulation tool.

Yes! We encourage the community to submit all simulation tools, even if they do not support the BioSimulators interface and Docker image structure conventions.

Note, BioSimulators can only validate simulation tools that support these conventions. Consequently, when creating GitHub issues to submit simulation tools that do not support the BioSimulators conventions, set validateImage to false to decline validation of the Docker image (or lack thereof) for your simulation tool. The validation status of your simulation tool (passed or skipped) will be communicated to BioSimulators users.

Yes! We encourage the community to submit all simulation tools, even if they do not support the BioSimulators conventions.

BioSimulators uses GitHub teams to manage ownership of simulation tools.

When a simulator is first submitted to BioSimulators, BioSimulators creates a GitHub Team to own the simulator and Biosimulators adds the submitter as a maintainer of that team. The team will have the name @biosimulators/{{ '{' }} simulator-id {{ '}' }}. Once the team is created, the submitter will be able to manage the team and add collaborators through GitHub .

Only members of these teams can submit issues to edit the specifications of tools and post new versions of tools. If you are not a member of the team for your simulator, you will need to request access from the maintainers of the GitHub team for your tool.

We recommend using Shields.io to generate shields for simulators. Several examples are below.

  • Indicate that a simulator is registered:
    Use https://img.shields.io/badge/BioSimulators-registered-green to generate the badge below.
  • Indicate that a simulator is valid:
    Use https://img.shields.io/badge/BioSimulators-valid-green to generate the badge below.
  • Indicate the latest registered version of a simulator:
    Use https://img.shields.io/badge/BioSimulators-{{ '{' }} latest-version {{ '}' }}-green to generate the badge below.
Data for reports and plots are saved in HDF5 format. See the specifications for data sets for more information.

Within HDF5 files, the results of each report (sedml:report) and plot (sedml:plot2D, sedml:plot3D) are saved to paths equal to a combination of the relative path of the parent SED-ML document within the parent COMBINE/OMEX archive and the id of the report or plot.

For reports, the rows of these data tables correspond to the data sets (sedml:dataSet) specified in the SED-ML definition of the report. The heading of each row is the label of the corresponding data set. For plots, the rows of these data tables correspond to the data generators (sedml:dataGenerators) specified in the SED-ML definition of the curves and surfaces of the plot. The heading of each row is the id of the corresponding data generator.

For time course simulations, the columns of these data tables correspond to the predicted time points. Below is a sample data table for a report.

See the specifications for data tables for more information and examples.

BioSimulators utils provides a command-line program and Python API for converting diagrams in several formats into Vega data visualizations which can be connected to the outputs of simulations encoded in SED-ML. More information is available here. A Docker image is a template for creating a Docker container. Typically, Docker images are containers for an operating system and additional programs. Docker images enable developers to encapsulate programs and their dependencies into a format that can be shared through online repositories such as Docker Hub or the GitHub Container Registry and run on top of any operating system. A Docker container is a virtual machine. Typically Docker containers are created by instantiating Docker images.