Simulation of Ascaris Suum sperm crawling

In this example, we are interested in impementing a complex biological model inpired from the work of Bottino et al. This model simulates the sperm motility of the nematod Ascaris suum.

The Ascaris suum sperm cell crawls using a lamellipodial protusion, adhesion, retraction cycle. The chemical mechanisms of motility are located in the front of the cell called lamellipodium. In this model, the system corresponds to the lamellipodium membrane stuck to the matrix surrounding the cell. First, a fibrous polymerization occurs at the leading edge of the cell creating protusions. These protusions push the cell membrane forward. Then, some elastic energy is stored in the created fibrous gel. During the adhesion step, the protusions stick the matrix with a traction process that makes the cell body traveling. The fibrous gel undergoes a contraction. The final step occurs near the boundary between the lamellipodium and the rest of the cell where the depolymerization of the fibrous gel causes the deadhesion of the membrane. As a consequence, the stored energy is released to pull the cell body forward. This mechanics is moderated by a pH gradient.

Bottino describes this process within continuous differential equations. They correspond to the elastic and tensile stress in the membrane fixed to the extracellular matrix, and to pH distribution to deal with the pH dependence. In a second step, these equations are translated into a discrete form through a finite element model. The membrane is divided with a Delaunay graphe.

The translation of this discrete membrane using MGS topological collections and transformations is straightforward.

Data structure

A node of the Delaunay graph is a record composed by 8 fields :

record Node = {
  px:float,
  py:float,
  vx:float,
  vy:float,
  H:float,
  pH:float,
  Bflag:bool,
  NRflag:bool
} ;;

Fields px and py represent the node position in space, vx and vy its velocity, and H and pH the protons concentration and the pH. One defines one elements of type Node, some predicates to determine the exact type of the node.

The Delaunay graph is described by:

delaunay(2) D2 = \elt.(
  if Node(elt)
  then (elt.px, elt.py)
  else error("bad element type for D2 delaunay type")
  fi
) ;;

Inital state of the topological collection: green nodes (or Inode) are internal nodes, blue ones (or Bnode) represent the cell boundary, and red ones (or NRnode) are between the lamellipodium and the rest of the cell (including amongs other things the nucleus).

Evolution laws

The polymerization and depolymerization processes are implemented by rewritting rules that add or remove nodes:

trans structure = {
  polymerization:   Xi, Xj / (length(Xi,Xj) > lmax)       => Xi, {pH=(Xi.pH+Xj.pH)/2,...}, Xj
  depolymerization: Xi:Inode, Xj / (length(Xi,Xj) < lmin) => Xj
} ;;

where length returns the length of an edge between two nodes.

The differential equation of the pH are translated into a function that gives the new pH of a node depending the pH of its neighbors:

trans update_pH = {
  Xi:Bnode => ... ;
  Xi:NRnode => ... ;
  Xi =>
    let num = neighborsfold(
                (fun Xj acc -> C1(Xi,Xj) * Xj.H + acc),
                0,
                Xi) + (P/D) * H_ext
    and den = neighborsfold(
                (fun Xj acc -> C1(Xi,Xj) + acc),
                0,
                Xi) + (P/D)
    in Xi + {H = num/den, pH = -log10(num/den) }
} ;;

The two first rules deal with de boundary conditions. The last one apply a diffusion equation between the internal nodes (Inode). We can note the using of the neighborfold primitive to compute the neighbors contribution.


pH gradient at the initial state: more red nodes have a pH equal to 5.0, more green ones are 6.2.

The transformation that computes mechanical forces applied on each nodes and that updates their postions, is equivalent to update_pH. We do not detail it in this page. An animation can be available here (2.8 Mo).

Reference:

(2002) D. Bottino, A. Mogilner, T. Roberts, M. Stewart, G. Oster. How nematode sperm crawl. Journal of Cell Science. 115: 367-384.


Back to top
MGS examples index
MGS home page



(currently under construction logo)
this site is under construction.
Pages started: May 2002. Last revision: 24 jully 2003.

Creative Commons License
Pictures, graphics and animations are licensed under a Creative Commons License.


English keywords for indexation: computer science, programming language, topological collections, transformation, declarative programming language, functional languages, simulation of biological processes, cell model, biological pathway, interaction network, gene regulation, signal transduction, morphogenesis, developmental biology, integrative simulation, biological organization, dynamical systems, dynamical structure, Gamma, CHAM, P system, L system, Paun, Lindenmayer, cellular automata, membrane computing, aqueous computing, artificial chemistry, GBF, Cayley graph, data fields, nested collections, rewriting, rule based programming, pattern-matching, intentional programming, compilation, interpretation, type, type inference, nested type, polytypism, catamorphism, static analysis, sequence, multiset, combinatorial algebraic topology, chain complex, chain group.