simularium_readdy_models.microtubules package

Submodules

simularium_readdy_models.microtubules.microtubules_analyzer module

class simularium_readdy_models.microtubules.microtubules_analyzer.MicrotubulesAnalyzer[source]

Bases: object

static analyze_protofilament_lengths(monomer_data)[source]

Get a list of the number of monomers in each mother filament in each frame of the trajectory

static get_plus_and_minus_end_neighbors(particle_id, frame_particle_data)[source]
static get_protofilaments(frame_particle_data)[source]

get a list of the number of monomers in the closed part of each protofilament at the time index

simularium_readdy_models.microtubules.microtubules_reactions module

simularium_readdy_models.microtubules.microtubules_simulation module

class simularium_readdy_models.microtubules.microtubules_simulation.MicrotubulesSimulation(parameters, record=False, save_checkpoints=False)[source]

Bases: object

Creates a ReaDDy microtubules simulation

Ref: http://jcb.rupress.org/content/jcb/217/8/2691/F7.large.jpg

Params = Dict[str, float] keys: total_steps, timestep, box_size, temperature_C, viscosity, force_constant, grow_reaction_distance, attach_reaction_distance, n_cpu, tubulin_concentration, seed_n_rings, seed_n_frayed_rings_minus, seed_n_frayed_rings_plus, seed_position_offset_x, seed_position_offset_y, seed_position_offset_z, tubulin_radius, protofilament_growth_GTP_rate, protofilament_growth_GDP_rate, protofilament_shrink_GTP_rate, protofilament_shrink_GDP_rate, ring_attach_GTP_rate, ring_attach_GDP_rate, ring_detach_GTP_rate, ring_detach_GDP_rate, hydrolyze_rate, verbose

add_microtubule_seed()[source]

Add a microtubule seed

add_microtubules_constraints()[source]

Add geometric constraints for connected microtubules particles, including bonds, angles, and repulsions, to the ReaDDy system

add_microtubules_reactions()[source]

Add reactions to the ReaDDy system

add_microtubules_types()[source]

Add particle and topology types for microtubules particles to the ReaDDy system

add_random_tubulin_dimers()[source]

Add randomly distributed tubulin dimers

create_microtubules_system()[source]

Create the ReaDDy system for microtubules including particle types, constraints, and reactions

simularium_readdy_models.microtubules.microtubules_util module

class simularium_readdy_models.microtubules.microtubules_util.MicrotubulesUtil(parameters)[source]

Bases: object

Utility functions for ReaDDy microtubules models

Parameters need to be accessible in ReaDDy callbacks which can’t be instance methods, so parameters are global

static add_angles_between_tubulins(tubulin_type_sets, force_constant, system, util)[source]

add angles between tubulins

static add_attach_reaction(system, rate_GTP, rate_GDP, reaction_distance)[source]

attach protofilaments laterally

static add_bent_site_angles(tubulin_types, force_constant, system, util)[source]

add angles between sites on bent tubulins

static add_bent_site_bonds(force_constant, system, util)[source]

add bonds between sites on bent tubulins

static add_bonds_between_tubulins(tubulin_types, force_constant, system, util)[source]

add bonds between tubulins

static add_detach_reaction(system)[source]

detach protofilaments laterally

static add_edge_site_angles(tubulin_types, force_constant, system, util)[source]

add angles between sites at the edge between tube and bent tubulins

static add_edges(microtubule, n_filaments, n_rings, n_frayed_rings_plus, n_frayed_rings_minus)[source]
add edges to a microtubule topology

with n_filaments protofilaments and n_rings rings and n_frayed_rings_plus rings at + end with outward bend and n_frayed_rings_minus rings at - end with outward bend

static add_growth_reaction(system, rate_GTP, rate_GDP, reaction_distance)[source]

add dimers to the ends of protofilaments

static add_hydrolyze_reaction(system)[source]

hydrolyze GTP-tubulinB to GDP-tubulinB

