Monday, 26 September 2011

Mathematical biology. Create your own Turing patterns.

Last week I showed some of the possible patterns that were available as solutions of mathematical equations. This week we end morphogenesis month by showing you how to create such Turing patterns for yourself.

Freely available at:
is a simulator (written in java) of the types of reaction-diffusion patterns that we have been considering. The supplementary information section gives a really nice overview of how Turing patterns work and how to use the software. However, for those amongst you who are too impatient to read such things click on the picture below to show a brief manual of how to use the program.

The main joy of this program is that you are able to alter the parameter values of the reaction diffusion equations, seen in the big box at the bottom, very quickly. Thus, you are able to experience different patterns being created right in front of your very eyes! Below are a few that I created in 5 minutes that easily show you the great complexity available through this simple mechanism.

Each simulation starts with a smiling face initial condition like the one seen below.
Initial condition
The first pattern occurs when the program is run with the default initial conditions. Clearly, we see that we get multiple line patterns framing the happy face. Altering the parameters slightly produces spots and stripes as seen in the second picture, giving the face a much more surprised look. Pushing the parameter values even further we generate oscillating patterns as shown in the two snapshots on the right, thus, the face changes colour rapidly. Finally, for certain patterns it is difficult to make out the initial condition at all. In  the bottom image the solution oscillates but in waves across the domain.

Click on the picture to make the images clearer.

Hopefully, you'll have some fun exploring the many different patterns you can get. Whilst you are generating complex structures think about how difficult it must have been for Alan Turing to have postulated these patterns without our moden day computers. He never saw the patterns that now bare his name, yet, he managed to construct the framework by which we understand them.

Finally, if these have entertained you and you would like to see even more peculiar patterns then try Tim Hutton's youtube channel. Through combing different types of models he was able to produce oscillating Turing patterns (seen below). Now they are really trippy!

Hopefully, you have enjoyed morphogenesis month as much as I have had making these posts. I deal with Turing's theory of morphogenesis everyday and it is such a beautiful subject that I decided everyone must know about it.

Next week, back to the normal mathematical silliness.



  1. Hi, unfortunately the link to Lingfa Ya's website seems to be broken.

  2. Many thanks for pointing that out. Thankfully, Tim Hutton has created a Youtube channel,
    where they are now all kept. I'll update the link.

  3. I am dying to make some turing patterns. ;) I downloaded the zip file, but my mac will not let me run that. Do you know of a app store application that will do the same? ;( Or tell me another way to create these beautiful patterns. Many thanks!

    1. Hi Kim, Thanks for your interest in these incredible patterns. Is it the zip file that your mac is not allowing to run or the java file? In terms of dedicated applications for the mac, I certainly do not know of any. These are a little too academic for some people :).

  4. is there any underlying rationale for the choice of parameters and the resulting pattern/oscillation. there seems to be a black art to getting different outcomes ...

    1. Good question. Parameter rationale is based on the biological information you can gather. Are the proteins you're interested in spreading out really quickly? If so their diffusion is really large, otherwise it is very small. Beyond that it is very difficult to accurately specify the values should take, thus, you're usually left with valid parameter regions, rather than exact values.

      Another way the parameters can be specified is by appealing to the mathematics. Namely, if my animal has spots, which parameters give me spots and how are these interpreted?

      In terms of finding which spots provide a specific number of spots, well this is a black art. You can put bounds on the parameter region, but Turing patterns suffer from a robustness problem. Specifically, suppose we have an animal that always has 5 spots. We can derive parameter regions that will produce a five spot patter, but the system may also generate a three, or a four spot patter. Thus, how do we ensure that we get the same pattern time and time again? Well that is a question for current research.

      Thus, in summary, you can derive specific parameter regions to give you the pattern you want. However, this doesn't guarantee that you're going to get that pattern.