Category Archives:

Enthought and SBML

{First posted 3 January 2012 at, saved from oblivion by the internet archive}

A long time ago, I resolved to replace Matlab with python as my programming language of choice. I was recommended the Enthought python distribution (EPD), which has various packages installed around pylab and is free to academics.

I had some issues getting EPD to talk to SBML, until a young man with a weird surname helped me out. The three steps to overcoming your ophidiophobia are:

1. Link EPD’s unusual directory to the normal place …
sudo ln -s /Library/Frameworks/EPD64.framework /Library/Frameworks/Python.framework/

2. … configure libSBML 5.3.0 there …
./configure --with-python=/Library/Frameworks/Python.framework/Versions/Current

3. … and change ~/.bash_profile to
export PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PYTHONPATH=/usr/local/lib/python2.7/site-packages

A python


{First posted 13 June 2011 at, saved from oblivion by the internet archive}

Some time ago I promised to rewrite the Wikipedia Systems Biology article and I thought I should update you as to how far I’ve got.


But I’m pleased to announce that other projects are going very well indeed. You see the small, insignificant green plus sign at the top right of the History of Tranmere Rovers F.C. page? I did that. It means Good Article. It’s like getting a B at GCSE Wikipedia authoring. Go me!

The Computational biology wikiproject has really kicked into gear too; a “bunch of geeks” from Hinxton are driving activity, with the backing of the ISCB. Come and get involved!

[24 of 222]

MCA revisited [2]

{First posted 8 June 2011 at, saved from oblivion by the internet archive}

As a base example, we’ll use the model presented in [1], a 1986 paper describing METAMOD – modelling software for your BBC micro. How I’d love to have a play with METAMOD now.

The model is called SEQFB, a branched pathway with sequential feedbacks. The program is used to find the model’s steady state for metabolite concentrations

Met Conc Copasi
A 2.2099E1 22.0992
B 4.6395E0 4.63950
C 3.3577E-1 0.335772
D 4.3999E-1 0.439992
E 2.7777E-1 0.277773
F 2.6500E-1 0.264999

and reaction rates.

Enz Rate Copasi
1 1.4261E0 1.42613
2 1.4261E0 1.42613
3 6.9765E-1 0.69753
4 6.9765E-1 0.69753
5 6.9765E-1 0.69753
6 7.2847E-1 0.728472
7 7.2847E-1 0.728472
8 7.2847E-1 0.728472

It’s good to see that loading the model [2] into fancy new software [3] gives identical results. Who needs technology eh? OK, so maybe it runs slightly faster today – half a blink of an eye, rather than just under two minutes.

More tomorrow.

[21 of 222]


  1. Hofmeyr JH, & van der Merwe KJ (1986). METAMOD: software for steady-state modelling and control analysis of metabolic pathways on the BBC microcomputer. Computer applications in the biosciences: CABIOS, 2 (4), 243-9 PMID: 3450367
  2. Model v.1 SBML
  3. Copasi

MCA revisited [1]

{First posted 7 June 2011 at, saved from oblivion by the internet archive}

Quite some time ago I promised to spend some time going over Metabolic Control Analysis (MCA). It’s one of the main reasons I decided to do this silly #postaday business, but have been rather hesitant as I just don’t know if what I hope to do is possible.

He who dares, Rodders.

The landmark paper “The control of flux” was written in 1973 by Henrik Kacser and Jim Burns [1], describing how the rates of metabolic pathways were affected by changes in the amounts or activities of pathway enzymes. Their work was given a sound mathematical basis by Christine Reder in 1988 [2].

Given there are excellent webpages devoted to the topic [3,4] along with countless review articles, you might reasonably ask why on earth I’m rerevisiting old ground.

In the paper, Reder sets out criteria under which her analysis holds. Which means of course that there are situations where it doesn’t hold. These are generally ignored – probably because the paper is so “mathsy” – with software tools typically blindly applying the algorithm. I shall show, by example, where the theory breaks down, and (this is where I’m on shaky ground) how it can be tweaked to encompass these cases.

