multistate modeling and simulation for regulatory networks
DESCRIPTION
Multistate Modeling and Simulation for Regulatory Networks. Zhen Liu, Clifford A. Shaffer, Umme Juka Mobassera , Layne T. Watson, and Yang Cao Department of Computer Science Program in Genetics, Bioinformatics, and Computational Biology Virginia Tech. G1. - PowerPoint PPT PresentationTRANSCRIPT
MultistateMultistateModeling and SimulationModeling and Simulationfor Regulatory Networksfor Regulatory Networks
Zhen Liu, Clifford A. Shaffer, Umme Zhen Liu, Clifford A. Shaffer, Umme Juka Mobassera, Layne T. Watson, and Juka Mobassera, Layne T. Watson, and
Yang CaoYang Cao
Department of Computer ScienceDepartment of Computer Science
Program in Genetics, Bioinformatics, Program in Genetics, Bioinformatics, and Computational Biologyand Computational Biology
Virginia TechVirginia Tech
Goal: Modeling the Cell Goal: Modeling the Cell CycleCycle
(John Tyson)(John Tyson)
DNAreplication
G1
Sce
ll divisi
on
G2M(mitosis)
Regulatory Network Regulatory Network ModelingModeling
Model using a series of chemical Model using a series of chemical reactions.reactions. The actors are proteins (“chemical The actors are proteins (“chemical
species”) whose interaction rates are species”) whose interaction rates are modeled by rate lawsmodeled by rate laws
Species are created, consumed, combinedSpecies are created, consumed, combined Populations can rise and fall, under the Populations can rise and fall, under the
control of other speciescontrol of other species Loops and cyclesLoops and cycles
Decomposition of ModelsDecomposition of Models Modelers find it natural to divide into Modelers find it natural to divide into
“bundles” of reactions.“bundles” of reactions.
Multistate Phosphorylation Multistate Phosphorylation MotifMotif
Blocks relate to naturally occurring Blocks relate to naturally occurring motifsmotifs
Example: antagonistic interaction Example: antagonistic interaction between Clb2 and Cdh1, with Cdc14 between Clb2 and Cdh1, with Cdc14 as the control variable driving as the control variable driving phosphorylation of Cdh1phosphorylation of Cdh1 Forms a bi-stable switchForms a bi-stable switch
Multistate VersionMultistate Version
The reality is more complex, as a The reality is more complex, as a protein can undergo multiple levels protein can undergo multiple levels of phosphorylation, which can affect of phosphorylation, which can affect the behavior of the larger systemthe behavior of the larger system
Multistate ModelingMultistate Modeling Equations on chemical species with Equations on chemical species with
multiple states, related in some multiple states, related in some meaningful waymeaningful way
Expressing as single-state equations Expressing as single-state equations would require dozens of reactions.would require dozens of reactions.
JigCell Model Builder JigCell Model Builder SupportSupport
ProblemsProblems Complications arise from the potential Complications arise from the potential
combinatorial explosion of states in combinatorial explosion of states in complexescomplexes
Example: Two multistate species each Example: Two multistate species each with 10 states could form complexes with 10 states could form complexes with potentially 100 states.with potentially 100 states.
A{A{ii} + B{} + B{jj} -> AB{} -> AB{ii,,jj}} This presents challenges to simulation.This presents challenges to simulation.
Stochastic SimulationStochastic Simulation Reaction models have often been Reaction models have often been
modeled using ODEsmodeled using ODEs Track concentrations of chemical speciesTrack concentrations of chemical species
ODE models cannot account for ODE models cannot account for stochastic effectsstochastic effects Small numbers for some species (RNA)Small numbers for some species (RNA) Variations in inputs => Differing outputsVariations in inputs => Differing outputs Simulation ensemble => DistributionSimulation ensemble => Distribution
Gillespie’s SSA (1)Gillespie’s SSA (1)
N molecular species {SN molecular species {S11, …, S, …, SNN}.}. M reaction channels {RM reaction channels {R11, … R, … RMM}.}. For reaction channel RFor reaction channel Rjj::
Propensity function aPropensity function ajj
State change vector vState change vector vjj = (v = (v1,j1,j, …, v, …, vN,jN,j)) aajj(x)dt gives probability that one R(x)dt gives probability that one Rjj reaction reaction
will occur in next infinitesimal time interval will occur in next infinitesimal time interval given state vector x.given state vector x.
Gillespie’s SSA (2)Gillespie’s SSA (2)
Select two random numbers rSelect two random numbers r11 and r and r22
Let aLet a00(x) be the sum for all the (x) be the sum for all the reaction propensities on state vector reaction propensities on state vector x.x.
Time for next reaction to occur is t + Time for next reaction to occur is t +
= 1/a= 1/a00(x) log (1/r(x) log (1/r11).).
Gillespie’s SSA (3)Gillespie’s SSA (3) Index j for next reaction is given by Index j for next reaction is given by
smallest integer satisfyingsmallest integer satisfying
aall(x) > r(x) > r22aa00(x).(x). System state updated after each reaction, System state updated after each reaction,
including populations and propensitiesincluding populations and propensities Observations:Observations:
A population-based simulationA population-based simulation SSA calculates propensities for SSA calculates propensities for reactionsreactions
Rule-Based ModelingRule-Based Modeling A rule defines how a molecular particle A rule defines how a molecular particle
reacts with other particlesreacts with other particles AAopen,?,? open,?,? + B ---> A+ B ---> AB,?,?B,?,?
Subscripts describe the matching Subscripts describe the matching configurations for binding sitesconfigurations for binding sites
Convenient for representationConvenient for representation Updating propensities of rules faster(?) Updating propensities of rules faster(?)
than updating propensities of reactionsthan updating propensities of reactions
krule
Network-Free Algorithm (1)Network-Free Algorithm (1)
(Sneddon et al. 2008)(Sneddon et al. 2008) Alternative to turning rules into Alternative to turning rules into
collections of reactions and performing collections of reactions and performing SSA.SSA.
Conceptually similar to SSA, butConceptually similar to SSA, but Calculate propensities for rules.Calculate propensities for rules. Particle based (not population based)Particle based (not population based) Keep list of particles associated with each Keep list of particles associated with each
rulerule
Network-Free Algorithm (2)Network-Free Algorithm (2)
Simulation loop:Simulation loop: Calculate propensity for each rule Calculate propensity for each rule
(cheaper than SSA)(cheaper than SSA) Calculate rule and time of next eventCalculate rule and time of next event Select particles from associated listSelect particles from associated list Update the particle lists as necessary Update the particle lists as necessary
(major expense)(major expense)
Population-Based NFA Population-Based NFA (PNFA)(PNFA)
(Our first contribution)(Our first contribution) Modification to NFA: (go back to) using Modification to NFA: (go back to) using
populations for single-state speciespopulations for single-state species Hybrid particle/population approachHybrid particle/population approach
Attempts to cut down on the size of the Attempts to cut down on the size of the lists associated with the ruleslists associated with the rules
Can be viewed as an optimization to NFACan be viewed as an optimization to NFA at worst degrades to NFAat worst degrades to NFA
Full-Scale SSA (FSSSA) (1)Full-Scale SSA (FSSSA) (1) (Our second contribution)(Our second contribution) Use populations even for multi-state Use populations even for multi-state
speciesspecies Should work well unless there is a small Should work well unless there is a small
population spread across many statespopulation spread across many states Can view as more direct conversion of Can view as more direct conversion of
SSA to rules (pure population-based SSA to rules (pure population-based approach)approach)
Full-Scale SSA (FSSSA) (2)Full-Scale SSA (FSSSA) (2)
For each species, store an array of For each species, store an array of populations (one for each state)populations (one for each state)
Might be a sparse arrayMight be a sparse array Store with each rule the population Store with each rule the population
count for all associated reactantscount for all associated reactants
Full-Scale SSA (FSSSA) (3)Full-Scale SSA (FSSSA) (3) Simulation loop:Simulation loop:
Calculate propensity for each rule (cheaper Calculate propensity for each rule (cheaper than SSA)than SSA)
Calculate rule and time of next eventCalculate rule and time of next event Select a state for each reactant from the Select a state for each reactant from the
population arraypopulation array Update populations of affected species Update populations of affected species
(states) and population counts for associated (states) and population counts for associated rules (might require modifying arrays)rules (might require modifying arrays)
Comparisons: SelectionComparisons: Selection
SSA does linear search through SSA does linear search through reactionsreactions
NFA, PNFA do linear search through NFA, PNFA do linear search through rules, then select qualifying objects rules, then select qualifying objects from associated reactant listsfrom associated reactant lists
FSSSA does linear search through FSSSA does linear search through rules, only needs to search state lists rules, only needs to search state lists (populations)(populations)
Comparisons: UpdateComparisons: Update
SSA updates populations of some SSA updates populations of some reaction’s reactants and productsreaction’s reactants and products
NFA must create/destroy molecule NFA must create/destroy molecule objects, and update associate rule objects, and update associate rule listslists
PNFA same, but does little work on PNFA same, but does little work on single-state species populationssingle-state species populations
FSSSA updates sparse matrix info.FSSSA updates sparse matrix info.
Bi-stable Switch ModelBi-stable Switch Model
Reaction-based form:Reaction-based form: 12 species12 species 44 reactions44 reactions
Rule-based form:Rule-based form: 1 single-state species, 1 multi-state1 single-state species, 1 multi-state 7 rules7 rules Non-zero populations in each stateNon-zero populations in each state
Simulation Times: SwitchSimulation Times: Switch
Total CPU Time
Propensity Update
Reactant Selection
System Update
Other
SSA 115 72.0 30.6 5.3 7.1
NFA 341 11.1 34.0 286.0 9.9
PNFA 246 9.9 26.2 200.8 9.1
FSSSA 117 9.2 32.4 66.2 9.2
Cell Cycle ModelCell Cycle Model Reaction-based form:Reaction-based form:
58 species, 185 reactions58 species, 185 reactions Rule-based form:Rule-based form:
17 single-state species, 6 multi-state17 single-state species, 6 multi-state 64 rules64 rules Half the states have zero populationHalf the states have zero population Observation: Affecting one multi-state Observation: Affecting one multi-state
species affects only a smaller fraction of all species affects only a smaller fraction of all the rulesthe rules
Simulation Times: Cell CycleSimulation Times: Cell Cycle
Total CPU Time
Propensity Update
Reactant Selection
System Update
Other
SSA 171 143.3 23.5 1.4 2.8
NFA 133 36.4 20.4 72.5 3.7
PNFA 113 34.0 17.6 58.6 2.8
FSSSA 64 32.8 18.2 10.5 2.5
Simulation Quality (1)Simulation Quality (1)
Simulation Quality (2)Simulation Quality (2)
This graph shows distribution of This graph shows distribution of population for Clb2, one of the population for Clb2, one of the species in the cell cycle model.species in the cell cycle model.
The significance is that it indicates The significance is that it indicates that each simulation algorithm gives that each simulation algorithm gives approximately the same ensemble of approximately the same ensemble of outputs.outputs.
Complexity AnalysisComplexity Analysis