Tellurium and libroadrunner in a Nutshell



Similar documents
Modeling with Python

ANSA and μeta as a CAE Software Development Platform

Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS Instructor: Michael Gelbart

Exercise 0. Although Python(x,y) comes already with a great variety of scientic Python packages, we might have to install additional dependencies:

Main Bullet #1 Main Bullet #2 Main Bullet #3

RuleBender Tutorial

Modelling cellular processes with Python and Scipy

Scientific Programming in Python

Advanced Functions and Modules

Intro to scientific programming (with Python) Pietro Berkes, Brandeis University

Obfuscated Biology -MSc Dissertation Proposal- Pasupula Phaninder University of Edinburgh March 31, 2011

The UBATSIM software package. Simulates UBAT detector frames from a GRB. and. processes them to trigger and locate the GRB

Availability of the Program A free version is available of each (see individual programs for links).

Python. Python. 1 Python. M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne / 25

Course Curriculum for Master Degree in Medical Laboratory Sciences/Clinical Biochemistry

Astronomical Instruments Software System Design

How To Train A Face Recognition In Python And Opencv

Building a Collaborative Informatics Platform for Translational Research: Prof. Yike Guo Department of Computing Imperial College London

Postprocessing with Python

Simulation of an Action Potential using the Hodgkin-Huxley Model in Python. Nathan Law Medical Biophysics 3970

AN INTRODUCTION TO BACKTESTING WITH PYTHON AND PANDAS

How To Understand Enzyme Kinetics

Course Curriculum for Master Degree in Medical Laboratory Sciences/Clinical Microbiology, Immunology and Serology

Enter Here --->> New Instant Directory Profits Software - ebook

Setting up Python 3.4 and numpy and matplotlib on your own Windows PC or laptop

Chemical and Biological Engineering Calculations using Python 3. Jeffrey J. Heys

Introduction to Python

Alma Invoices for Finance One

Problem Set 6 Question 1

A Python-Based Simulation Code Repository for Complex Systems Education. Hiroki Sayama

RT 2 Profiler PCR Array: Web-Based Data Analysis Tutorial

15 Stem Cell Research

Jonathan Worthington Scarborough Linux User Group

McPerM THE McFarm Performance Monitor

Data Analysis with MATLAB The MathWorks, Inc. 1

OVERVIEW. Toolbox for Thermodynamic Modeling and Simulation with MATLAB /Simulink. Key Features:

CSE 6040 Computing for Data Analytics: Methods and Tools. Lecture 1 Course Overview

Lecture 3: Enzyme kinetics

DATA SCIENCE CURRICULUM WEEK 1 ONLINE PRE-WORK INSTALLING PACKAGES COMMAND LINE CODE EDITOR PYTHON STATISTICS PROJECT O5 PROJECT O3 PROJECT O2

NetworkX: Network Analysis with Python

Performance Monitoring using Pecos Release 0.1

The Ultra-scale Visualization Climate Data Analysis Tools (UV-CDAT): A Vision for Large-Scale Climate Data

Multiprocess System for Virtual Instruments in Python

Outlook Express and Express Archiver to Backup and Retrieve at UW 1

MultiExperiment Viewer Quickstart Guide

Programming PHREEQC Calculations with C++ and Python A Comparative Study

Compustat data via Research Insight Quick Reference Guide

3D Data visualization with Mayavi

The Whys, Hows and Whats of the Noise Power Spectrum. Helge Pettersen, Haukeland University Hospital, NO

Curriculum Policy of the Graduate School of Agricultural Science, Graduate Program

The Standard Graphical Notation for Biological Networks

Scientific Programming with Python. Randy M. Wadkins, Ph.D. Asst. Prof. of Chemistry & Biochem.

An Integrated End-to-End Data Integrity Solution to Protect Against Silent Data Corruption

1Y0-A09. Implementing Citrix XenServer Enterprise Edition

PSS E. High-Performance Transmission Planning Application for the Power Industry. Answers for energy.

ISSH 2011 ABM Track - Hands-on Exercise

Improved metrics collection and correlation for the CERN cloud storage test framework

Conjoint Survey Design Tool: Software Manual

Automated parameter conversion from HICUM/L2 to HICUM/L0

William E. Hart Carl Laird Jean-Paul Watson David L. Woodruff. Pyomo Optimization. Modeling in Python. ^ Springer

