This module declares a number of functions and variables that are used by many of the EARM 2 models. The functions can be divided into the following four categories:

  1. Functions that are specific to the models in EARM 2, but are used by all of them. The only macro of this type is
  2. Aliases to generalized macros in pysb.macros that provide default values for site names or other arguments. Macros of this type include:
  3. Macros for mechanisms that appear within the models previously published by the research group of Pingping Shen (or the model from [Howells2011], which is derived from one of Shen’s models):
  4. Macros for mechanisms that appear within the models described in our group’s earlier work, specifically the models described in [Albeck2008]:



Declare observables commonly used for the TRAIL pathway.

Declares truncated (and mitochondrial) Bid, cytosolic (i.e., released) Smac, and cleaved PARP.

earm.shared.catalyze(enz, sub, product, klist)[source]

Alias for pysb.macros.catalyze with default binding sites.

earm.shared.bind(a, b, klist)[source]

Alias for pysb.macros.bind with default binding sites.

earm.shared.bind_table(table, **kwargs)[source]

Alias for pysb.macros.bind_table with default binding sites.

earm.shared.assemble_pore_sequential(subunit, size, klist)[source]

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.

earm.shared.pore_transport(subunit, size, csource, cdest, ktable)[source]

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
earm.shared.assemble_pore_spontaneous(subunit, klist)[source]

Generate the order-4 assembly reaction 4*Subunit <> Pore.

earm.shared.displace(lig1, lig2, target, k)[source]

Generate unidirectional displacement reaction L1 + L2:T >> L1:T + L2.

The signature can be remembered with the following formula: “lig1 displaces lig2 from target.”

earm.shared.displace_reversibly(lig1, lig2, target, klist)[source]

Generate reversible displacement reaction L1 + L2:T <> L1:T + L2.

The signature can be remembered with the following formula: “lig1 displaces lig2 from target.” The first rate given in in klist specifies the forward rate of this reaction; the second specifies the reverse rate.

earm.shared.catalyze_convert(sub1, sub2, product, klist, site='bf')[source]

Automation of the Sub1 + Sub2 <> Sub1:Sub2 >> Prod two-step reaction.

Because product is created by the function, it must be fully specified.

earm.shared.one_step_conv(sub1, sub2, product, klist, site='bf')[source]

Bind sub1 and sub2 to form one product: sub1 + sub2 <> product.

earm.shared.pore_bind(subunit, sp_site1, sp_site2, sc_site, size, cargo, c_site, klist)[source]

Generate rules to bind a monomer to a circular homomeric pore.

The pore structure is defined by the pore_species macro – subunit monomers bind to each other from sp_site1 to sp_site2 to form a closed ring. The binding reaction takes the form pore + cargo <> pore:cargo.


subunit : Monomer or MonomerPattern

Subunit of which the pore is composed.

sp_site1, sp_site2 : string

Names of the sites where one copy of subunit binds to the next.

sc_site : string

Name of the site on subunit where it binds to the cargo cargo.

size : integer

Number of subunits in the pore at which binding will occur.

cargo : Monomer or MonomerPattern

Cargo that binds to the pore complex.

c_site : string

Name of the site on cargo where it binds to subunit.

klist : list of Parameters or numbers

List containing forward and reverse rate constants for the binding reaction (in that order). Rate constants should either be both Parameter objects or both numbers. If Parameters are passed, they will be used directly in the generated Rules. If numbers are passed, Parameters will be created with automatically generated names based on <TODO> and these parameters will be included at the end of the returned component list.