SpindleAssembly package

This module contains functions that import and connect standard spindle parts into a structural assembly of the whole spindle.

Submodules

SpindleAssembly.AddComponents module

SpindleAssembly.AddComponents.add_centrosome(position, **kwargs)[source]

Generate and add centrosome

Parameters:
  • position – ‘right’ or ‘left’ -> positioning of centrosome in the spindle
  • kwargs – object
Returns:

Null

SpindleAssembly.AddComponents.add_connectors(pos1, pos2, MTname1, MTname2, z, **kwargs)[source]

Generate and add connectors to couple ipMT pair

Parameters:
  • pos1 – (x, y, z) of the 1-st ipMT of the pair to be connected
  • pos2 – (x, y, z) of the 2-nd ipMT of the pair to be connected
  • z – numpy array of connector positions along z coordinate
  • kwargs – dictionary -> keyword arguments
Returns:

list -> list of connector names, float -> angle of connector orientation

SpindleAssembly.AddComponents.add_microtubule(l, type, i, **kwargs)[source]

Generate and add microtubules to the assembly

Parameters:
  • l – length of the microtubule
  • type – ‘ipMT’ or ‘aMT’ -> Either interpolar or astral microtubule
  • i – number of MT
  • kwargs – object
Returns:

p -> microtubule part, MTname -> (string) name of the MT

SpindleAssembly.AddComponents.create_MT_instance(type, i, **kwargs)[source]

create abaqus instance that contain a single microtubule

Parameters:
  • type – ‘ipMT’ or ‘aMT’ -> interpolar or astral microtubule
  • i – number of microtubule
  • kwargs – object
Returns:

l -> (float) length of MT, p -> (object) MT part, MTname -> (string) name of MT

SpindleAssembly.AddComponents.generate_MT_length(type, **kwargs)[source]

calculate length of an MT based on its type

Parameters:
  • type – ‘ipMT’ or ‘aMT’ -> interpolar or astral microtubules
  • kwargs – object
Returns:

l -> (float) length of the MT

SpindleAssembly.AddComponents.return_assembly(**kwargs)[source]

Return the current assembly

Parameters:kwargs – object
Returns:a -> (object) current assembly

SpindleAssembly.PositionComponents module

SpindleAssembly.PositionComponents.assign_aMT(type, **kwargs)[source]

Add and position astral microtubules

Parameters:
  • type – ‘right’ or ‘left’ -> specify the pole that aMTs should be attached to
  • kwargs – object
Returns:

aMTnames -> (list) list of aMT names positions -> (list of tuples) global coordinates of starting end of each aMT

SpindleAssembly.PositionComponents.assign_ipMTs_left(pos, i, **kwargs)[source]

Position interpolar microtubules to start from the left centrosome

Parameters:
  • pos – (x, y) -> coordinates of MT
  • i – number of MT
  • kwargs – object
Returns:

MTname -> (string) name of ipMT, zBeginPos -> (float) z coordinate of the starting end of ipMT in global coordinates zEndPos -> (float) z coordinate of the growing end of ipMT in global coordinates l -> (float) length of ipMT

SpindleAssembly.PositionComponents.assign_ipMTs_right(pos, i, **kwargs)[source]

Position interpolar microtubules to start from the right centrosome

Parameters:
  • pos – (x, y) -> coordinates of MT
  • i – number of MT
  • kwargs – object
Returns:

MTname -> (string) name of ipMT, zBeginPos -> (float) z coordinate of the starting end of ipMT in global coordinates zEndPos -> (float) z coordinate of the growing end of ipMT in global coordinates l -> (float) length of ipMT

SpindleAssembly.PositionComponents.generate_aMT_position(type, **kwargs)[source]

Calculate the position of astral microtubules within the spindle

Parameters:
  • type – ‘right’, ‘left’ -> either left or right centrosome bound aMTs specified
  • kwargs – object
Returns:

pos -> (x, y, z) global coordinates of the starting end of aMT theta -> orientation angle 1 in spherical coordinates phi -> orientation angle 2 in spherical coordinates

SpindleAssembly.PositionComponents.position_aMT(a, MTname, type, **kwargs)[source]