static add_microtubule(n_rings, n_frayed_rings_minus, n_frayed_rings_plus, position_offset, simulation, use_GTP=True)[source]
add seed microtubule to the simulation

with n_filaments protofilaments and n_rings rings and n_frayed_rings_minus rings at - end with outward bend and n_frayed_rings_plus rings at + end with outward bend and position_offset

static add_polymer_repulsion(particle_types, force_const, distance, system, util)[source]
adds a pairwise repulsion between all polymer numbers

of types particle_types with force constant force_const with equilibrium distance [nm]

static add_polymer_topology_species(particle_type, diffCoeff, system)[source]

adds topology species for all polymer numbers (“type1_1”, “type1_2”, “type1_3”, “type2_1”, … “type3_3”)

for type particle_type with diffusion coefficient diffCoeff [nm^2/s]

static add_shrink_reaction(system)[source]

separate dimers and oligomers from the ends of frayed protofilaments and oligomers

static add_tubulin_dimers(simulation, n_tubulin, box_size)[source]

add seed tubulin dimers to the simulation

static add_tubulin_site_angles(tubulin_types, force_constant, system, util)[source]

add angles between a tubulin and its sites

static add_tubulin_site_bonds(tubulin_types, site_types, force_constant, system, util)[source]

add bonds between a tubulin and its sites

static add_tubulin_sites(topology, recipe, tubulin, site1_type='site#new', site2_type='site#new')[source]

add a new particle attached to the tubulin for each site

static add_tubulin_types(system, diffCoeff)[source]

add tubulin topology and particle types to the system

microtubules are 2D polymers and to encode polarity in each dimension, there are 3 x 3 = 9 polymer types. These are represented as “type#x_y” where x and y are both in [1,3]. spatially, the types are mapped like so:

x_(y+1)

/

A ____/____ B / / /

  • end (x-1)_y__/___x_y__/_____(x+1)_y + end

    / / /

    /___/____/

    C / D

    /

    x_(y-1)

static cancel_attach(topology, recipe, sites)[source]

reverse an attach spatial reaction

static check_add_tubulin_sites(topology, recipe, tubulin, site1_type='site#new', site2_type='site#new')[source]

check if the tubulin should have sites added, if so add them

static check_remove_tubulin_sites(topology, recipe, tubulin, tubulin_crosslinked=False, neighbor_tubulin=None, neighbor_crosslinked=False)[source]

check if the tubulin’s sites should be removed, if so remove them

static connect_sites_between_tubulins(topology, recipe, v_sites_minus, v_sites_plus)[source]

add inter-tubulin edges between sites

static do_grow1(topology, GTP_state)[source]

start adding a tubulin dimer to the end of a protofilament: add additional particles

static do_grow2(topology)[source]

finish adding a tubulin dimer to the end of a protofilament: set types, positions, and edges

static do_shrink1(topology, GTP_state)[source]

start removing a tubulin dimer from the end of a protofilament: remove or detach particles, change particle types

static filament_is_crosslinked(topology, tubulin, direction)[source]

does the fragment starting at the given tubulin and going the given direction (-1 or 1) along a filament have any crosslinks to other filaments?

static get_all_polymer_tubulin_types(particle_type)[source]

gets a list of all polymer numbers (“type1_1”, “type1_2”, “type1_3”, “type2_1”, … “type3_3”)

for type particle_type

returns list of types

static get_all_tubulin_types()[source]

returns the list of all tubulin types

static get_attaching_sites(topology)[source]

get the ring sites that just attached in a spatial reaction

static get_filament_lengths(topology, tubulin_minus, tubulin_plus)[source]

get the lengths of the filaments, cut off the larger one at one larger than the smaller

static get_microtubule_positions_and_types(n_filaments, n_rings, n_frayed_rings_plus, n_frayed_rings_minus, frayed_angle, radius, use_GTP=True)[source]
get lists of positions and types for particles in a microtubule