An introduction to Python Programming for Research

NetworkX: Network Analysis with Python

2. A typical business process

NaviCell Data Visualization Python API

This document gives an outline of Tim Ward s work on mobile phone systems

Visual Storage Intelligence TM

Analysis Programs DPDAK and DAWN

Instructional Design Framework CSE: Unit 1 Lesson 1

Lab 6: Bifurcation diagram: stopping spiking neurons with a single pulse

Fast Arithmetic Coding (FastAC) Implementations

Tools and Techniques for Developing Atmospheric Python Software: Insight from the Python ARM Radar Toolkit

Detailed installation process for each library is described below.

TopoICE-X Manual. In these examples, we will use the following knots:

from ztf_summerschool import source_lightcurve, barycenter_times %matplotlib inline

Course Curriculum for Master Degree in Medical Laboratory Sciences/Hematology and Blood Banking

Lab 1: Simulation of Resting Membrane Potential and Action Potential

Chapter 12 IVP Practice Problems

Splunk for.net Developers

Development of GRASS GIS Interactive Scatter Plot Tool and implementation of support for turns in GRASS GIS vector network analyses

Using GABRIEL Excel to XML Templates

Assignment 4 CPSC 217 L02 Purpose. Important Note. Data visualization

SIMULATIONS OF PARALLEL RESONANT CIRCUIT POWER ELECTRONICS COLORADO STATE UNIVERSITY

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

ENZYMES. Serine Proteases Chymotrypsin, Trypsin, Elastase, Subtisisin. Principle of Enzyme Catalysis

Outline. 1.! Development Platforms for Multimedia Programming!

Real-Time Analytics on Large Datasets: Predictive Models for Online Targeted Advertising

The University of Chicago Booth School of Business Tools for Business Analysis: Excel and Matlab Winter, 2012.

Transcription:

Tellurium and libroadrunner in a Nutshell Herbert M Sauro University of Washington hsauro@uw.washington.edu Developed by Andy Somogyi and the software team at UW with input from Maciek Swat August 10, 2014 Herbert M Sauro (UW) Introduction August 10, 2014 1 / 22

Tellurium Tellurium is an integrated platform based on Python and spyder2. It runs on Mac, Windows and Linux. It includes the following libraries: libroadrunner: A high performance SBML simulation library. Antimony: Allows user to write models in a more human readable form. SBML2Matlab: Allows users s to export models in Matlab format In addition Tellurium comes preloaded with the Python plotting library Matplotlib and the array package numpy. Tellurium also comes with a small number of helper subroutines to make it easier for the average modeler. Herbert M Sauro (UW) Introduction August 10, 2014 2 / 22

Download the Software To download the software go to the web site: http://tellurium.analogmachine.org/ Pick the download that is appropriate for your computer. Do this now... Herbert M Sauro (UW) Introduction August 10, 2014 3 / 22

First Example Example import tellurium as te r = te.loada ( S1 -> S2; k1*s1; S2 -> S3; k2*s2; k1 = 0.1; k2 = 0.45; ) result = r.simulate (0, 40, 100) r.plot (result) Herbert M Sauro (UW) Introduction August 10, 2014 4 / 22

Example (Simple Model) S1 -> S2; k1*s1; k1 = 0.1; S1 = 10; S2 = 0 ds1 dt ds2 dt = k 1 S 1 = k 1 S 1 Herbert M Sauro (UW) Introduction August 10, 2014 5 / 22

Example (Multiple Reactions) S1 -> S2; k1*s1; S2 -> S3; k2*s2; k1 = 0.1; k2 = 0.2; ds1 dt ds2 dt ds3 dt = k 1 S 1 = k 1 S 1 k 2 S 2 = k 2 S 2 Herbert M Sauro (UW) Introduction August 10, 2014 6 / 22

Example (Rate Laws) S1 -> S2; k1*s1 - k2*s2; # Reversible S2 -> S3; Vmax*S3/(Km + S3); # Michaelis-Menten k1 = 0.1; k2 = 0.2; Vmax = 10; Km = 0,4 Herbert M Sauro (UW) Introduction August 10, 2014 7 / 22

Example (Bimolecular Reactions) S1 + S2 -> S3; k1*s1*s2; S3 -> S4 + S4; k2*s3; k1 = 0.1; k2 = 0.2; Herbert M Sauro (UW) Introduction August 10, 2014 8 / 22

