Cytosim PI Cytoskeleton Simulator

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

List of all members | Public Member Functions | Public Attributes
Tubule Class Reference
List of objects | How to create objects » Fiber and Derived Activities

## Detailed Description

This code is outdated, and we discourage you to use it.

Inheritance diagram for Tubule:

## Public Member Functions
int | dynParamIndex (const FiberEnd which) const
| returns the index which should be used to get parameters
| Tubule (TubuleProp const *)
| constructor
virtual | ~Tubule ()
| destructor
int | dynamicState (FiberEnd which) const
| return assembly/disassembly state of the end which
void | setDynamicState (FiberEnd which, int new_state)
| set state of FiberEnd which to new_state
real | freshAssembly (FiberEnd which) const
| the amount of freshly assembled polymer during the last time step
real | givenGrowthRate (FiberEnd which, int alt=0) const
| the growth rate set for the specified end
real | givenTransitionRate (FiberEnd which, int alt=0) const
| the transition rate set for the specified end
real | growthRate (real rate0, real rate1, real force) const
| calculates the growth rate, in units of um/s of added polymer length = speed. More...
real | transitionRate (FiberEnd which, int model) const
| calculate the transition rate of a MT end, function of the parameter, growth and position More...
Fiber * | severM (real abs)
| cut fiber at distance abs from MINUS_END More...
void | join (Fiber *fib)
| join 'other' at the PLUS_END of this fiber
void | stepMinusEnd ()
| simulate dynamic instability at MINUS_END
void | stepPlusEnd ()
| simulate dynamic instability at PLUS_END
void | step ()
| monte-carlo step
void | write (OutputWrapper &) const
| write Tubule to OutputWrapper
void | read (InputWrapper &, Simul &)
| read Tubule from InputWrapper
Public Member Functions inherited from Fiber
| Fiber (FiberProp const *)
| constructor More...
virtual | ~Fiber ()
| destructor
virtual unsigned int | allocatePoints (unsigned int nbp)
| allocate memory for 'nbp' points
void | setDragCoefficient ()
| calculate viscous drag coefficient More...
void | prepareMecable ()
| prepare for Meca
void | setInteractions (Meca &) const
| add interactions to a Meca
void | sever (real abs)
| cut fiber at abscissa abs from the ORIGIN, in the next time step
void | cutAlongPlane (FiberSet *, Vector const &n, real a)
| Cut all segments intersecting the plane defined by n.x + a = 0
FiberLocus & | segment (unsigned int p) const
| FiberLocus representing the segment [p, p+1].
real | projectPoint (Vector const &w, real &dist) const
| return the abscissa of the closest position to `w` on this Fiber, and set dist to the square of the distance
bool | isGrowing (FiberEnd which) const
| true if the tip which has grown in the last time step ( freshAssembly(which) > 0 )
bool | isShrinking (FiberEnd which) const
| true if the tip which has shrunk in the last time step ( freshAssembly(which) < 0 )
void | addBinder (FiberBinder *)
| register a new Binder
void | removeBinder (FiberBinder *)
| unregister bound Binder
FiberBinder * | firstBinder () const
| a FiberBinder bound to this fiber (use ->next() to access all other binders)
void | updateBinders ()
| update all binders
void | detachBinders ()
| detach all binders
int | nbBinders () const
| number of attached FiberBinders
int | nbBindersInRange (real aMin, real aMax, FiberEnd from) const
| number of attached FiberBinders in a range of abscissa More...
int | nbBindersNearEnd (real len, FiberEnd which) const
| number of attached FiberBinders at the specified FiberEnd
int | nbBinders (unsigned int(*count)(FiberBinder const &)) const
| a function to count binders using custom criteria
void | setGlue1 (Single *glue, FiberEnd which, const Space *space)
| set the box glue for pure pushing More...
void | setGlue2 (Single *glue, FiberEnd which, const Space *space)
| set the box glue for pure pulling More...
void | setGlue3 (Single *glue, FiberEnd which, const Space *space)
| set the box glue for pushing and pulling More...
void | setGlue (Single *&glue, FiberEnd which, const Space *space, int glue_type)
| a setGlue to rule them all
Fiber * | next () const
| a static_cast<> of Node::next()
Fiber * | prev () const
| a static_cast<> of Node::prev()
Tag | tag () const
| return unique character identifying the class
const Property * | property () const
| return Object Property
Public Member Functions inherited from RigidFiber
| RigidFiber ()
| Constructor.
| RigidFiber (RigidFiber const &)
| copy constructor
RigidFiber & | operator= (RigidFiber const &)
| copy assignment
virtual | ~RigidFiber ()
| Destructor.
virtual unsigned | allocatePoints (unsigned nbp)
| sets the number of points in the Fiber
real | lagrange (unsigned p) const
| Lagrange multiplier for segment p.
real | tension (unsigned p) const
| longitudinal force along segment p (positive=extension, negative=compression)
real | dragCoefficient () const
| total drag-coefficient of object (force = drag * speed)
real | pointMobility () const
| mobility of one point
void | makeProjection ()
| prepare for projection
void | projectForces (const real *X, real *Y, real s, real *work) const
| apply the projection: Y <- s * P * X More...
void | makeProjectionDiff (const real *)
| prepare the correction to the projection
void | addProjectionDiff (const real *, real *) const
| add the contribution from the projection correction
real | addBrownianForces (real *rhs, real sc) const
| add displacements due to the Brownian motion to rhs[] More...
void | setSpeedsFromForces (const real *X, real *Y, real, bool) const
| calculate the speeds from the forces, including projection More...
void | addRigidity (const real *X, real *Y) const
| add the rigidity force corresponding to configuration X into vector Y More...
void | addRigidityMatUp (Matrix &, int offset) const
| add rigidity terms into the matrix
Public Member Functions inherited from FiberNaked
| FiberNaked ()
| Constructor.
| ~FiberNaked ()
| Destructor.
void | setStraight (Vector const &pos, Vector const &dir)
| set position of MINUS_END and direction (length and Nb of points are not modified) More...
void | setStraight (Vector const &pos, Vector const &dir, FiberEnd ref)
| set position of 'ref' and direction of Fiber
void | setStraight (Vector const &pos, Vector const &dir, real len, FiberEnd ref)
| set position of 'ref', direction and length of Fiber
void | setShape (const real pts[], unsigned n_pts, unsigned np)
| import shape from the given array of size DIM*n_pts, and create a shape with np points More...
PointExact | exactEnd (FiberEnd) const
| exact representation of given end
PointInterpolated | interpolateEnd (FiberEnd) const
| interpolation representing a given end (CENTER is also a valid argument)
PointInterpolated | interpolateCenter () const
| interpolation representing a given end
PointInterpolated | interpolateMinusEnd () const
| interpolation representing the MINUS_END
PointInterpolated | interpolatePlusEnd () const
| interpolation representing the PLUS_END
PointInterpolated | interpolate (real ab) const
| interpolation of the site specified by its distance from the ORIGIN More...
PointInterpolated | interpolateM (real ab) const
| interpolation of the site specified from the MINUS_END More...
PointInterpolated | interpolate (real ab, FiberEnd from) const
| interpolation of a site specified by its distance from a FiberEnd
real | abscissaM () const
| signed distance from ORIGIN to MINUS_END (abscissa of MINUS_END)
real | abscissaP () const
| signed distance from ORIGIN to PLUS_END (abscissa of PLUS_END)
real | abscissaP (const real n) const
| signed distance from ORIGIN to given point or intermediate position
real | abscissa (FiberEnd end) const
| signed distance from the ORIGIN to the specified FiberEnd More...
real | abscissa (real ab, FiberEnd from) const
| converts abscissa from the specified FiberEnd, to abscissa from the ORIGIN More...
real | length () const
| the total length of the Fiber
bool | within (const real ab) const
| true if ( abscissaM() < ab < abscissaP() )
bool | withinP (const real ab) const
| true if abscissa is below abscissaP
bool | withinM (const real ab) const
| true if abscissa is above abscissaM
unsigned int | signature () const
| a random number which is used in speckle display
void | signature (unsigned int s)
| set signature
FiberEnd | whichEndDomain (real ab, real lambda) const
| calculate the domain in which ab is located (near a FiberEnd, or central) More...
Vector | pos (real ab) const
| position of a point specified by abscissa from the origin
Vector | posM (real ab) const
| position of a point specified by abscissa from the MINUS_END
Vector | pos (real ab, FiberEnd from) const
| position of a point specified by abscissa on the Fiber
Vector | posEnd (FiberEnd which) const
| position of a FiberEnd (CENTER is also a valid argument)
Vector | dirP (unsigned p) const
| normalized tangent vector to the fiber at given model point More...
Vector | dir (real ab) const
| normalized tangent vector to the fiber at given abscissa from the origin
Vector | dir (real ab, FiberEnd from) const
| normalized tangent vector to the fiber at given abscissa from given reference
Vector | dirEnd (FiberEnd which) const
| normalized tangent vector to the fiber at given end
real | projectedForceOnEnd (FiberEnd which) const
| dot-product (force/km on the end of the Fiber).(direction of Fiber growth) More...
void | segmentation (real c)
| set desired segmentation (the actual segmentation might be different)
real | segmentation () const
| the current segment length (distance between successive model-points)
real | segmentationCub () const
| returns segmentation() ^ 3
void | resegment (unsigned int nb_points)
| recalculate fiber to have nb_points model points More...
void | adjustSegmentation ()
| set the number of points to minimize abs( fnCut - fnCutWished ) More...
void | reshape ()
| re-establish the distance between successive model-points
void | getPoints (const real *x)
| set position
void | minMaxSegments (real &, real &) const
| calculate the minimum and maximum segment length More...
void | infoSegments (real &, real &) const
| calculate average and variance of the segment length More...
real | minCosinus () const
| the cosine of the maximum segment angle: indicate the errors due to curvature
unsigned | nbKinks (real threshold=0) const
| number of joints at which ( cosine(angle) < threshold ) More...
void | join (FiberNaked const *fib)
| merge two fibers by joining the PLUS_END of fib with the MINUS_END of this More...
void | growM (real dlen)
| increase/decrease length of Fiber by dlen, at the MINUS_END More...
void | addSegmentM ()
| add a segment of length segmentation() at the MINUS_END More...
void | cutM (real dlen)
| remove a piece of length dlen >= 0 at the MINUS_END More...
void | growP (real dlen)
| increase/decrease length of Fiber by dlen, at the PLUS_END More...
void | addSegmentP ()
| add a segment of length segmentation() at the MINUS_END More...
void | cutP (real dlen)
| remove a piece of length dlen >= 0 at the PLUS_END More...
void | setLength (real len, FiberEnd ref)
| adjust length without changing the position of ref
void | truncateM (unsigned int p)
| Remove all model points in [ 0, P-1 ], keep [ P, nbPoints() ].
void | truncateP (unsigned int p)
| Keep model points [ 0, p ], remove other points.
Public Member Functions inherited from PointSet
| PointSet ()
| Constructor.
| PointSet (const PointSet &)
| Copy constructor.
PointSet & | operator= (const PointSet &)
| Assignement operator.
virtual | ~PointSet ()
| Destructor.
virtual void | deallocatePoints ()
| free memory allocated by allocatePoints()
unsigned int | nbPoints () const
| Number of points.
unsigned int | lastPoint () const
| Index of the last point = nbPoints - 1.
unsigned int | nbSegments () const
| Number of segments = nbPoints - 1.
unsigned int | lastSegment () const
| Index of the last segment = nbPoints - 2.
Vector | posP (const unsigned p) const
| Position of point 'p' of the object.
real const * | addr () const
| Address of point p.
real const * | addrPoint (const unsigned p) const
| Address of point p.
void | setPoint (unsigned p, Vector const &w)
| Set position of point p to w.
void | nbPoints (const unsigned n)
| Set the number of points in the array.
unsigned int | addPoint (Vector const &w)
| Add a point, returning the array index that was used.
void | removePoint (unsigned int p)
| Remove a point from the array psPos, returns number of points remaining.
void | clearPoints ()
| Remove all points.
void | resetPoints ()
| Set all coordinates to zero (nicer for debug/testing)
void | addNoise (real amount)
| Add random noise uniformly to all coordinate (used for testing purposes)
virtual void | putPoints (real *) const
| copy current coordinates to argument
virtual void | getForces (const real *ptr)
| replace current forces by the ones provided
Vector | netForceP (const unsigned p) const
| Force on point p calculate by Brownian dynamics.
void | movePoint (const unsigned int p, Vector const &w)
| Shift point at index p by vector w.
Vector | diffPoints (const unsigned p) const
| Difference of two points = Q - P = vector PQ.
Vector | diffPoints (const unsigned int p, const unsigned int q) const
| Difference of two points = Q - P = vector PQ.
Vector | interpolatePoints (const unsigned int p, const unsigned int q, const real a) const
| Calculate intermediate position = P + a ( Q - P )
void | calculateMomentum (real[], bool divide=false)
| calculate first momentum of point coordinates More...
void | calculateMomentum (real[], real[], bool divide=false)
| calculate first and second momentum of point coordinates More...
virtual Vector | position () const
| Position of center of gravity. More...
virtual bool | translatable () const
| true if object accepts translations
virtual void | translate (Vector const &)
| Translate object (moves all the points by w)
virtual bool | rotatable () const
| true if object accepts translations
virtual void | rotate (Rotation const &)
| Rotate object by given rotation.
virtual void | foldPosition (const Modulo *)
| Modulo around the first point.
virtual void | foldPositionG (const Modulo *)
| Call modulo around the center of gravity.
void | write (OutputWrapper &) const
| Write to file.
void | read (InputWrapper &, Simul &)
| Read from file.
Public Member Functions inherited from Mecable
| Mecable ()
| The constructor resets the pointers.
virtual | ~Mecable ()
| Destructor de-allocates memory.
virtual Vector | posP (unsigned int P) const =0
| return position of point P
virtual void | putPoints (real[]) const =0
| copy current coordinates to provided array
virtual void | getPoints (const real[])=0
| replace current coordinates of points by values from the provided array
virtual Vector | netForceP (unsigned int p) const =0
| return Force on point p calculated at previous step by Brownian dynamics
virtual void | getForces (const real[])=0
| replace current forces by the ones provided
void | matIndex (Matrix::index_type index)
| Store the index where coordinates are located in Meca.
Matrix::index_type | matIndex () const
| Index in mB of the first point. the index in the vectors is DIM*matIndex() More...
bool | useBlock () const
| Tell Meca to use preconditionning on this object or not.
void | useBlock (bool b)
| change preconditionning flag
real * | allocateBlock (unsigned)
| Allocate a block of the requested size.
real * | block () const
| return allocated block
Public Member Functions inherited from Object
| Object ()
| constructor
std::string | reference () const
| concatenation of [ tag(), property()->index(), number() ] in plain ascii More...
void | writeReference (OutputWrapper &) const
| write a reference that identifies the Object uniquely More...
void | writeReference (OutputWrapper &, Tag tag) const
| write a reference, but using the provided Tag More...
int | mark () const
| birth mark value
void | mark (int m)
| set birth mark
int | fleck () const
| fleck value (not stored in trajectory files)
void | fleck (int f) const
| set fleck (the value is not stored in trajectory files)
Object * | next () const
| extends Node::next(), with a cast to preserve type
Object * | prev () const
| extends Node::prev(), with a cast to preserve type
Public Member Functions inherited from Node
| Node ()
| constructor set as unlinked
virtual | ~Node ()
| destructor More...
bool | linked () const
| true if Node is linked
Node * | next () const
| the next Node in the list, or zero if this is last
Node * | prev () const
| the previous Node in the list, or zero if this is first
NodeList * | list () const
| the list where the object is linked, or zero
ObjectSet * | objset () const
| return associated ObjectSet
Public Member Functions inherited from Inventoried
| Inventoried ()
| initialize (name=0)
| ~Inventoried ()
| destructor
void | number (Number n)
| change the serial number
Number | number () const
| serial number : a integer identifier, unique within each class
Public Member Functions inherited from Movable
| Movable ()
| constructor
virtual | ~Movable ()
| destructor
virtual void | setPosition (Vector const &)
| move object to specified position More...
virtual void | rotateP (Rotation const &)
| rotate the object around its current position More...
Public Member Functions inherited from Buddy
virtual | ~Buddy ()
| upon destruction, goodbye is called for all buddies
void | hello (Buddy *b)
| will make this and b mutual buddies
virtual void | goodbye (Buddy *)
| this is called everytime a known buddy is destroyed
Buddy * | buddy (unsigned int ix) const
| return buddy at index ix
void | buddy (Buddy *b, unsigned int ix)
| replace the buddy that may have been at index ix

