simularium_readdy_models.actin package

Submodules

simularium_readdy_models.actin.actin_analyzer module

class simularium_readdy_models.actin.actin_analyzer.ActinAnalyzer[source]

Bases: object

Analyze data from a ReaDDy actin trajectory

static analyze_average_for_series(data)[source]

Get a list of the average per item of the given 2D data

static analyze_branch_angles(monomer_data, box_size, periodic_boundary)[source]

Get a list of the angles between mother and daughter filaments at each branch point in each frame of the trajectory

static analyze_daughter_filament_lengths(monomer_data)[source]

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

static analyze_filament_straightness(monomer_data, box_size, periodic_boundary)[source]

Get a list of the distances from each actin axis position to the ideal axis position on each filament in each frame of the trajectory

static analyze_free_actin_concentration_over_time(monomer_data, box_size)[source]

Get an array of the concentration of free actin at each step

static analyze_lateral_bond_lengths(monomer_data, box_size, periodic_boundary)[source]

Get the distance between bonds along the first mother filament, normalized to the ideal distance, trace the explicit lateral bonds

static analyze_long_helix_pitches(monomer_data, box_size, periodic_boundary)[source]

Get a list of the pitch of long helices between all actins on each filament in each frame of the trajectory

static analyze_longitudinal_bond_lengths(monomer_data, box_size, periodic_boundary)[source]

Get the distance between bonds along the first mother filament, normalized to the ideal distance, trace the implicit longitudinal bonds

static analyze_mother_filament_lengths(monomer_data)[source]

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

static analyze_pointed_end_displacement(monomer_data, box_size, periodic_boundary)[source]

Get the distance the pointed end has moved since it’s initial position over the time course of a simulation

static analyze_ratio_of_bound_ATP_actin_to_total_actin(monomer_data)[source]

Get a list of the ratio of bound ATP-actin to total actin over time

static analyze_ratio_of_bound_to_total_arp23(monomer_data)[source]

Get a list of the ratio of bound to total arp2/3 complexes over time

static analyze_ratio_of_capped_ends_to_total_ends(monomer_data)[source]

Get a list of the ratio of barbed ends capped with capping protein to all barbed ends over time

static analyze_ratio_of_daughter_to_total_actin(monomer_data)[source]

Get a list of the ratio [daughter filament actin] / [total actin] over time

static analyze_ratio_of_filamentous_to_total_actin(monomer_data)[source]

Get a list of the ratio of actin in filaments to total actin over time

static analyze_reaction_rate_over_time(reactions, time_inc_s, reaction_name)[source]

Get a list of the reaction rate per second at each analyzed timestep of the given reaction

static analyze_short_helix_pitches(monomer_data, box_size, periodic_boundary)[source]

Get a list of the pitch of short helices between all actins on each filament in each frame of the trajectory

static analyze_stddev_for_series(data)[source]

Get a list of the std deviation per item of the given 2D data

static analyze_total_twist(monomer_data, box_size, periodic_boundary, remove_bend=True)[source]

Get the total twist from monomer normal to monomer normal along the first mother filament in degrees

static neighbor_types_to_string(particle_id, frame_particle_data)[source]
static positions_to_string(particle_ids, box_size, frame_particle_data)[source]

simularium_readdy_models.actin.actin_generator module

class simularium_readdy_models.actin.actin_generator.ActinGenerator[source]

Bases: object

Generates positions, types, and edges for monomers in actin networks

static add_bound_arp_monomers(particle_ids, fiber, actin_arp_ids, particles={})[source]

add positions, types, and edges for a bound arp2 and arp3

static attach_daughter_fiber_to_mother_fiber(nucleated_arp, junction_ids, these_actin_arp_ids, mother_particle_ids, all_actin_arp_ids, second_daughter_actin_id, mother_fiber, particles={})[source]

attach daughter fiber monomers to their mother fiber monomers

static check_shift_branch_actin_numbers(particles, particle_ids)[source]

if the first actin’s number is not 2, shift the branch’s actin numbers so that it is

static get_actin_number(actin_number, offset)[source]

