Presentation is loading. Please wait.

Presentation is loading. Please wait.

Three approaches to model reuse.

Similar presentations


Presentation on theme: "Three approaches to model reuse."— Presentation transcript:

1 Three approaches to model reuse.
Three approaches to model reuse. Boxes with gray tabs represent Python modules/files. Statements marked ‘Reuse’ identify the point of reuse of previously created model code. Background highlighting indicates correspondence between elements in the reuse schematic and the PySB code. (A) Direct reuse and subsequent modification of pre‐existing model code. A pre‐existing model is declared in its own Python file ( earm_1_0.py). The extending model in the file earm_1_3.py (representing a later version) imports and duplicates the model object from earm_1_0.py and subsequently adds a list of synthesis and degradation reactions. (B) Reuse of modules using macros. Macros instantiating the components for the upstream ( rec_to_bid) and downstream ( pore_to_parp) portions of the extrinsic apoptosis pathway are placed in a Python file, earm_modules.py. Variant models differing only in the reaction topology for MOMP initiation (e.g., model_variant.py) are then created by invoking these macros for the shared upstream and downstream elements. (C) Reuse and recombination of model elements through class inheritance. A shared implementation of the compartmentalization‐independent reactions for Bax activation (i.e., tBid_activates_Bax) is contained within the base class CptBase. Alternative compartmentalization strategies are implemented in the child classes TwoCpt and MultiCpt, which separately implement the compartmentalization‐dependent reactions for tBid and Bax translocation (i.e., translocate_tBid_Bax). Because these classes inherit from CptBase, they acquire the implementation of tBid_activates_Bax, representing a point of reuse. Alternative protein‐interaction topologies are implemented within the build_model function in the two classes Topo1 and Topo2. Models with either of the compartmentalization implementations (e.g., TwoCpt) and either of the interaction topologies (e.g., Topo1) can then be created dynamically by inheriting from the appropriate classes, representing an additional point of reuse. Readers familiar with the concept of polymorphism from object‐oriented programming will note that calling the build_model method on any of the hybrid classes will polymorphically refer to the correct implementations in the parent classes. Carlos F Lopez et al. Mol Syst Biol 2013;9:646 © as stated in the article, figure or figure legend


Download ppt "Three approaches to model reuse."

Similar presentations


Ads by Google