Example (Fixed Species) # This is a comment # A $ means FIX the concentration of the species $S1 -> S2; k1*s1; S2 -> $S3; k2*s2; k1 = 0.1; k2 = 0.2; Herbert M Sauro (UW) Introduction August 10, 2014 9 / 22

Example (Events) # This is a comment # A $ means FIX the concentration of the species $S1 -> S2; k1*s1; S2 -> $S3; k2*s2; at (time > 5): k2 = k2*2; k1 = 0.1; k2 = 0.2; Herbert M Sauro (UW) Introduction August 10, 2014 10 / 22

Example (Named Reactions) # Name reactions are useful for getting the reaction rates J1: $S1 -> S2; k1*s1; J2: S2 -> $S3; k2*s2; k1 = 0.1; k2 = 0.2; Herbert M Sauro (UW) Introduction August 10, 2014 11 / 22

Example (Loading a Model into libroadrunner) import tellurium as te r = te.loada ( J1: $S1 -> S2; k1*s1; J2: S2 -> $S3; k2*s2; k1 = 0.1; k2 = 0.2; ) Herbert M Sauro (UW) Introduction August 10, 2014 12 / 22

Example (Standard import boiler plate) import tellurium as te import numpy import roadrunner import matplotlib.pyplot as plt Herbert M Sauro (UW) Introduction August 10, 2014 13 / 22

Example (Run a Simulation) r = te.loada ( J1: $S1 -> S2; k1*s1; J2: S2 -> $S3; k2*s2; k1 = 0.1; k2 = 0.2; ) result = r.simulate (0, 10, 100) Herbert M Sauro (UW) Introduction August 10, 2014 14 / 22

Example (Plotting Results) r = te.loada ( J1: $S1 -> S2; k1*s1; J2: S2 -> $S3; k2*s2; k1 = 0.1; k2 = 0.2; ) result = r.simulate (0, 10, 100) r.plot (result) Herbert M Sauro (UW) Introduction August 10, 2014 15 / 22

Example (Plotting Results) Herbert M Sauro (UW) Introduction August 10, 2014 16 / 22

Example (Changing Values) r = te.loada ( J1: $S1 -> S2; k1*s1; J2: S2 -> $S3; k2*s2; k1 = 0.1; k2 = 0.2; ) r.model.k1 = 12.3 r.model.s1 = 20 result = r.simulate (0, 10, 100) r.plot (result) Herbert M Sauro (UW) Introduction August 10, 2014 17 / 22

Example (Resetting the Model) r = te.loada ( J1: $S1 -> S2; k1*s1; J2: S2 -> $S3; k2*s2; k1 = 0.1; k2 = 0.2; ) result = r.simulate (0, 10, 100) r.reset() # Reset to species initial conditions r.resetall() # Reset initial conditions and parameter values r.resettoorigin() # Reset back to when the model was loaded Herbert M Sauro (UW) Introduction August 10, 2014 18 / 22

Demo Telluirum.RoadRunner Interface Herbert M Sauro (UW) Introduction August 10, 2014 19 / 22

Documentation Go to: tellurium.analogmachine.org and libroadrunner.org Herbert M Sauro (UW) Introduction August 10, 2014 20 / 22

Exercise Build a model that describes two consecutive reactions, each reaction governed by the simple Michaelis-Menten rate law S v = V m K m + S $S 1 S 2 $S 3 Note S 1 and S 3 are FIXED. Set the parameters and species to: Km1 = 0.5; Km2 = 0.5; ; Vm1 = 30; Vm2 = 20; Load the model into libroadrunner and run a simulation from time zero to time 10 time units. Plot the results. Explain what you observe. Set Vm1 = 18 and rerun the simulation, explain the results. Herbert M Sauro (UW) Introduction August 10, 2014 21 / 22

SBML The Systems Biology Markup Language (SBML) is a representation format, based on XML, for communicating and storing computational models of biological processes. It is a free and open standard with widespread software support. SBML can represent many different classes of biological phenomena, including metabolic networks, cell signaling pathways, regulatory networks, infectious diseases, and many others. As an XML format, SBML is not meant to be read or written by Humans. Herbert M Sauro (UW) Introduction August 10, 2014 22 / 22