def pore_transport(subunit, size, csource, cdest, ktable): """Alias for pysb.macros.pore_transport with default arguments. - Uses the default binding site names for the binding site on the pore and on the cargo - Uses the default pore site names for subunit-subunit binding - Uses only a single size (not a min and max size) for the size of transport-competent pores """ return macros.pore_transport(subunit, 's1', 's2', 'bf', size, size, csource, 'bf', cdest, ktable)
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 " \ "diagnostic aid. Please see\n" \ "run_bax_pore_sequential.py for example usage."