Practical 3
Linear Programming and Flux Balance Analysis with ScrumPy
In this practical you will try to repeat the results from Fell & Small (1986), which was one of the first attempts to apply LP to metabolic networks. Before staring with the exercises read the documentation of the ScrumPy LP module, here.
Download the original paper from this link.
Download and open the adipose model (adipose.spy).
- Your task is to set up and solve an LP problem where the objective is to minimise glucose consumption, while producing 1 unit of triacylglycerol (TGA).
- Start by importing the LP module and create the LP object with the adipose model as argument.
- Set the flux of the TGA-synthesising reaction to 1.0, by entering this information to the appropriate LP method, i.e. we are going to optimise the production of one unit of triglyceride.
- Since the optimisation direction is minimisation, and this is set by default, you don't need to change the direction.
- Next, identify the reaction that should be minimised and enter this as an argument to the suitable method of the LP object (note that the argument must be a list of reaction(s), i.e. your argument should be a list with one reaction).
- Solve the LP problem using a suitable method.
To obtain the solution use the LP method GetPrimSol(). This method returns a dictionary object of reactions in the solution as keys and flux values as values, so for convenience assign a name to this solution.
- What is the objective value, i.e. the flux of the glucose uptake reaction, representing the minimum amount of glucose to make 1 triglyceride? How does this compare to the results in the paper?
The effective yield of ATP from oxidative phosphorylation is very uncertain. At the time of the paper, the textbook values of 3 ATP from NADH and 2 from FADH2. Try changing R27 and R28 in adipose.spy to match the paper. (The paper and model also reproduce the textbook error of using FAD as a metabolic intermediate; FAD and FADH2 should really be CoQ and CoQH2.) from