Tellurium Web provides an online database and simulation tools for running reproducible simulation experiments in computational biology.
Tellurium Web workflow is based around COMBINE Archives (
as an exchange format. A COMBINE Archive is a single zip file containing the various documents
necessary for the description of a model and all associated data and procedures.
This includes for instance, but not limited to, simulation experiment descriptions,
all models needed to run the simulations and associated data files.
The archive is encoded using the Open Modeling EXchange format (OMEX).
The current version of
Tellurium Web supports the execution of simulation experiments with model descriptions in the Systems Biology Markup Language (SBML),
the de facto standard for encoding mathematical models in computational biology, and simulation descriptions in
the Simulation Experiment Description Markup Language (SED-ML), the standard for describing
- COMBINE archive browser (upload & managing of archives)
- COMBINE archive viewer (managing metadata, manifest & annotations)
- Execution of COMBINE archive based simulation experiments
- supports SBML models (all level and versions, i.e.,
- supports SED-ML simulations (all level and versions, i.e.,
Tellurium Web has been tested with a wide range of archives, among others
Tellurium Web is based existing technology and standards in the "Coordinating standards for modeling in biology" (COMBINE)
The following technology is used in
- Web framework: django
- Database layer: postgres & sqlite (develop)
- Task queue: celery Distributed task queue
- Message broker: redis Redis is an open source in-memory data structure store, used as a database, cache and message broker.
- Interactive plots: plotly.js
- Websockets: Django channels
- complete rewrite of the user interface and core functionality
- combine archive viewer/editor (metadata)
- manifest.xml and metadata.rdf handling
- dynamic generation of archives
- archive upload via url
- user management (global and user archives)
- annotation support (external annotation files and SBML annotations)
- django channels for task notifications
- REST API (with swagger documentation)
- initial release
- core functionality implemented
Installation & Setup
python 3.5 or
git clone https://github.com/matthiaskoenig/tellurium-web.git cd tellurium-web
Create virtual environment
mkvirtualenv tellurium-web --python=python3 (tellurium-web) pip install -r requirements.txt
Set necessary environment variables for database
(tellurium-web) export DJANGO_ADMIN_PASSWORD="test"
Set environment variable and create database
Tellurium Web uses a task queue to manage the execution of simulation experiments.
To provide the functionality of simulation execution
redis as message broker must be setup
celery worker must be started
To install redis on Ubuntu use the installation script
./scripts/install_redis.sh 2>&1 | tee ./scripts/install_redis.log
To start a
celery test worker change in the
teweb folder start a worker via
(tellurium-web) cd teweb (tellurium-web) celery -A teweb worker -l info
Run the test server
The test server is run via
(tellurium-web) cd teweb (tellurium-web) python manage.py runserver 8001
© 2018 Matthias König