with n_filaments protofilaments and n_rings rings and n_frayed_rings_plus rings at + end with outward bend and n_frayed_rings_minus rings at - end with outward bend and frayed_angle [radians] rotation of normal per bent tubulin and radius [nm]

static get_neighboring_tubulin(topology, vertex, polymer_offsets)[source]

get the next tubulin neighbor in the branch from site named direction

static get_new_sites(topology, tubulin)[source]

get new site particles attached to a tubulin

static get_polymer_indices(particle_type)[source]

get the x and y polymer index for a particle

static get_polymer_offsets(particle_types)[source]

get the offsets between two particle’s polymer indices

static get_random_tubulin_neighbors(topology, types_include, types_exclude, GTP_state, polymer_offsets)[source]

get a random pair of neighbor tubulins of the given types, GTP state, and polymer offsets

static get_tubulin_sites(topology, tubulin)[source]

get the site particles attached to this tubulin vertex

static increment_polymer_indices(polymer_indices, polymer_offsets)[source]

increment the x and y polymer index for a particle

static polymer_indices_to_string(polymer_indices)[source]

get the x and y polymer index for a particle

static rate_function_detach_ring(topology)[source]

rate function for detaching protofilaments laterally at ring sites for GTP-tubulin

static rate_function_hydrolyze(topology)[source]

rate function for hydrolyzing GTP to GDP in tubulin Bs

static rate_function_shrink_GDP(topology)[source]

rate function for removing a GDP-tubulin dimer from the end of a protofilament

static rate_function_shrink_GTP(topology)[source]

rate function for removing a GTP-tubulin dimer from the end of a protofilament

static reaction_function_attach(topology)[source]

attach tubulins laterally

static reaction_function_detach1(topology)[source]

add new sites in preparation to detach tubulins laterally

static reaction_function_detach2(topology)[source]

detach tubulins laterally

static reaction_function_grow1_GDP(topology)[source]

start adding a tubulin dimer to the end of a protofilament: add additional particles

static reaction_function_grow1_GTP(topology)[source]

start adding a tubulin dimer to the end of a protofilament: add additional particles

static reaction_function_grow2_GDP(topology)[source]

finish adding a tubulin dimer to the end of a protofilament: set types, positions, and edges

static reaction_function_grow2_GTP(topology)[source]

finish adding a tubulin dimer to the end of a protofilament: set types, positions, and edges

static reaction_function_hydrolyze(topology)[source]

hydrolyze GTP to GDP in a random tubulin

static reaction_function_shrink2(topology)[source]

finish removing a tubulin dimer from the end of a protofilament: change topology types

static reaction_function_shrink_GDP(topology)[source]

start removing a tubulin dimer from the end of a protofilament: remove or detach particles, change particle types

static reaction_function_shrink_GTP(topology)[source]

start removing a tubulin dimer from the end of a protofilament: remove or detach particles, change particle types

static remove_bent_filament_site_bonds(topology, recipe, tubulin_minus, tubulin_plus)[source]

remove bonds between the sites of tubulin1 and tubulin2

static remove_tubulin_sites(topology, recipe, tubulin)[source]

emit a tubulin’s site particles

static set_free(topology, recipe, tubulins)[source]

emit each tubulin’s site particles and change its type to tubulin#free

static setup_sites(topology, recipe, v_new_sites, position, side, normal, tangent, site_state_ring, site_state_filament)[source]

set positions, types, and intra-tubulin edges for new site particles

static topology_is_microtubule(topology)[source]

does the topology have tubulins with ring bonds? if so it has multiple protofilaments and is not just an oligomer

static tubulin_has_sites(topology, tubulin)[source]

does the tubulin have sites attached?

static tubulin_is_crosslinked(topology, tubulin)[source]

is the tubulin connected to a neighbor on each ring side?

static tubulin_is_not_crosslinked(topology, tubulin)[source]

is the tubulin missing at least one ring side connection?

static tubulins_can_attach(tubulin_types)[source]

check if tubulins can attach laterally

simularium_readdy_models.microtubules.microtubules_util.set_parameters(p)[source]

Module contents