## Public Attributes
TubuleProp const * | prop
| the Property of this object
Public Attributes inherited from Fiber
FiberProp const * | prop
| the Property of this object
LineDisp mutable * | disp
| the display parameters

## Additional Inherited Members
Static Public Member Functions inherited from PointSet
static Vector | diffPoints (const real *src, const unsigned p)
| Difference of two points = P+1 - P.
Static Public Member Functions inherited from Object
static std::string | strReference (char, int, Number, int)
| build a string reference by concatenating (tag, property_index, number, mark) More...
static void | readReference (InputWrapper &, int &, Number &, int &, char pretag)
| read a reference (property_index, number, mark) from input More...
static void | writeNullReference (OutputWrapper &)
| write a reference that does not refer to any Object
Static Public Member Functions inherited from Movable
static Vector | readPrimitive (std::istream &, const Space *)
| read a position specified with primitives, such as 'circle 5', etc. More...
static Vector | readPosition (std::istream &, const Space *)
| read a position in space More...
static Vector | readDirection (std::istream &, const Vector &, const Space *)
| read an orientation, and return a normalized vector More...
static Rotation | readRotation (std::istream &, const Vector &, const Space *)
| read a rotation specified in is, at position pos More...
Static Public Attributes inherited from Fiber
static const Tag | TAG = 'f'
| a unique character identifying the class
Static Public Attributes inherited from Object
static const Tag | TAG = 'v'
| Object::TAG = 'v' represents the 'void' pointer.
Protected Member Functions inherited from Fiber
Fiber * | severNow (real abs)
| cut fiber at abscissa abs from the ORIGIN; returns section [ abs - PLUS_END ]
void | delayedSevering ()
| cut fiber at absicca given to sever() More...
virtual Fiber * | severPoint (unsigned int pti)
| cut Fiber at point pti, return section [ pti - PLUS_END ] More...
void | severKinkedFibers (FiberSet *set)
| cut fiber at points where consecutive segments make a kink More...
real | dragCoefficientSurface ()
| viscous drag coefficient for a cylinder moving close to a surface More...
real | dragCoefficientVolume ()
| viscous drag coefficient for a cylinder moving close to a surface More...
Protected Member Functions inherited from RigidFiber
void | storeDifferences ()
| calculate the average difference of successive model-point in rfDiff[] More...
Protected Attributes inherited from RigidFiber
real | rfMobility
| mobility of the points More...
real | rfRigidity
| rigidity scaling factor used in addRigidity()
Protected Attributes inherited from PointSet
real * | psPos
| psPos[] of size DIM*psAllocated contains DIM*psSize point-coordinates
real const * | psFor
| psFor[] of size DIM*psAllocated contains DIM*psSize force-coordinates
Vector | psCenter
| Center of gravity calculed in calculatePosition()
Protected Attributes inherited from Node
Node * | nNext
| the next Node in the list
Node * | nPrev
| the previous Node in the list
Protected Attributes inherited from Inventoried
Number | nNumber
| object identifier, unique within the class defined by tag()

