simularium_readdy_models.microtubules package¶
Submodules¶
simularium_readdy_models.microtubules.microtubules_analyzer module¶
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_microtubules_constraints()[source]¶
Add geometric constraints for connected microtubules particles, including bonds, angles, and repulsions, to the ReaDDy system
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_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_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 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_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_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_detach1(topology)[source]¶
add new sites in preparation to 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_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 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_is_crosslinked(topology, tubulin)[source]¶
is the tubulin connected to a neighbor on each ring side?