LoLab-MSM / pysb

Python framework for Systems Biology modeling [Lopez Lab Mods]
BSD 2-Clause "Simplified" License
6 stars 8 forks source link

Support for identical components in Monomers #18

Open lh64 opened 9 years ago

lh64 commented 9 years ago

BioNetGen allows molecules to have multiple copies of identical components. For example, one might want to model a receptor with two identical binding sites for ligand. In BNGL, this can be done by defining ligands as L(r) and receptors as R(l,l) and writing the rule:

L(r) + R(l) <-> L(r!1).R(l!1) kf,kr

BioNetGen then automatically calculates all appropriate symmetry factors and includes them in the rate constants for reactions. In this case, the reaction L(r) + R(l,l) -> L(r!1).R(l,l!1) has an effective rate constant of 2*kf because ligand can bind to either of the two 'l' sites on the receptor. This is a very powerful feature of BioNetGen that is currently not supported by PySB. To fix this, we either need to allow identical components in the definition of monomers or we need to include code for calculating symmetries inside macros.