## Member Function Documentation

real growthRate | ( | real | rate0,
|  | real | rate1,
|  | real | force
| ) |  | const

growthRate() returns the average assembly rate, in um/s

- assembly (rate>0) is proportional to monomer concentration and slowed down by opposing forces on the tip of the MT.
- disassembly (rate<0) is unaffected by monomer concentration or force.

Fiber * severM | ( | real | abs | ) |
| virtual

Calls Fiber::severM(abs) Set the dynamic state of newly created fiber tips:

- PLUS_END to STATE_RED
- MINUS_END to STATE_GREEN

Reimplemented from Fiber.

real transitionRate | ( | FiberEnd | which,
|  | int | model
| ) |  | const

- model = 2: transitions depend on the MT-length, there is no rescue beyond L=13 microns, and no catastrophy at L=0 the rates given for rescue/catastrophies are those at L=10 microns. Dogterom, Felix, Guet, Leibler, J. Cell Biol. 1996 (mitotic X.Eggs extracts) Typical rates for this option should be: cata=0.03 /sec. resc=0.01 /sec.
- model = 3: Transitions depend on the growth rate of the MT tip, itself reduced by antagonistic force. the correspondance is: 1/rate = a + b * growthSpeed cf. `Dynamic instability of MTs is regulated by force` M.Janson, M. de Dood, M. Dogterom. JCB 2003, Figure 2 C.

the position of the plus-end in the Space determines its dynamics: transitions are trans1[] inside the box and trans2[] outside