Kappa practical Russ Harmer LIP, CNRS & ENS Lyon

Similar documents
Executable Knowledge for rule-based modelling of cellular signalling networks

Data Structures and Algorithms

Lesson 3.6 Overlapping Triangles

Definitions. You can represent a point by a dot and name it by a capital letter.

CS101 Computer Programming and Utilization

Generating formally certified bounds on values and round-off errors

Stephen Scott.

Transformations and coordinate geometry Student Activity Sheet 2; use with Exploring Reflections and rotations

Compiler Construction

OUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.

csci 210: Data Structures Stacks and Queues in Solution Searching

Dataflow Processing. A.R. Hurson Computer Science Department Missouri Science & Technology

Integers and Mathematical Induction

Code optimization. Have we achieved optimal code? Impossible to answer! We make improvements to the code. Aim: faster code and/or less space

Little Piece of Random

Where We Are. CMSC 330: Organization of Programming Languages. This Lecture. Programming Languages. Motivation for Grammars

Lecture 5. If, as shown in figure, we form a right triangle With P1 and P2 as vertices, then length of the horizontal

Darcs what, why and how. Ganesh Sittampalam London HUG, 24 th April 2013

VALLIAMMAI ENGINEERING COLLEGE

Lesson 2.2 Exercises, pages

September 23,

SYNERGY INSTITUTE OF ENGINEERING & TECHNOLOGY,DHENKANAL LECTURE NOTES ON DIGITAL ELECTRONICS CIRCUIT(SUBJECT CODE:PCEC4202)

IT 201 Digital System Design Module II Notes

22ND CENTURY_J1.xls Government Site Hourly Rate

CMSC 330: Organization of Programming Languages

The Three Dimensional Coordinate System

Parsing. Zhenjiang Hu. May 31, June 7, June 14, All Right Reserved. National Institute of Informatics

The NGAL Test Application Note for Roche Modular P

10703 Deep Reinforcement Learning and Control

Talen en Compilers. Johan Jeuring , period 2. January 17, Department of Information and Computing Sciences Utrecht University

CMSC 330: Organization of Programming Languages

Lecture 5: Matrices. Dheeraj Kumar Singh 07CS1004 Teacher: Prof. Niloy Ganguly Department of Computer Science and Engineering IIT Kharagpur

Topic 3: Angle measurement traversing

PowerLogic ION7300 Profibus DP. Serial Communications Protocol October 2006

Appendix 5-1: Attachment J.1 Pricing Table -1: IMS Ceiling Loaded Rates at Contractor Site

Midterm 2 Solutions Many acceptable answers; one was the following: (defparameter g1

Local Search. (Textbook Chpt 4.8) Computer Science cpsc322, Lecture 14. May, 30, CPSC 322, Lecture 14 Slide 1

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages. Architecture of Compilers, Interpreters

PROVE THEOREMS INVOLVING SIMILARITY

GEOMETRY BASIC GEOMETRICAL IDEAS. 3) A point has no dimensions (length, breadth or thickness).

CS5232 Formal Specification and Design Techniques. Using PAT to verify the Needham-Schroeder Public Key Protocol

C 30D C 5W ; E ARID ZONE RESEARCH Vol.30 No.5 Sept.2013 Nino , 2, 3 (1., ;2., ;3., )!:!"# $%&' &' ()* +,- (./0)*1 23

Finding Perimeter and Area with Coordinates

Chapter 3: Describing Syntax and Semantics. Introduction Formal methods of describing syntax (BNF)

Algebra 1 Review. Properties of Real Numbers. Algebraic Expressions

Circuit analysis summary

CSCE 314 Programming Languages

Introduction to C++ Homework Assignment. Fundamental Concepts. rvalues and lvalues. Programming Standards. A Basic Program.

arxiv: v1 [math.mg] 3 Mar 2014

Euclid. Father of Geometry Euclidean Geometry Euclid s Elements

1. For each part (a) through (d) below, state which of the three triangles, if any, are similar and why. a.

Dorel LUCANU. University Al.I.Cuza of Iaşi Department of Computer Science Berthelot Iaşi, Romania

1 I am given. (Label the triangle with letters and mark congruent parts based on definitions.)

12.4 Rotations. Learning Objectives. Review Queue. Defining Rotations Rotations

Encrypted Storage - Challenges and Methods. James Hughes Storage Technology Corporation

MST & Shortest Path -Prim s -Djikstra s

CMSC 330: Organization of Programming Languages. Context Free Grammars

STAT 5200 Handout #28: Fractional Factorial Design (Ch. 18)