[20 of 222]


  1. Kacser H, & Burns JA (1973). The control of flux. Symposia of the Society for Experimental Biology, 27, 65-104 PMID: 4148886
  2. Reder C (1988). Metabolic control theory: a structural approach. Journal of theoretical biology, 135 (2), 175-201 PMID: 3267767
  3. Athel Cornish-Bowden. Metabolic Control Analysis
  4. Pedro Mendes. MCA web

And now for something completely different

{First posted 6 June 2011 at, saved from oblivion by the internet archive}

Answers to Friday’s teaser.

Where on the earth where could you travel one mile south, then one mile east, then one mile north and end up in the same spot you started?

To me, this is a Christmas cracker question to which everyone knows the easy Christmas cracker answer. However there’s another, harder and unexpected answer, and another another even harder answer.

Needless to say, @Xpic found this no trouble at all, tweeting all three answers in order. Which leads me to think that classics graduates may be the cleverest people in the world.

Easy answer and harder answer:

[tweet 76666634667950080 hide_thread=’true’ align=’center’]

Even harder answer:

[tweet 76667104476151808 hide_thread=’true’ align=’center’]


[19 of 222]

And now for something completely different

{First posted 3 June 2011 at, saved from oblivion by the internet archive}

The whole world was up in arms this Monday. Not only was it grossly unfair that those pesky Brits got yet another day off, it also meant that they missed out on U+003F‘s world famous ANFSCD.

To stem the flow of complaints dropping through my letterbox, I’ve decided to run this week’s teaser on a Friday. It definitely isn’t, for example, because I’m desperate to get out in the sunshine and can’t think of anything deep to say.

Here goes:

Where on the earth where could you travel one mile south, then one mile east, then one mile north and end up in the same spot you started?

But everyone knows that, right? Am I just having another HE-ADAC-HE moment?

[18 of 222]

Models and their granularity

{First posted 2 June 2011 at, saved from oblivion by the internet archive}

A wide range of levels of complexity have used to study nutrient consumption and metabolism. For example, one of the constituents of the BrainCirc model [1] is “a basic model of brain metabolic biochemistry”. It is, in fact, anything but basic, describing in detail each of the many reactions taking place during cellular glucose metabolism. This leads to over 100 parameters, most of which are unknown.

At the other end of the complexity scale is an paper [2] that examines the dynamics that lead to tumour cells maintaining their intracellular pH at physiological levels. Acknowledging the difficulties in parameterising their model, the authors adopt a purely qualitative approach, investigating how general functional shapes affect the steady-state pH levels.

The experimental approach in [3] takes the middle ground. They define functional forms for oxygen and glucose consumption based on empirical considerations, rather than biochemistry. Specifically, they were chosen (and the parameters fitted) in such a way as to ensure they satisfy the Crabtree effect (oxygen consumption falls as glucose rises) and the Pasteur effect (glucose consumption falls as oxygen rises).

Q1. So which approach is correct?

  • a: you should use as few parameters as possible and analyse all possible behaviours
  • b: you should use functional forms that capture general behaviour
  • c: you should describe as much detail as possible even without knowledge of parameters

It’s a moot point, and I think you can pigeonhole yourself based on your answer. If you answered a: you are a mathematical biologist; b: you are a theoretical biologist; c: go to question 2.

Q2. Do you like algorithms?

If you answered i: you are a computational biologist; ii: you are a systems biologist.

[17 of 222]


  1. Banaji M, Tachtsidis I, Delpy D, & Baigent S (2005). A physiological model of cerebral blood flow control. Mathematical biosciences, 194 (2), 125-73 PMID: 15854674
  2. Webb SD, Sherratt JA, & Fish RG (1999). Mathematical modelling of tumour acidity: regulation of intracellular pH. Journal of theoretical biology, 196 (2), 237-50 PMID: 9990741
  3. Casciari JJ, Sotirchos SV, & Sutherland RM (1992). Mathematical modelling of microenvironment and growth in EMT6/Ro multicellular tumour spheroids. Cell proliferation, 25 (1), 1-22 PMID: 1540680

