/tellurium

Python Environment for Modeling and Simulating Biological Systems

Primary LanguagePythonApache License 2.0Apache-2.0

  tellurium

Build Status Documentation Status DOI License (Apache License 2.0) PyPI version GitHub version

Copyright 2014-2019 Kiri Choi, J Kyle Medley, Matthias König, Kaylene Stocking, Caroline Cannistra, Michal Galdzicki, and Herbert Sauro

Introduction

Tellurium is a python environment for reproducible dynamical modeling of biological networks. Tellurium provides the interfacial code to convert between standard formats and utilize powerful libraries without requiring technical expertise, allowing you to focus on what’s important: building better models. Tellurium also provides first-class support for exchangeability via COMBINE archives, allowing you to share your models and simulations with other tools.

Tellurium combines state-of-the-art scientific Python libraries, such as NumPy and SciPy, and includes special-purpose systems biology Python tools. Out of the box, Tellurium includes libroadrunner, antimony, phrasedml, libsbml, and libsedml.

The Tellurium project is funded from the NIH/NIGMS (GM081070).

Documentation

Usage Example

import tellurium as te

rr = te.loada('''
    model example0
      S1 -> S2; k1*S1
      S1 = 10
      S2 = 0
      k1 = 0.1
    end
''')

result = rr.simulate(0, 40, 500) 
te.plotArray(result)

Tellurium front page demo

Installation Instructions

Attention to those using Python 2.7 : Python 2.7 is reaching EOL on January 1st, 2020. We plan to drop support for Python 2.7 from now on.

Tellurium can either be installed with a front-end (Notebook, IDE) or as a Python package:

A. IDE front-end based on Spyder
B. Notebook front-end
C. Python package (pip)

We recommend first-time users choose one of the front-ends, while developers looking to integrate Tellurium use the pip package. The IDE front-end provides a MATLAB like experience with a code editor and Python console. The notebook front-end provides a notebook interface similar to Jupyter, and features notebook cells for inline OMEX, a human-readable representation of COMBINE archives.

For any issues with installation and setup, please check FAQ or contact us.


Front-end 1: Tellurium Spyder IDE

The Tellurium Spyder installers are tested with Windows 7+ and Mac OS X 10.9+. Some older Macs cannot run Spyder IDE, regardless of whether the operating system is up-to-date. The Tellurium Spyder IDE comes with Python 2.7 (64-bit), Python 3.6 (64-bit), or Python 3.7 (64-bit).

For those who wish to use Tellurium with Spyder IDE on Mac OS X or Linux, we suggest you to install through Anaconda by following the instructions on this page.

Windows


Attention to those upgrading to Tellurium Spyder IDE version 2.1.0+ from older version : We strongly suggest you to completely remove the older version of Tellurium Spyder IDE prior to installing one of the 2.1.0+ versions.

  1. Download Tellurium Spyder for Windows:
  2. Double-click the installer to start the installation
  3. Follow the instructions

NOTE: Installation requires administrative rights. It is recommended to accept the default settings.

Mac OS X


Mac OS X user can install Tellurium and the Spyder IDE through Anaconda:

  1. Download the Anaconda distribution for Mac OS X..

IMPORTANT: The current version only works on Python 3.6 (3.7 support comming soon)

However the Anaconda site doesn't allow one to easily download the 3.6 version, hence:

After you've download the 3.7 version type the following at the Mac terminal:

conda install python=3.6

  1. Follow the installer instructions.. The installer will install Spyder as part of the installation process. If you customize the installation, you will have a chance to select which packages to install - ensure Spyder is selected.
  2. When prompted, add Anaconda to your PATH (optional, but this will make the following steps easier).
  3. Open a Terminal and run the command:
conda install msgpack-python

Next, install Tellurium itself:

pip install tellurium

If this fails, try using the default absolute path to Anaconda:

/Users/<your-user>/anaconda3/bin/pip install tellurium
  1. Launch the Anaconda Navigator via Launchpad. In Anaconda Navigator, run Spyder and then try import tellurium within the Spyder editor or console.

Mac OS X (Legacy)


Currently, only a legacy version of the Mac Spyder IDE is available. We recommend using the Notebook front-end on Mac.

  1. Download Tellurium IDE for Mac OS X 10.10 or later
  2. Double-click the .dmg file to open a new window
  3. Double-click the Spyder icon

Front-end 2: Tellurium Notebook

The Tellurium notebook supports Windows 10, Mac OS X 10.10+, Debian 8+, and Fedora 22+. The notebook viewer comes with Python 3.6 (64-bit).

Windows


  1. Download Tellurium Notebook for Windows
  2. Double-click the installer *.exe to start the installation
  3. Follow the instructions

Mac OS X


  1. Download Tellurium Notebook for Mac OS X 10.10 or later
  2. You may need to disable Gatekeeper
  3. Double-click the *.dmg file to open a new window
  4. Drag the Tellurium icon to your Applications
  5. You can now launch Tellurium from Spotlight or directly from your applications folder

Linux (RedHat)


  1. Download Tellurium Notebook (.rpm)
  2. Install the package using dnf install Tellurium-2.1.1.rpm
  3. You should be able to launch Tellurium from your activities pane. If not, log out and in again or run tellurium from the terminal.

Linux (Debian)


  1. Download Tellurium Notebook (.deb)
  2. Install the package using dpkg -i Tellurium_2.1.1_amd64.deb
  3. You should be able to launch Tellurium from your activities pane. If not, log out and in again or run /opt/Tellurium/tellurium from the terminal.

❓Looking for old releases? You can find them here. To install an old release over a new release, you will need to manually wipe the data directory.



Install via pip (no front-end)

PyPI version

Binary pip packages for Tellurium are available from PyPI and support 64-bit Python versions 2.7, 3.5, 3.6, and 3.7 for Windows, Mac, and Linux. Pip packages are tested on Fedora 22, Debian 8, Ubuntu 14.04, and Mac OS X 10.10.

The latest package release can be installed via

pip install tellurium

For developers, the latest stable version from the repository can be installed via

pip install git+https://github.com/sys-bio/tellurium.git

Install via Anaconda

  1. Download the Anaconda distribution for your platform.
  2. Follow the installer instructions.
  3. When prompted, add Anaconda to your PATH
  4. Run
pip install tellurium

If you would like a detailed instruction on how to setup Tellurium on Anaconda distributions, check this page.

Citing

If you use Tellurium in your research, we would appreciate following citations in any works you publish:

Medley et al. (2018). "Tellurium notebooks—An environment for reproducible dynamical modeling in systems biology." PLoS Computational Biology, 14(6), e1006220.

Choi et al. (2018). "Tellurium: An extensible python-based modeling environment for systems and synthetic biology." Biosystems, 171, 74-79.

Contact Us

For general questions or to request help, please post to the Tellurium-discuss mailing list. If you think you found a bug in our software, please post it to GitHub issue tracker.

Legal

The source code for the Tellurium Python package is hosted at https://github.com/sys-bio/tellurium and is licensed under the Apache License, Version 2.0. Tellurium uses third-party dependencies which may be licensed under different terms. Consult the documentation for the respective third-party packages for more details.

TELLURIUM AND ALL SOFTWARE BUNDLED WITH TELLURIUM (HEREAFTER "THE SOFTWARE") IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.