ecoli.composites.ecoli_spatial

E. coli spatial composite

This composite is intended to run a spatial model of E. coli, where each cellular compartment is designated as a node. These nodes are connected by edges which specify how cellular compartments interface with each other. Ecoli master processes could theoretically be run within each node to run a spatially defined model of E. coli. Currently, this composite is only set up to run a diffusion model on three nodes, the two cytosol poles and the nucleoid, which are connected by two edges between the poles and the nucleoid. Furthermore, since vivarium-ecoli is not yet fully migrated, this composite initializes molecule counts from a snapshot of wcEcoli at t=0 s. This model can be run with bulk molecules, polyribosomes, or both together. If only polyribosomes are of interest, it is recommended to not include bulk molecules for faster runtime.

If polyribosomes are included, one of three assumptions must be input to define how polyribosomes’ hydrodynamic radius is calculated. Each of these assumption have significant limitations, however they likely indicate a plausible range of polyribosomes’ sizes. These assumptions are as follows:

  • spherical: This assumes that polyribosomes are spherical proteins and calculates the hydrodynamic radius from the total molecular weight of the mRNA molecules, attached ribosomes, and attached polypeptides. This is the default of the diffusion network process that is called here (and is the assumption for all bulk molecules); further details can be found in diffusion_network.py in vivarium-cell.

    • \(r_p = 0.515*MW^{0.392}\)

    • \(MW\) = molecular weight

    Ref: Schuwirth et al., Science (2005)

  • mrna: This assumes that polyribosomes are solely the mRNA molecule and calculates the hydrodynamic radius of the mRNA molecule from the nucleotide count.

    • \(r_p = 5.5*N^{1/3}\)

    • \(N\) = number of nucleotides in mRNA

    Ref: Hyeon et al., J Chem Phys. (2006)

  • linear: This assumes that polyribosomes are solely the ribosomes and calculates the radius to be half the length of the summed sizes of ribosomes. This assumption does not have a reference

    • \(r_p = \frac{n_ribosome * ribosome_size}{2}\)

Since all molecules are treated as concentrations in the diffusion network process, polyribosomes are bucketed into groups defined by the number of ribosomes attached to each mRNA molecule.

This test case uses a mesh size of 50 nm, which is used by the diffusion network process to scale diffusion constants to represent the impact that a meshgrid formed by DNA in the nucleoid has on bulk molecule and polyribosome diffusion.

Ref: Xiang et al., bioRxiv (2020)

Other vivarium-cell processes are also intended to be compatible with this composite, but are unfinished or have not been incorporated. These processes are growth_rate.py and spatial_geometry.py.

class ecoli.composites.ecoli_spatial.EcoliSpatial(config)[source]

Bases: Composer

defaults: Dict[str, Any]
{   'edges': {},
    'mesh_size': 50,
    'nodes': [],
    'radii': {},
    'seed': 0,
    'sim_data_path': 'reconstruction/sim_data/kb/simData.cPickle',
    'temp': 310.15,
    'time_step': 2.0}
generate_processes(config)[source]
generate_topology(config)[source]
initial_state(config)[source]
ecoli.composites.ecoli_spatial.add_polyribosomes(unique, unique_masses, polyribosome_assumption, save_output=False)[source]
ecoli.composites.ecoli_spatial.main()[source]
ecoli.composites.ecoli_spatial.run_spatial_ecoli(polyribosome_assumption='linear')[source]