What is “Systems Biology”?

{First posted 1 June 2011 at, saved from oblivion by the internet archive}

I recently asked for nominations for the next target on my Wikipedia hit-list. I counted and then recounted, and the winner by just a single vote was the Systems Biology article [1].

It’s funny because there was only one reply.

Ντάνκαν tweeted

The take-home message from Wikipedia seems to be that systems biology is nothing more than a collection of (bad)omics. And to an extent that is true: whenever funding bodies take interest in a topic like systems biology, people rebrand their research as within that sphere, to feed on the cash cow. The result is something of a hotch-potch of disparate activities flying under one banner, with those missing out on the funding declaring the topic a fad.

My own view of what systems biology should be is neatly captured by [2] (though the article isn’t about the field in particular). There are over 20000 articles published each year on cancer, and over 200 genes thought to play a role in governing cancer development. Almost all of this knowledge is disconnected. And you can see why – the intuitive, verbal reasoning approaches favoured by oncologists can be a struggle with two interacting elements, let alone 200.

Systems biology can help in two ways: by providing a framework for storing all this data, and by providing the computational and mathematical tools needed to understand the dataset as a whole.

But my opinion is not relevant on Wikipedia, with all articles written from a neutral perspective [3]. This can sometimes be hard when writing about topics you are immersed in. Check back next week to see how I get on with this one.

[16 of 222]


  1. Systems Biology. Wikipedia.
  2. Gatenby, R., & Maini, P. (2003). Mathematical oncology: Cancer summed up Nature, 421 (6921), 321-321 DOI: 10.1038/421321a
  3. Five pillars. Wikipedia.


{First posted 25 July 2010 at, saved from oblivion by the internet archive}

Since release 4.0 of our yeast metabolic reconstruction, a number of questions have been put my way:

  • is there a forum for community discussion?
  • who is using YeastNet, and how?
  • where can I get the very latest unreleased version of the network?

to which my answers have typically been somewhat negative: “no”, “who knows?” and “nowhere”.

Our static webpage is clearly somewhat old-fashioned for today’s user-base, so we’re trialling an alternative approach at sourceforge – There’s an inbuilt forum (and the possibility of a blog, if we’re that way inclined). But, most importantly, any updates to the reconstruction are immediately available; this should reduce the time for incorporation of user-submitted updates from about-a-year to about-a-day.

Happy yeasting!

Snake in the grass

{First posted 16 June 2010 at, saved from oblivion by the internet archive}

One aim of this blog was to advocate and advertise the use of open science. Which is somewhat at odds with my advocation and advertisement of Matlab – a popular, powerful, but ultimately pricey piece of software. I’ve spent some time working with Octave – a language that is identical in every way to Matlab, save the subtle difference that it’s completely free. If you throw in the thriving Octave community, I’d go so far as to recommend that the average user make the open-source switch immediately.

Unfortunately, for the heavy number-crunchers amongst you, there are instances (specifically loopy code) where Octave just cannot match its commercial counterpart for speed (as it has no JIT compiler, if you’re that way inclined). So I’ve recently turned to python for all my programming needs.

As a (n old) Matlab user, I’ve found python very easy to learn, particularly when using the SciPy library. The attached code can be used to produce the beautiful Barnsley fern, an iterated function system designed to resemble the Black Spleenwort. Whilst mastering python, you can ponder Barnsley’s hypothesis that

… when a geometrical fractal model is found that has a good match to the geometry of a given plant, then there is a specific relationship between these code trees and the information stored in the genes of the plant.

Barnsley fern


Michael Barnsley, John E. Hutchinson, & Örjan Stenflo (2003). V-variable fractals and superfractals – arXiv: math/0312314v1