Position astral microtubule within the spindle

Parameters:
  • a – current assembly
  • MTname – name of aMT
  • type – ‘left’ or ‘right’ -> specifies to which pole the aMT is attached
  • kwargs – object
Returns:

pos -> (x, y, z) global cartesian coordinates of the starting end of aMT

SpindleAssembly.PositionConnectors module

SpindleAssembly.PositionConnectors.attach_connectors(data, **kwargs)[source]

Create attachment wire between two vertexes and define the properties of connection

Parameters:
  • data – list containing all ipMTs and connectors of the model
  • kwargs – dictionary -> keyword arguments
Returns:

Null

SpindleAssembly.PositionConnectors.generate_connector_positions(pos1, pos2, MTtype, **kwargs)[source]

Generate random points along the connection region of two ipMTs

Parameters:
  • pos1 – (x, y, zBeginPos, zEndPos, l) -> coordinates of the free end of first ipMT
  • pos2 – (x, y, zBeginPos, zEndPos, l) -> coordinates of the free end of the second ipMT
  • MTtype – ‘parallel’ or ‘antiparallel’ -> defines if the MT pair is parallel or antiparallel
  • kwargs – dictionary -> keyword arguments
Returns:

numpy array of connector positions along z coordinate

SpindleAssembly.PositionConnectors.generate_partition_points(z, MTname, **kwargs)[source]

Partition individual ipMT with points corresponding to connector positions

Parameters:
  • z – numpy array of connector positions along z coordinate
  • MTname – name of the ipMT to be partitioned
  • kwargs – dictionary -> keyword arguments
Returns:

list -> partition names

SpindleAssembly.PositionConnectors.pick_vertices(mtname, data, **kwargs)[source]

Pick the connecting ends of all connectors associated with the current ipMT

Parameters:
  • mtname – string name of the ipMT
  • data – list containing all ipMTs and connectors of the model
  • kwargs – dictionary -> keyword arguments
Returns:

list -> connecting vertices that belong to connectors associated with the current ipMT

SpindleAssembly.PositionConnectors.position_connectors(pos1, pos2, z, connectornames, alpha, **kwargs)[source]

Position connectors on the associated ipMT by z coordinate

Parameters:
  • pos1 – (x, y, zBeginPos, zEndPos, l) -> coordinates of the first mt of the pair
  • pos2 – (x, y, zBeginPos, zEndPos, l) -> coordinates of the second mt of the pair
  • z – list connector positions
  • connectornames – list connector names
  • alpha – float orientation of connectors
  • kwargs – dictionary -> keyword arguments
Returns:

global coordinates of connectors between a pair of ipMTs

SpindleAssembly.PositionIpMTs module

SpindleAssembly.PositionIpMTs.add_fifth_ipMT(pos4, alpha4, i, **kwargs)[source]

Add and position the fifth ipMT within the spindle

Parameters:
  • pos4 (tuple) – (x, y) position of the previously added ipMT
  • alpha4 (float) – Angle of the previously added ipMT
  • i (int) – Sequential number of ipMT
  • kwargs (dict) – model parameters
Returns:

MTname, pos, alpha, kwargs

Return type:

str, tuple, float, dict

SpindleAssembly.PositionIpMTs.add_first_ipMT(i, **kwargs)[source]

Add and position the first ipMT within the spindle

Parameters:
  • i (int) – Sequential number of ipMT
  • kwargs (dict) – model parameters
Returns:

MTname, pos, alpha, kwargs

Return type:

str, tuple, float, dict

SpindleAssembly.PositionIpMTs.add_fourth_ipMT(pos3, alpha2, alpha3, i, **kwargs)[source]

Add and position the fourth ipMT within the spindle

Parameters:
  • pos3 (tuple) – (x, y) position of the previously added ipMT
  • alpha2 (float) – Angle of ipMT 2
  • alpha3 (float) – Angle of ipMT 3
  • i (int) – Sequential number of ipMT
  • kwargs (dict) – model parameters
Returns:

MTname, pos, alpha, kwargs

Return type:

str, tuple, float, dict