Plan (next 4 weeks) 1. Fast forward. 2. Rewind. 3. Slow motion. Rapid introduction to what s in OCaml. Go over the pieces individually

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

Announcements. CS243: Discrete Structures. Strong Induction and Recursively Defined Structures. Review. Example (review) Example (review), cont.

Topic 6: Parallel and Perpendicular

Study Guide - Geometry

Department of Computer Science

is evenly divisibly by 10. What is the check digit for the mild RO TEL?

CMSC 330: Organization of Programming Languages. Context Free Grammars

Project 2 Solution. General Procedure for Model Setup

Here Scripts. Writing An HTML File With A Script

LESSON 1: Trigonometry Pre-test

Timing GMP s Integer Multiplication Algorithm

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences

CS415 Compilers. Procedure Abstractions. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

Summary. Boolean Addition

Administrivia. Next Monday is Thanksgiving holiday. Tuesday and Wednesday the lab will be open for make-up labs. Lecture as usual on Thursday.

DE to a line parallel to Therefore

slope rise run Definition of Slope

SPARE CONNECTORS KTM 2014

A.1 Numbers, Sets and Arithmetic

Areas of Difficulty Requiring Help or Assistance in the Ejs User Interface

Curve Fitting Igor Pro compared with pro Fit

DIGITAL CIRCUIT LOGIC UNIT 5: KARNAUGH MAPS (K-MAPS)

MATHEMATICS (SYLLABUS D) 4024/21 Paper 2 October/November 2016 MARK SCHEME Maximum Mark: 100. Published

Encryption as an Abstract Datatype:

4. Specifications and Additional Information

CS Prelim 2 Review Fall 2018

Lec-5-HW-1, TM basics

Solving Travelling Salesmen Problem using Ant Colony Optimization Algorithm

;/ *. 7 &9*R . C 2 <0* # "2 <AC (:* "' < %)V AB C. Downloaded from qjal.smtc.ac.ir at 23: on Sunday May 13th 2018

Plane Geometry: Reflection Across a Line Does It! at the Marin Math Circle 1

Polynomial Models Studio October 27, 2006

Introduction to Pre-Algebra Arithmetic Review. P2. The Number Line, Negative Numbers. P3. Rules of Addition +, -

Geometry Unit 5 Geometric and Algebraic Connections. Table of Contents

Finite Math - J-term Homework. Section Inverse of a Square Matrix

Spring 2010: CS419 Computer Security

Updateable fields in Lucene and other Codec applications. Andrzej Białecki

Vertical and Horizontal Translations

CONSTRUCTIONS Introduction Division of a Line Segment

Functional Programming - 2. Higher Order Functions

Theory of Computations III. WMU CS-6800 Spring -2014

Transcription:

Kappa practical http://perso.ens-lyon.fr/russell.harmer/aiv/ Russ Harmer LIP, CNRS & ENS Lyon

You need to be able to... Create and edit plain text files TextEdit, emacs,... Run the Kappa simulator from the command line sh> KaSim -i AB.ka -e 1000 -p 500 Plot the output using gnuplot gnuplot> plot data.out using 1:3 with lines

I. Binding equilibrium

Binding equilibrium http://rulebase.org/models/binding-equilibria A b a B A(b) B(a) kon A b a B koff A(b!1) B(a!1)

AB.ka http://perso.ens-lyon.fr/russell.harmer/aiv/ab.ka # agent declarations %agent: A(b) %agent: B(a) # some useful variables %var: 'fast' 10 %var: 'medium' 1 %var: 'slow' 0.1 %var: 'BND' 0.00001 %var: 'BRK' 0.1 %var: 'MOD' 0.1 # binding rule A(b), B(a) -> A(b!0), B(a!0) @ 'BND' # * 'fast' # unbinding rule A(b!0), B(a!0) -> A(b), B(a) @ 'BRK' # * 'slow' # initial state %init: 1000 A(b) %init: 1000 B(a) # count the number of AB complexes %obs: 'AB' A(b!1), B(a!1)

Running KaSim We must specify: the input file: -i the number of events or time: -e or -t number of output time points: -p e.g. sh> /Applications/Kappa/KaSim -i AB.ka -e 1000 -p 500

Displaying output KaSim outputs to the file data.out you can change this with the -o option Run gnuplot from the command line sh> /opt/local/bin/gnuplot gnuplot> set term x11 Then gnuplot> plot data.out using 1:2 with lines

Questions Time to equilibrium? What does equilibrium even mean in a stochastic setting like this? Run the model a second time: gnuplot> replot data.out using 1:2 with lines Run the model for longer: sh> KaSim -i AB.ka -t 180 -p 500

Questions What happens if you increase the binding rate by a factor of 10? increase the binding and the unbinding rate by a factor of 10?

