Composition in Modeling Macromolecular Regulatory Networks Ranjit Randhawa September 9th 2007
Embed Size (px)
Transcript of Composition in Modeling Macromolecular Regulatory Networks Ranjit Randhawa September 9th 2007
Composition in Modeling Macromolecular Regulatory NetworksRanjit RandhawaSeptember 9th 2007
Motivation/ProblemModels are reaching the limits of human comprehensionMaking the model suitable for stochastic simulation increases the number of reactions by a factor of 3-5Models of the Mammalian cell cycle will require 100-1000 (more for stochastic simulation)
Our ApproachWe recognize four distinct activities related to model decompositionFusion: Take existing models and merge themComposition: Build up from existing models, no information hidingAggregation: Build up from building blocks, controlled interfacesFlattening: Merge the building blocks back into a flat (non-composed) model
FusionGiven two or more existing models, we wish to create a new model that combines the informationRemains standard SBMLWe provide a tool to support users combining modelsImplemented in wizard style
CompositionConnects submodels together to form a hierarchy of modelsSubmodels are each valid SBML modelsAdd language features to SBML to support compositionDescribe hierarchyDescribe interactions, links, replacementsNo information hiding within models
Composition and the Fusion WizardThere are significant similarities between fusion and compositionFusion defines a series of steps taken to merge modelsSeries of steps captured by the fusion tool can be viewed as an audit trail used in generating the mapping tablesPrecisely this same information can be used to describe the set of instructions needed to connect/link the submodels for composition
Is Composition the Right Model?Composition allows us to take existing models and use them as components to build larger modelsNo information hidingSubmodels might fit together more or less wellLinks let us replace things in one model with things in anotherGood for legacy models (?)We might do better to build models from components designed to work as components, with proper information hiding
AggregationIn aggregation, models are built up from components designed for aggregation.Each component could be, for example, a collection of reactionsThis collection exposes certain variables for input/output via ports/interfacesHopefully this is a natural concept for modelersNot intended as a solution for reusing legacy models
FlatteningThe purpose of flattening is to generate a standard SBML file from our modified file, for the purpose of running simulations, etc.An automated form of fusionThe composition/aggregation language features provide exactly what the user would provide in fusion, so automation is possible
SBML Language Features
Contains 1 or more structures (which can be flat or composed models)
Allows for multiple instances of the same model
Types (merge/replacement)Enables grouping (e.g. N to N links)Ignore/Exclude abilityA link with an empty field
SBML Language Features
Input/output portsCurrently species are outputs and parameters are inputsBoolean input attributePorts connect to:ParametersSpeciesOther ports (used for multiple level aggregation)Modifiers (?)Modifiers will need to be special input ports (hence the use of the input field/attribute)Or can one just replace modifiers with parameters?
Instance and Links Syntax
Status of ToolsFusion WizardImplementedComposition WizardImplemented and combined with Fusion tool to produce the Fusion/Composition Wizard (needs a new name)Aggregation ConnectorImplemented prototypeCurrently working to be able to traverse up/down aggregation tree.Flattening AlgorithmImplemented for CompositionNeed to extend it for Aggregation as well
Evaluation How does one evaluate the approaches?What are the metrics?How will we know if we are successful?How to recognize a solution?
Creating Larger Models3 sample models from Tyson & Novak 2001Approaches:Submodels fused togetherAdditional components added to fused model (in red)Submodels composed togetherAdditional components added to composed model (in red)Modified submodels aggregated together
Initial Fused Model
Fused Model with New Components
Conceptual Composed Model
Implemented Composed Model
Screen shots Composition WizardFinal Species Mapping Table
Screen shots Composition WizardFinal Reaction Mapping Table
Screen shots Aggregation Connector
ObservationsFusion1st round of submodel construction1st round of fusion2nd round of model construction (adding additional components)Composition1st round of submodel construction 1st round of composition (resolving components and first round of linking)2nd round of model construction (updating reactions and adding new components)2nd round of composition (resolving newly added components and second round of linking)Aggregation1st round of submodel construction1st round of aggregation (linking ports)
Iterative process to make larger models by merging two or more submodels together.Unlike composition (where submodels are referenced but not modified), fusion takes the the submodels and actually makes changes to them as part of the process of combining them together.The goal is to combine submodels into a single unified model containing all the information of the original collection, without any redundancies that might occur across submodels in the original collection.
Both composition and fusion should produce the same results, as the output of both fused and composed models should be identical during simulation.While fusion combines submodels together in an irreversible way, composition simply references submodel components by defining the ``glue'' that holds the submodels together.
A major difference is that in fusion the explicit description of relationships between entities within submodels is lost, while composition keeps a "record" of how models were composed/connected together.