SpindleAssembly.PositionIpMTs.add_second_ipMT(pos, alpha1, i, **kwargs)[source]

Add and position the second ipMT within the spindle

Parameters:
  • pos (tuple) – (x, y) position of the previously added ipMT
  • alpha1 (float) – Angle of the previously added ipMT
  • i (int) – Sequential number of ipMT
  • kwargs (dict) – model parameters
Returns:

MTname, pos, alpha, kwargs

Return type:

str, tuple, float, dict

SpindleAssembly.PositionIpMTs.add_sixth_ipMT(pos5, alpha4, alpha5, i, **kwargs)[source]

Add and position sixth ipMT within the spindle

Parameters:
  • pos5 (tuple) – (x, y) position of the previously added ipMT
  • alpha4 (float) – Angle of the ipMT 4
  • alpha5 (float) – Angle of the ipMT 5
  • i (int) – Sequential number of ipMT
  • kwargs (dict) – model parameters
Returns:

MTname, pos, alpha, kwargs

Return type:

str, tuple, float, dict

SpindleAssembly.PositionIpMTs.add_third_ipMT(pos2, alpha2, i, **kwargs)[source]

Add and position the third ipMT within the spindle

Parameters:
  • pos2 (tuple) – (x, y) position of the previously added ipMT
  • alpha2 (float) – Angle of the previously added ipMT
  • i (int) – Sequential number of ipMT
  • kwargs (dict) – model parameters
Returns:

MTname, pos, alpha, kwargs

Return type:

str, tuple, float, dict

SpindleAssembly.PositionIpMTs.check_MT_within_centrosome(pos, **kwargs)[source]

Add ipMT if its x and y coordinates do not exceed the radius of the circular cross-section of a centrosome

Parameters:
  • pos – (x, y) -> local coordinates of ipMT
  • kwargs – object
Returns:

True or False

SpindleAssembly.PositionIpMTs.condition_for_fourth_ipMT(alpha2, alpha3, s, pos3)[source]

Condition of positioning the fourth ipMT

Parameters:
  • alpha2 (float) – Angle between ipMTs number 2 and 3
  • alpha3 (float) – Angle between ipMTs number 3 and 4
  • s (float) – Separation between ipMTs
  • pos3 (tuple) – (x, y) Position of the third ipMT
Returns:

y coordinate of the ipMT, mewalpha angle of the ipMT

Return type:

float, float

SpindleAssembly.PositionIpMTs.generate_separation(**kwargs)[source]

Calculate distance and angle between ipMTs based on the Gaussian distribution with a given mean and standard deviation

Parameters:kwargs (object) – model parameters
Returns:s: distance between ipMTs
Return type:s: float
Returns:alpha: angle between ipMTs in degrees
Return type:float

SpindleAssembly.assembly_random module

SpindleAssembly.assembly_random.add_and_position_astral_mts(**kwargs)[source]

Create and position astral microtubules

Parameters:kwargs – object
Returns:aMTnames -> (list) list of astral microtubule names kwargs -> object
SpindleAssembly.assembly_random.add_and_position_centrosomes(**kwargs)[source]

Create centrosomes and position them at the right or left pole

Parameters:kwargs – model marameters. object
Returns:None
SpindleAssembly.assembly_random.add_and_position_interpolar_mts_and_connectors(**kwargs)[source]

Create and position interpolar microtubules and connects them with connectors

Parameters:kwargs – model parameters. object
Returns:MTdata -> (dictionary) Contains ipMT names, positions and connector positions
SpindleAssembly.assembly_random.assign_ipMTs(**kwargs)[source]

Position the microtubules within the spindle along with the associated connectors

Parameters:kwargs (dict) – model parameters
Returns:MTdata, ConnectorData, data
Return type:list, list, list
SpindleAssembly.assembly_random.create_model_assembly(**kwargs)[source]

Create Abaqus model and assembly

Parameters:kwargs – object
Returns:None
SpindleAssembly.assembly_random.generate_assembly(**kwargs)[source]

Call modules to generate assembly

Parameters:kwargs (object) –
Returns:kwargs -> object

Module contents