def assemble_pore_sequential(subunit, size, klist): """Alias for pysb.macros.assemble_pore_sequential with default sites. Uses default pore site names as the sites for subunit-subunit binding in the pore. """ return macros.assemble_pore_sequential(subunit, 's1', 's2', size, klist)
# Start with monomeric Bax and Smac in the mitochondrion Initial(Bax(s1=None, s2=None, t=None), Bax_0) Initial(Smac(loc='m', t=None), Smac_0) # Maximum number of subunits in a pore max_size = 6 # Size at which pores are "competent" to transport cargo min_transport_size = 4 # Build handy rate "sets" (in this formulation, rates don't vary with pore size) assembly_rates = [[2e-4, 1e-3]] * (max_size - 1) transport_rates = [[3e-5, 1e-3, 1e1]] * (max_size - min_transport_size + 1) # Assemble the pore # (specify t=None so the pore can't fall apart while it's bound to cargo) assemble_pore_sequential(Bax(t=None), 's1', 's2', max_size, assembly_rates) # Transport Smac pore_transport(Bax, 's1', 's2', 't', min_transport_size, max_size, Smac(loc='m'), 't', Smac(loc='c'), transport_rates) # Add an observable for each pore size for size in range(1, max_size + 1): Observable('Bax%d' % size, pore_species(Bax, 's1', 's2', size)) # Observe unbound Smac in each compartment Observable('mSmac', Smac(loc='m', t=None)) Observable('cSmac', Smac(loc='c')) if __name__ == '__main__': print __doc__, "\n", model print "\nNOTE: This model code is designed to be imported and programatically " \ "manipulated,\nnot executed directly. The above output is merely a " \
# Start with monomeric Bax and Smac in the mitochondrion Initial(Bax(s1=None, s2=None, t=None), Bax_0) Initial(Smac(loc='m', t=None), Smac_0) # Maximum number of subunits in a pore max_size = 6 # Size at which pores are "competent" to transport cargo min_transport_size = 4 # Build handy rate "sets" (in this formulation, rates don't vary with pore size) assembly_rates = [[2e-4, 1e-3]] * (max_size - 1) transport_rates = [[3e-5, 1e-3, 1e1]] * (max_size - min_transport_size + 1) # Assemble the pore # (specify t=None so the pore can't fall apart while it's bound to cargo) assemble_pore_sequential(Bax(t=None), 's1', 's2', max_size, assembly_rates) # Transport Smac pore_transport(Bax, 's1', 's2', 't', min_transport_size, max_size, Smac(loc='m'), 't', Smac(loc='c'), transport_rates) # Add an observable for each pore size for size in range(1, max_size + 1): Observable('Bax%d' % size, pore_species(Bax, 's1', 's2', size)) # Observe unbound Smac in each compartment Observable('mSmac', Smac(loc='m', t=None)) Observable('cSmac', Smac(loc='c')) if __name__ == '__main__': print __doc__, "\n", model print "\nNOTE: This model code is designed to be imported and programatically " \