Computational Systems Biology
Sauro Lab
University of Washington
Home  |   Downloads  |   News  |   Research  |   Papers  |   About Us  |   Contact Us  |   SBW Help   |   Jobs
     


What is SBW 
Research Impact 
Published Papers 
Lab Members 
Available Positions 
CSB Links 
Courses 
Student Projects 
 
 
 
Software Downloads:

1. SBW
2. JDesigner
3. Jarnac
4. WinSCAMP
5. Matlab Interface
6. Optimization
6. Bifurcation
 
maintained by Frank Bergmann
 
 
 
 

NSR Modeling Course

Introductory Slides

Five main tools in SBW:

  1. Jarnac
  2. JDesigner
  3. Simulation Tool
  4. Translators
  5. Biomodels Importer

In this class you will learn to use Jarnac and the General Simulation Tool.

New Text Book: Enzyme Kinetics for Systems Biology

Purchase from Amazon for $29.95 or during the workshop for only $20.

Future details at Blog and Books

Jarnac Scripts

A simple model

// Simple model that simulates two reactions

p = defn cell
     S1 -> S2; k1*S1;
     S2 -> S3; k2*S2;
end;

p.S1 = 10;
p.S2 = 0;
p.S3 = 0;

p.k1 = 0.2;
p.k2 = 0.6;

m = p.sim.eval (0, 25, 100);
graph (m);

Driving a model by an external forcing function

// Simple model that simulates two reactions where
// the first species, S1, is driven by a sine wave

p = defn cell
     
     ext S1, S3;
     
     // Sinusoidal input
     S1 = 1 + sin (time*alpha);
     
     // Dollar symbol means the species does not have an ODE
     $S1 -> S2; k1*S1;
     S2 -> $S3; k2*S2;
end;

p.S1 = 10;
p.S2 = 0;
p.S3 = 0;

p.k1 = 0.2;
p.k2 = 0.6;
p.alpha = 1.2;

m = p.sim.eval (0, 40, 200);
graph (m);   

Implement a simple event, perturb a parameter

// A simple way to implement events
p = defn simple_reaction

  v1: $Xo -> S1; k1*Xo;
  v2:  S1 -> $w;  k2*S1;
  
end;

// Initialize constants
p.k1 = 1; p.k2 = 1; p.S1 = 5; p.Xo = 1;

// Time course simulation
m1 = p.sim.eval (0, 20, 100);

// Perturb another parameter, cause an event
p.k1 = p.k1 * 2;

// Start the simulation at 20 time units!
m2 = p.sim.eval (20, 40, 100);

// Perturb another parameter
p.k2 = p.k2 * 10;

// Start the simulation at 20 time units!
m3 = p.sim.eval (40, 60, 100);

// Merge the three matrices together
m = augr (m1, m2, m3);
graph (m);

Implement a simple event, perturb a molecular species

// A simple way to implement events
p = defn simple_reaction

  v1: $Xo -> S1; k1*Xo;
  v2:  S1 -> $w;  k2*S1;
  
end;

// Initialize constants
p.k1 = 1; p.k2 = 1; p.S1 = 5; p.Xo = 1;

// Time course simulation
m1 = p.sim.eval (0, 20, 100);

// Perturb another parameter, cause an event
p.S1 = p.S1 * 2;

// Start the simulation at 20 time units!
m2 = p.sim.eval (20, 40, 100);

// Perturb another parameter, cause an event
p.S1 = p.S1 / 2;

// Start the simulation at 20 time units!
m3 = p.sim.eval (40, 60, 100);

// Merge the three matrices together
m = augr (m1, m2, m3);
graph (m);

System with Positive Feedback

p = defn cell

  $Xo -> S1; 0.5 + Vmax*S1^n/(15 + S1^n);
  S1 -> $X1; k1*S1;
end;

p.Xo = 1;
p.X1 = 0;
p.S1 = 1;
p.n = 4;
p.Vmax = 10;
p.k1 = 2;

m = p.sim.eval (0, 4, 100);
graph (m);
ghold ();
for i = 1 to 10 do 
    begin
    p.S1 = rnd (5);
    m = p.sim.eval (0, 4, 100);
    graph (m);
    end;
ghold ();

Simple Feedback Oscillator

p = defn feedback
     J0: $X0 -> S1; J0_VM1*(X0-S1/J0_Keq1)/(1+X0+S1+pow(S4,J0_h));
     J1: S1 -> S2; (10*S1-2*S2)/(1+S1+S2);
     J2: S2 -> S3; (10*S2-2*S3)/(1+S2+S3);
     J3: S3 -> S4; (10*S3-2*S4)/(1+S3+S4);
     J4: S4 -> $X1; J4_V4*S4/(J4_KS4+S4);
end;

p.X0 = 10;
p.X1 = 0;
p.S1 = 0;
p.S2 = 0;
p.S3 = 0;
p.S4 = 0;

p.J0_VM1 = 10;
p.J0_Keq1 = 10;
p.J0_h = 10;
p.J4_V4 = 2.5;
p.J4_KS4 = 0.5;

m = p.sim.eval (0, 50, 500, [<p.time>, <p.S1>]);
graph (m);

Simple Relaxation Oscillator

p = defn cell
  $Xo -> So; k0*Xo;
   So -> S1; k1*So + Vmax*So*S1^n/(15 + S1^n);
   S1 -> $X1; k2*S1;
end;

p.Xo = 1;
p.X1 = 0;
p.S1 = 1;
p.n = 4;
p.Vmax = 12;
p.k0 = 0.044;
p.k1 = 0.01;
p.k2 = 0.1;

m = p.sim.eval (0, 800, 800);
graph (m);

 
tutorials/jbb2011.txt · Last modified: 2011/08/26 16:44 by hsauro
 

    Home  |   About Us  |   Contact Us  |   Statistics
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki