GFtbox Tutorial pages

From BanghamLab
Jump to navigation Jump to search

GFtbox Details

Three ways to use GFtbox

There are three ways to use the GFtbox.

  1. Doing everything from the Graphical User Interface (GUI). This is the best way to start. See (1,2) below.
  2. Do only some things from the GUI. This is the best way to develop ideas. Use the GUI to generate the mesh (canvas) and create growth factors (morphogens - in other words declare the variables) but capturing your ideas on how the regulatory processes work in, what we call, the interaction function. See (3) below.
  3. Without the GUI. For example, run many examples (instances) of a pre-existing project on a cluster. This is the best way to explore the parameter space of a model for comparison with biological observations. We have used this way extensively but the code is not yet ready for general use.

1 Modelling using the Graphical User Interface

Isotropic growth

1 A

For tutorial on uniform growth click here.

Consider a disc shaped canvas (tissue) in which the specified growth is uniform, isotropic and on both sides.

Into what shape will the disc grow?

This model is as simple as it gets. Notice that, during growth, the mesh is automatically subdivided. Notice also that the final surface is not quite flat. This is because, to allow it to deform in 3D, it is not flat initially. There are options to initialise a flat mesh and others to force it to remain flat - see options on the GUI (hover over controls to get prompts).

In the absence of a polariser (there is no polariser in this example) growth will be isotropic, in other words growth in the plane of the canvas will be the average of what is specified for Kapar and Kaper (A side) and Kbpar and Kbper (B side).

<wikiflv width="300" height="300" logo="false" loop="true" background="white">GPT_tut_uniform_20110527-0003.flv|GPT_tut_uniform_20110527-0003_Last.png</wikiflv>

1 B

For tutorial on non-uniform growth click here

Consider a disc shaped canvas (tissue) in which the non-uniform specified growth increases in proportion to the distance from the centre.

Into what shape will the disc grow?

Already we are into the realms of modelling biological systems. Compare this result with the discussion of Lily petals and Gaussian curvature (Lianga and Mahadevana,Sharon, Marder and Swinney,Nath, Crawford, Carpenter and Coen ).
<wikiflv width="300" height="300" logo="false" loop="true" background="white">GPT_tut_uniform_20110527-0006.flv|GPT_tut_uniform_20110527-0006_First.png</wikiflv>

Note: this model should have many more finite elements

Adding polariser

1 C

For tutorial on uniform growth non-uniform polariser click here

In the presence of polariser, GFtbox growth will be anisotropic, in other words growth in the plane of the canvas can be different parallel and perpendicular to the axis of the polariser: Kapar and Kaper (A side) and Kbpar and Kbper (B side).

We now add polariser. Start with example A - uniform growth - and add a radial polarising gradient.

Arrows show the direction of the gradient. They are turned on using the Panel:Plot option:Pol. grad. tick box. The gradient defines local directions and local growth can be specifed either parallel to (Kpar) or perpendicular to (Kper) that direction.

Given a uniform pattern of specified growth parallel to the polariser and zero specified growth perpendicular to the polariser.

What will be the final shape?

<wikiflv width="300" height="300" logo="false" loop="true" background="white">GPT_in_the_beginning_2_20110510-0003.flv|GPT_in_the_beginning_2_20110510-0003_First.png</wikiflv>Note: the gradient of the polariser, green to cyan, is shown using the arrows. Specified growth rate parallel to the arrows, red, is uniform.

2 Modelling using a combination of GUI and interaction function

Interaction functions - programmatic modelling.

The full specification of a GFtbox model is stored in a combination of the mesh data structure (Mesh) and the interaction function (IF). The Mesh stores all the physical properties of the system: spatial structure, mechanical properties, etc. It is usually set up using the GUI. The Mesh is stored on disc as a Matlab data file (.mat) and in a data structure (m.). The IF contains all the details of the growth regulation system: morphogen concentrations, signal interactions etc. The IF is a Matlab program file (.m).

When a new project is first edited the interaction function is generated automatically. Thereafter, it is automatically kept in synchrony with the GUI. It is divided into several sections. Some are generated automatically and should not be edited. Others are set aside for the user to specify the model. To ensure that the automatic and manual edits are synchronised always invoke the Editor from the GUI (Panel: Interaction Function: Edit).

Variables (morphogens, growth factors, signals, etc.) are always set up (declared) from the GUI using Morphogen Panel. We have evolved a naming convention that includes the prefixes, id_, s_, v_, f_ and the suffixes, _p, _l, _a, _i

Full details of types of morphogens and factors

Pre-defined variables: dt, realtime Pre-defined functions: Steps(m), pro(), inh()

2 A

Basic interaction function The Mesh was setup using the GUI and IF that articulates (describes) the model as follows:

   if (Steps(m)==0) && m.globalDynamicProps.doinit  % Initialisation code.
       id_a_p(m.nodes(:,1)<-0.03)=1; % setup region for A where identity factor A is represented by id_a_p
       id_b_p(m.nodes(:,2)<-0.01)=1; % setup region for B
   else
       % @@KRN Growth Regulatory Network
       kapar_p(:) = id_a_l .* inh(1,id_b_l); % growth rate
       kaper_p(:) = kapar_p; % isotropic growth
       kbpar_p(:) = kapar_p; % same on both sides of the sheet
       kbper_p(:) = kapar_p; % same
       knor_p(:)  = 0;       % thickness not growing
   end
<wikiflv width="300" height="300" logo="false" loop="true">GPT_why_matlab-2011-05-05-0005.flv|GPT_why_matlab-2011-05-05-0005_First.png‎</wikiflv>
Fig. 1. Mesh with two intersecting patterns of growth factors. Blue is factor A, Green factor B
Play and the mesh will grow and subdivide. Normally we do not want to see the mesh. Red is growth rate

3 Running models without the GUI

Having developed the concepts underpinning a pattern of growth in an interaction function it is often desirable to explore a range of model parameters. Given that each run of the model can take between 5 minutes and hour it is appropriate to run the models in parallel on a computing cluster. (Each node of the cluster to be used by GFtbox needs to be licensed to run Matlab - however for the purpose of running on a cluster without the GUI we are exploring the possibility of making GFtbox compatible with Octave.)