Perturbations Modify rate constants during simulation! %mod: [T] > 100 do 'BND' := 'BND' * 10 %mod: [T] > 200 do 'BND' := 'BND' * 10 sh> KaSim -i AB.ka -t 300 -p 1000

Questions What happens if you introduce a conflict? a new agent C(a) rules for binding and unbinding of C to/from A Can you think of a way to introduce C only after A and B have reached equilibrium?

About bi-molecular rate constants kdet has dimension conc -1 time -1 usually M -1 s -1 where M = mol / l sometimes use mass concentration, e.g. g/l kstoch has dimension time -1 kdet / V has units mol -1 s -1 kstoch = kdet / AV has units molecule -1 s -1 (where V = volume in l and A = Avagadro)

About rate constants For eukaryotes, AV ~ 10 12 typical kdet ~ 10 7-10 9 M -1 s -1 so typical kstoch ~ 10-5 - 10-3 molecule -1 s -1 Unbinding is volume-independent kdet = kstoch ~ 0.1 s -1

Rescaling (a useful trick) %var: vol 1.0 Modify birth and binding rates and variables: A(b),B(a) -> A(b!0),B(a!0) @ BND / vol -> A(b) @ BIRTH * vol %init: 1000* vol A(b) Decreasing vol preserves system dynamics increases fluctuations; speeds up simulation What about increasing vol?

II. Independent binding

ABC.ka %agent: A(b) %agent: B(a,c) %agent: C(b) %var: 'vol' 1.0 %var: 'BND' 0.005 %var: 'BRK' 0.1 %var: 'MOD' 0.1 %var: 'na' 1000*'vol' %var: 'nb' 1000*'vol' %var: 'nc' 1000*'vol' A(b), B(a) -> A(b!0), B(a!0) A(b!0), B(a!0) -> A(b), B(a) B(c), C(b) -> B(c!0), C(b!0) B(c!0), C(b!0) -> B(c), C(b) @ 'BND'/'vol' @ 'BRK' @ 'BND'/'vol' @ 'BRK' %init: 'na' A(b) %init: 'nb' B(a,c) %init: 'nc' C(b) %obs: 'AB?' A(b!1), B(a!1) %obs: 'ABC' A(b!1), B(a!1,c!2), C(b!2) %obs: 'AB' 'AB?' - 'ABC' %obs: 'total ABC' 'ABC'/'vol'

Questions What is the equilibrium level of the ABC complex? What about AB and BC? How do these depend on the number of Bs? try a few different values is there a better way? (less tedious, more systematic)

Quasi-equilibrium Start out with no Bs at all! %init: na A(b) %init: nc C(b) Inject Bs 1-by-1 sufficiently slowly... -> B(a,c) @ 0.1... that the system re-equilibriates each time a new B is born!

The Prozone Effect of D Bray & S Lay B

ABC Non-monotonic in the number of Bs! why? where is the peak? Reduce the volume to speed things up...... but increase fluctuations alternatively, rewrite the model using tokens...

B

ABC Why does noise increase with the number of Bs? A different point of view on this curve: gnuplot> set logscale xy

ABC revisited Let s refine the B binds C rule B(t), C(s) -> B(t!0), C(s!0) @ k into two sub-cases: 1. if B not bound to A, @ k 1 2. if B bound to A, @ k 2 Negative co-operativity: k2 < k (and k1 > k) Positive co-operativity: k1 < k (and k2 > k)

%agent: A(s) %agent: B(s,t) %agent: C(t) %var: 'vol' 0.1 %var: 'BND' 0.005 %var: 'BRK' 0.1 %var: 'MOD' 0.1 %var: 'na' 1000*'vol' %var: 'nc' 1000*'vol' A(s), B(s,t) -> A(s!0), B(s!0,t) A(s), B(s,t!_) -> A(s!0), B(s!0,t!_) A(s!0), B(s!0) -> A(s), B(s) B(s,t), C(t) -> B(s,t!0), C(t!0) B(s!_,t), C(t) -> B(s!_,t!0), C(t!0) B(t!0), C(t!0) -> B(t), C(t) @ 'BND'/('vol'*10) @ ('BND'*10)/'vol' @ 'BRK' @ 'BND'/('vol'*10) @ ('BND'*10)/'vol' @ 'BRK' -> B(s,t) @ 0.1*'vol' %init: 'na' A %init: 'nc' C %var: 'ABC' A(s!1), B(s!1,t!2), C(t!2) %obs: 'total ABC' 'ABC'/'vol' %obs: 'B' B()

What do you think? How do negative and positive co-operativity impact upon the prozone effect?