runBioSimulations provides an online tool for building SED-ML files
and COMBINE archives
runBioSimulations provides an online tool for validating SED-ML files
and COMBINE archives
All of the simulation tools support the following features:
sedml:model,
sedml:changeAttribute.
sedml:steadyState,
sedml:oneStep, or sedml:uniformTimeCourse.
sedml:algorithm,
sedml:algorithmParameter.
sedml:task.
sedml:DataGenerator
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.
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
Yes! All of the validated images are compatible with Singularity
No! Currently, no validated simulation tool requires a commercial
license. However, some tools can execute simulations more quickly with
commercial libraries such as Gurobi
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
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
idnamelatestVersiondescriptionframeworksalgorithmsalgorithmParametersmodelFormatssimulationFormatsarchiveFormatsimageclipythonApiinterfacesoperatingSystemsprogrammingLanguagescurationStatuslicensedependenciesauthorscitationsidentifiersfundingupdatedmoreInfoUrlYes! 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.
https://img.shields.io/badge/BioSimulators-registered-green
to generate the badge below. https://img.shields.io/badge/BioSimulators-valid-green
to generate the badge below. https://img.shields.io/badge/BioSimulators-{{
'{'
}}
latest-version {{ '}' }}-green
to generate the badge below.
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.