get the type number for an actin plus the given offset in range [-1, 1] (i.e. return 3 for type = “actin#ATP_1” and offset = -1)

static get_actins_for_linear_fiber(fiber, start_normal, start_axis_pos, direction, offset_vector, pointed_actin_number, particles={})[source]

get actin monomer data pointed to barbed for a fiber with no daughter branches

static get_cropped_fibers(fibers_data, min_extent, max_extent, position_offset=None)[source]

crop the fiber data to a cube volume defined by min_extent and max_extent and apply the position_offset

fibers_data: List[FiberData] (FiberData for mother fibers only, which should have their daughters’ FiberData attached to their nucleated arps)

# TODO handle daughter fiber connections

static get_extents(child_box_center, child_box_size)[source]

get the min and max extents within the coordinates defined by a parent box of a child box defined by center and size

static get_intersection_point_with_extents(point1, point2, min_extent, max_extent, direction=1)[source]

get the point where the line segment between the given positions intersects the bounds volume, assume bounds are a rectangular prism orthogonal to cartesian grid

static get_main_monomers_for_fiber(fiber, start_normal, start_axis_pos, offset_vector, pointed_actin_number, particles={})[source]

get the main actins for a fiber (i.e. no branches or arps)

static get_monomers(fibers_data, child_box_center=None, child_box_size=None, use_uuids=True)[source]

get all the monomer data for the (branched) fibers in fibers_data

fibers_data: List[FiberData] (FiberData for mother fibers only, which should have their daughters’ FiberData attached to their nucleated arps)

static get_monomers_for_daughter_fiber(mother_fiber, nucleated_arp, offset_vector, particles={})[source]

get any bound arps and any daughter fibers attached to this fiber

static get_monomers_for_fiber(fiber, start_normal, start_axis_pos, offset_vector, pointed_actin_number, particles={})[source]

get the main actins for a fiber as well as any bound arps and daughter fibers

static get_neighbor_actin_id(particle_id, direction, particles)[source]

get the id for an actin’s actin neighbor in the given direction

static get_next_fiber_id()[source]
static get_next_monomer_id()[source]
static get_nucleated_arp_monomer_positions(mother_fiber, nucleated_arp)[source]

get actin positions pointed to barbed for a branch

static get_point_on_plane_of_intersecting_extent(point1, point2, min_extent, max_extent, direction)[source]

get a point (which is also the normal) of the extent plane intersected by the line segment between the given points, assume bounds are a rectangular prism orthogonal to cartesian grid

static particles_to_string(particle_ids, particles, info='')[source]
static position_is_in_bounds(position, min_extent, max_extent)[source]

check if a position is within the given extents

static remove_mid_from_actin(particle_id, particles)[source]

remove the “mid” flag in the actin type_name for the monomer with particle_id

static remove_mother_mid_at_junction(actin_arp_ids, particles={})[source]

remove “mid” flags from actins near a branch junction, including the actin bound to arp2, the actin bound to arp3, as well as one actin before and two actins after the arps on the mother filament

static set_next_fiber_id(fibers_data)[source]
static set_next_monomer_id(use_uuids=True)[source]
static set_particle_type_name(type_prefix, particle_id, particles)[source]

set the type name of the particle using it’s same actin number with the new type_prefix

static setup_fixed_monomers(monomers, parameters)[source]

Fix monomers at either end of the orthogonal actin seed

simularium_readdy_models.actin.actin_reactions module

simularium_readdy_models.actin.actin_simulation module

class simularium_readdy_models.actin.actin_simulation.ActinSimulation(parameters, record=False, save_checkpoints=False)[source]

Bases: object

Creates a ReaDDy branched actin simulation

Ref: http://jcb.rupress.org/content/jcb/180/5/887.full.pdf

Params = Dict[str, float] keys: total_steps, timestep, box_size, temperature_C, viscosity, force_constant, reaction_distance, n_cpu, actin_concentration, arp23_concentration, cap_concentration, seed_n_fibers, seed_fiber_length, actin_radius, arp23_radius, cap_radius, dimerize_rate, dimerize_reverse_rate, trimerize_rate, trimerize_reverse_rate, pointed_growth_ATP_rate, pointed_growth_ADP_rate, pointed_shrink_ATP_rate, pointed_shrink_ADP_rate, barbed_growth_ATP_rate, barbed_growth_ADP_rate, nucleate_ATP_rate, nucleate_ADP_rate, barbed_shrink_ATP_rate, barbed_shrink_ADP_rate, arp_bind_ATP_rate, arp_bind_ADP_rate, arp_unbind_ATP_rate, arp_unbind_ADP_rate, barbed_growth_branch_ATP_rate, barbed_growth_branch_ADP_rate, debranching_ATP_rate, debranching_ADP_rate, cap_bind_rate, cap_unbind_rate, hydrolysis_actin_rate, hydrolysis_arp_rate, nucleotide_exchange_actin_rate, nucleotide_exchange_arp_rate, verbose

add_constraints()[source]

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

add_crystal_structure_monomers()[source]

Add monomers exactly from the branched actin crystal structure

add_fibers_from_data(fibers_data, use_uuids=True)[source]

Add fibers specified in a list of FiberData

fiber_data: List[FiberData] (FiberData for mother fibers only, which should have their daughters’ FiberData attached to their nucleated arps)

add_monomers_from_data(monomer_data)[source]

Add fibers and monomers specified in the monomer_data, in the form: monomer_data = {

“topologies”: {
[topology ID]{

“type_name”: “[topology type]”, “particle_ids”: [],

},

}, “particles”: {

[particle ID]{

“type_name”: “[particle type]”, “position”: np.zeros(3), “neighbor_ids”: [],

},

},

} * IDs are ints

add_obstacles()[source]

Add obstacle particles

add_particle_types()[source]

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

add_random_linear_fibers(use_uuids=True)[source]

Add randomly distributed and oriented linear fibers

add_random_monomers()[source]

Add randomly distributed actin monomers, Arp2/3 dimers, and capping protein according to concentrations and box size

add_reactions()[source]

Add reactions to the ReaDDy system

create_actin_system()[source]

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

do_pointed_end_translation()[source]
get_current_monomers()[source]

During a running simulation, get data for topologies of particles from readdy.simulation.current_topologies as monomers

get_pointed_end_displacements()[source]

Get parameters for translation of the pointed end of an orthogonal seed

simulate(d_time)[source]

Simulate in ReaDDy for the given d_time seconds

simularium_readdy_models.actin.actin_structure module

class simularium_readdy_models.actin.actin_structure.ActinStructure[source]

Bases: object

Measurements are from Chimera:
  • load PDB 7AQK as model #0

  • duplicate it as model #1

  • from command line run: matchmaker #0:.k #1:.l to align copied second mother actin to original pointed mother actin

  • run: measure rotation #0 #1 to measure mother axis

  • duplicate model #0 as model #3

  • from command line run: matchmaker #0:.h #3:.i to align copied second daughter actin to original first branch daughter actin

  • run: measure rotation #0 #3 to measure daughter axis

  • run: measure center #0:.[chain ID] for a = arp3, b = arp2, [h,i,j] = daughter actin, [k, l, m, n, o, p, q, r] = mother actin

  • find these values in the output from the measure commands (spatial values are multiplied by 0.1 from Angstroms to nm, angle values are in degrees)

static actin_distance_from_axis()[source]
static actin_to_actin_angle()[source]
actin_to_actin_angle_degrees = -166.94847751999998
static actin_to_actin_axis_angle()[source]
actin_to_actin_axis_distance = 2.803098763
static actin_to_actin_dihedral_angle()[source]
static actin_to_actin_distance()[source]
static actin_to_actin_repulsion_distance()[source]
static arp2_daughter1_daughter2_angle()[source]
static arp2_daughter1_daughter2_daughter3_dihedral_angle()[source]
static arp2_mother1_mother2_arp3_dihedral_angle()[source]
arp2_position = array([28.087, 30.872, 26.657])
static arp2_to_arp3_distance()[source]
static arp2_to_daughter_distance()[source]
static arp2_to_mother_distance()[source]
static arp3_arp2_daughter1_angle()[source]
static arp3_arp2_daughter1_daughter2_dihedral_angle()[source]
arp3_position = array([29.275, 27.535, 23.944])
static arp3_to_mother_distance()[source]
static bound_arp_orientation()[source]
static branch_angle()[source]
static branch_monomer_position(monomer_type)[source]

get the given monomer position

static branch_positions()[source]

get the points on the mother and daughter axes that are closest to each other

static branch_shift()[source]
daughter_axis_direction = array([ 0.31037692,  0.94885799, -0.05774669])
daughter_axis_point = array([18.64014053,  0.        , 27.03232566])
daughter_positions = array([[29.821, 33.088, 23.356],        [30.476, 36.034, 26.528],        [30.897, 38.584, 23.014]])
static mother0_mother1_arp2_angle()[source]
static mother0_mother1_arp2_daughter1_dihedral_angle()[source]
static mother1_arp2_daughter1_daughter2_dihedral_angle()[source]
static mother1_mother2_arp3_angle()[source]
static mother1_mother2_arp3_arp2_dihedral_angle()[source]
static mother1_to_arp2_vector()[source]
static mother1_to_arp3_vector()[source]
static mother1_to_branch_actin_vectors()[source]
static mother1_to_mother3_vector()[source]
static mother1_to_mother_vector()[source]
static mother2_arp3_arp2_daughter1_dihedral_angle()[source]
static mother3_mother2_arp3_angle()[source]
static mother3_mother2_arp3_arp2_dihedral_angle()[source]
static mother4_mother3_mother2_arp3_dihedral_angle()[source]
mother_axis_direction = array([ 0.99873035,  0.01436705, -0.04828331])
mother_axis_point = array([ 0.        , 22.18613682, 28.27390559])
static mother_branch_position()[source]
static mother_fiber()[source]
static mother_mother0_mother1_arp2_dihedral_angle()[source]
mother_positions = array([[19.126, 20.838, 27.757],        [21.847, 24.171, 27.148],        [24.738, 20.881, 26.671],        [27.609, 24.061, 27.598],        [30.382, 21.19 , 25.725],        [33.374, 23.553, 27.951],        [36.075, 21.642, 25.06 ],        [39.005, 22.861, 27.97 ]])
static nucleated_arp_orientation()[source]
static orientation()[source]
static vector_to_axis()[source]

simularium_readdy_models.actin.actin_test_data module

class simularium_readdy_models.actin.actin_test_data.ActinTestData[source]

Bases: object

complex_branched_actin_fiber()[source]
complex_branched_actin_monomers()[source]
linear_actin_fiber()[source]
linear_actin_monomers()[source]
simple_branched_actin_fiber()[source]

simularium_readdy_models.actin.actin_util module

class simularium_readdy_models.actin.actin_util.ActinUtil(parameters, displacements=None)[source]

Bases: object

Utility functions for ReaDDy branched actin models

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

static add_actin_dimer(position, simulation)[source]

add an actin dimer fiber

static add_actin_dimers(n, simulation)[source]

add actin dimers

static add_actin_monomers(n, simulation)[source]

add free actin

static add_actin_nucleotide_exchange_reaction(system)[source]

exchange ATP for ADP in free actin monomers

static add_actin_types(system, diffCoeff)[source]

add particle and topology types for actin

static add_arp23_bind_reaction(system)[source]

add arp2/3 along filament to start a branch

static add_arp23_dimers(n, simulation)[source]

add arp2/3 dimers

static add_arp23_nucleotide_exchange_reaction(system)[source]

exchange ATP for ADP in free Arp2/3 dimers

static add_arp23_types(system, diffCoeff)[source]

add particle and topology types for Arp2/3 dimer

static add_arp23_unbind_reaction(system)[source]

remove an arp2/3 that is not nucleated

static add_barbed_growth_reaction(system)[source]

attach a monomer to the barbed end of a filament

static add_barbed_shrink_reaction(system)[source]

remove a monomer from the barbed end of a filament

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

add bonds between actins

static add_box_potential(particle_types, origin, extent, force_constant, system)[source]

add a box potential to keep the given particle types inside a box centered at origin with extent

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

add angles for branching

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

add bonds between arp2, arp3, and actins

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

add dihedrals for branching

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

add angles for capping protein

static add_cap_bind_reaction(system)[source]

add capping protein to a barbed end to stop growth

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

add capping protein to actin bonds

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

add dihedrals for capping protein

static add_cap_types(system, diffCoeff)[source]

add particle and topology types for capping protein

static add_cap_unbind_reaction(system)[source]

remove capping protein

static add_capping_protein(n, simulation)[source]

add free capping protein

static add_debranch_reaction(system)[source]

remove a branch

static add_dimerize_reaction(system)[source]

attach two monomers

static add_dimerize_reverse_reaction(system)[source]

detach two monomers

static add_fibers_from_data(simulation, fibers_data, use_uuids=True)[source]

add (branched) actin fiber(s)

fibers_data : List[FiberData]

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

add angles for filament twist and cohesiveness

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

add dihedrals for filament twist and cohesiveness

static add_hydrolyze_reaction(system)[source]

hydrolyze ATP

static add_monomer_box_potentials(system)[source]

Confine free monomers to boxes centered at origin with extent

static add_monomers_from_data(simulation, monomer_data)[source]

add actin and other monomers

monomer_data{
“topologies”: {
“[topology ID]”{

“type_name”: “[topology type]”, “particle_ids”: []

},

“particles”: {
“[particle ID]”{

“type_name”: “[particle type]”, “position”: np.zeros(3), “neighbor_ids”: [],

},

},

} * IDs are uuid strings or ints

static add_nucleate_branch_reaction(system)[source]

add actin to arp2/3 to begin a branch

static add_nucleate_reaction(system)[source]

reversibly attach a monomer to a trimer

static add_particle_types(particle_types, system, diffCoeff)[source]

add the given particle_types to the system

static add_pointed_growth_reaction(system)[source]

attach a monomer to the pointed end of a filament

static add_pointed_shrink_reaction(system)[source]

remove a monomer from the pointed end of a filament

static add_random_linear_fibers(simulation, n_fibers, length=20, use_uuids=True)[source]

add linear actin fibers of the given length

static add_repulsions(actin_radius, arp23_radius, cap_radius, obstacle_radius, force_constant, system, util)[source]

add repulsions

static add_translate_reaction(system)[source]

translate particles by the displacements each timestep

static add_trimerize_reaction(system)[source]

attach a monomer to a dimer

static add_trimerize_reverse_reaction(system)[source]

detach a monomer from a dimer

static check_add_global_box_potential(system)[source]

If the boundaries are not periodic, all particles need a box potential to keep them in the box volume

static check_arp3_attached_to_neighbors(topology, vertex, max_edges, exclude_id=None, last_vertex_id=None)[source]

Check if an arp3 is attached to the vertex’s neighbors within max_edges

static do_arp23_unbind(topology, with_ATP)[source]

dissociate an arp2/3 from a mother filament

static do_debranching(topology, with_ATP)[source]

reaction function to detach a branch filament from arp2/3

static do_finish_grow(topology, barbed)[source]

reaction function for the pointed or barbed end growing

static do_shrink(topology, barbed, atp)[source]

remove an (ATP or ADP)-actin from the (barbed or pointed) end

static get_actin_axis_position(positions, box_size, periodic_boundary=True)[source]

get the position on the filament axis closest to an actin positions = [

previous actin position, middle actin position, next actin position

]

static get_actin_number(topology, vertex, offset)[source]

get the type number for an actin plus the given offset in range [-1, 1] (i.e. return 3 for type = “actin#ATP_1” and offset = -1)

static get_actin_rotation(positions, box_size, periodic_boundary=True)[source]

get the difference in the actin’s current orientation compared to the initial orientation as a rotation matrix positions = [prev actin position, middle actin position, next actin position]

static get_actins_near_branch(topology, recipe, v_actin_arp2, v_actin_arp3)[source]

get the 5 mother actins near a branch

static get_all_actin_particle_types()[source]

get particle types for actin

Actin filaments are polymers and to encode polarity,there are 3 polymer types. These are represented as “actin#N” where N is in [1,3]. At branch points, 2 particles arp2 and arp3 join the pointed end of a branch to the side of its mother filament. Spatially, the types are mapped like so:

  • end + end

actin#pointed_1 actin#3 actin#2 actin#1 actin#barbed_3

// // || // // // // || // // actin#2 actin#1 || actin#3 actin#2

|| || || arp3 || // || //

arp2#branched

actin#branch_1 // //

actin#2

actin#barbed_3

  • end

static get_all_arp23_particle_types()[source]

get particle types for Arp2/3 dimer

static get_all_cap_particle_types()[source]

get particle types for capping protein

static get_all_fixed_actin_particle_types()[source]

get particle types for actins that don’t diffuse

static get_all_particle_types()[source]

add the given particle_types to the system

static get_all_polymer_actin_types(vertex_type)[source]

get a list of all numbered versions of a type (e.g. for “actin#ATP” return [“actin#ATP_1”, “actin#ATP_2”, “actin#ATP_3”])

static get_box_positions(n_particles, particle_type)[source]

Get random positions for n particles of the given type either filling the simulation volume box or confined to a sub volume box

static get_branch_orientation_vertices_and_offset(topology, vertex)[source]

get orientation vertices [actin, actin_arp2, actin_arp3] for a new actin within 3 actins of a branch, as well as the offset vector

static get_new_arp23(topology)[source]

get a new arp3 and its unbranched arp2#free neighbor, meaning the arp2/3 dimer has just bound

static get_new_vertex(topology)[source]

Get the vertex tagged “new”

static get_next_actin(topology, v_actin, direction, error_if_not_found=False)[source]

get the next actin toward the pointed or barbed direction

static get_position_for_new_vertex(positions, offset_vector)[source]

get the offset vector in the local space for the actin at positions[1] positions = [

previous actin position, middle actin position, next actin position

]

static get_position_for_radial_translation(time_index, monomer_id, monomer_pos, displacement_parameters)[source]
static get_position_for_tangent_translation(time_index, monomer_id, monomer_pos, displacement_parameters)[source]
static get_prev_branch_actin(topology, vertex, last_vertex_id, max_edges)[source]

recurse up the chain until first branch actin is found or max_edges is reached

static get_random_arp2(topology, with_ATP, with_branch)[source]

get a random bound arp2 with the given arp3 nucleotide state and with or without a branch attached to the arp2

static reaction_function_arp23_unbind_ADP(topology)[source]

reaction function to dissociate an arp2/3 with ADP from a mother filament

static reaction_function_arp23_unbind_ATP(topology)[source]

reaction function to dissociate an arp2/3 with ATP from a mother filament

static reaction_function_barbed_shrink_ADP(topology)[source]

reaction function to remove an ADP-actin from the barbed end

static reaction_function_barbed_shrink_ATP(topology)[source]

reaction function to remove an ATP-actin from the barbed end

static reaction_function_cap_unbind(topology)[source]

reaction function to detach capping protein from a barbed end

static reaction_function_cleanup_shrink(topology)[source]

reaction function for finishing a reverse polymerization reaction

static reaction_function_debranching_ADP(topology)[source]

reaction function to detach a branch filament from arp2/3 with ADP

static reaction_function_debranching_ATP(topology)[source]

reaction function to detach a branch filament from arp2/3 with ATP

static reaction_function_finish_arp_bind(topology)[source]

reaction function to finish a branching reaction (triggered by a spatial reaction)

static reaction_function_finish_barbed_grow(topology)[source]

reaction function for the barbed end growing

static reaction_function_finish_cap_bind(topology)[source]

reaction function for adding a capping protein

static reaction_function_finish_pointed_grow(topology)[source]

reaction function for the pointed end growing

static reaction_function_finish_start_branch(topology)[source]

reaction function for adding the first actin to an arp2/3 to start a branch

static reaction_function_finish_trimerize(topology)[source]

reaction function for a trimer forming

static reaction_function_hydrolyze_actin(topology)[source]

reaction function to hydrolyze a filamentous ATP-actin to ADP-actin

static reaction_function_hydrolyze_arp(topology)[source]

reaction function to hydrolyze a arp2/3

static reaction_function_nucleotide_exchange_actin(topology)[source]

reaction function to exchange ATP for ADP in free actin

static reaction_function_nucleotide_exchange_arp(topology)[source]

reaction function to exchange ATP for ADP in free Arp2/3

static reaction_function_pointed_shrink_ADP(topology)[source]

reaction function to remove an ADP-actin from the pointed end

static reaction_function_pointed_shrink_ATP(topology)[source]

reaction function to remove an ATP-actin from the pointed end

static reaction_function_reverse_dimerize(topology)[source]

reaction function for a dimer falling apart

static reaction_function_reverse_trimerize(topology)[source]

reaction function for removing ATP-actin from a trimer

static reaction_function_translate(topology)[source]

reaction function to translate particles by the displacements

static set_actin_mid_flag(topology, recipe, vertex, exclude_id=None)[source]

if an actin near a reaction is a “mid” actin, add the “mid” flag, otherwise remove it

actin is “mid” unless: - it is pointed, barbed, or branch - it is within 2 neighbors from an actin bound to arp3 - it is neighbor of a pointed or branch actin

static set_actin_mid_flags_at_new_branch(topology, recipe, v_actin_arp2, v_actin_arp3)[source]

Remove the “mid” flag on all the mother actins near a branch nucleation reaction

static set_actin_mid_flags_at_removed_branch(topology, recipe, v_actin_arp2, v_actin_arp3, v_arp3)[source]

set the “mid” state on all the actins near a branch dissociation reaction

static set_arp23_vertex_position(topology, recipe, v_arp2, v_arp3, v_actin_arp2, v_actin_arp3)[source]

set the position of new arp2/3 vertices

static set_end_vertex_position(topology, recipe, v_new, barbed)[source]

set the position of a new pointed or barbed vertex

static set_new_trimer_vertex_position(topology, recipe, v_new, v_pointed, v_barbed)[source]

set the position of an actin monomer just added to a dimer to create a trimer

simularium_readdy_models.actin.actin_util.set_displacements(d)[source]
simularium_readdy_models.actin.actin_util.set_parameters(p)[source]

simularium_readdy_models.actin.arp_data module

class simularium_readdy_models.actin.arp_data.ArpData(arp_id, position, bound=True, nucleated=False, daughter_fiber=None)[source]

Bases: object

Arp branch nucleator data

arp_id = -1
assigned = False
bound = False
daughter_fiber = None
distance_from_mother_pointed = inf
get_bound_arp_rotation(mother_fiber, actin_arp2_pos)[source]

get the difference in the arp’s current orientation compared to the initial orientation as a rotation matrix

get_bound_monomer_position(actin_arp2_pos, mother_fiber, monomer_type)[source]

get the offset vector in the arp’s local space for the nearby monomers

get_closest_actin_index(particle_ids, actin_arp_ids, mother_fiber, particles)[source]

get the index of the closest actin monomer to the arp position excluding the barbed end (because that monomer would also be bound to this arp)

get_local_nucleated_monomer_position(v_mother, v_daughter, monomer_type)[source]

get the offset vector in the arp’s local space for the nearby monomers

get_nucleated_arp_rotation(v_mother, v_daughter)[source]

get the difference in the arp’s current orientation compared to the initial orientation as a rotation matrix

nucleated = False
position = None
static rotate_position_to_match_branch_angle(monomer_position, branch_angle, arp_mother_position, branch_normal)[source]

rotate a monomer position near a branch to match the actual branch angle (angles in radians)

simularium_readdy_models.actin.fiber_data module

class simularium_readdy_models.actin.fiber_data.FiberData(fiber_id, points, type_name='', is_daughter=False, nucleated_arps=None, bound_arps=None)[source]

Bases: object

Fiber network data

points is a List of numpy arrays of shape = 3

barbed_point()[source]

get the current last point, the barbed end

bound_arps = []
direction()[source]

get a normalized direction vector along the entire fiber

fiber_id = -1
get_first_segment_direction()[source]

get the direction vector of the first segment of the fiber at the pointed end

get_index_of_closest_point(position)[source]

get the index of the closest fiber point to the given position

get_index_of_curve_start_point(start_position, reverse=False)[source]

get the index of the first fiber point that defines a curve from the nearest position to the start_position optionally starting from the barbed end of the fiber

get_indices_of_closest_points(position)[source]

get the indices of the closest and next closest fiber points to the given position

get_nearest_position(position)[source]

get the nearest position on the fiber line to a given position

get_nearest_segment_direction(position)[source]

get the direction vector of the nearest segment of the fiber

get_tangents()[source]

get the tangent at each segment

is_daughter = False
nucleated_arps = []
pointed_point()[source]

get the current first point, the pointed end

points = []
points_reversed = None
reversed_points()[source]

create the points_reversed list if not already created and return it

reversed_tangents()[source]

create the tangents_reversed list if not already created and return it

tangents = []
tangents_reversed = None
type_name = ''

Module contents