Practical 1 - Structural Properties of the Calvin Cycle
Introduction
In this practical we will investigate the general structural properites of the photosynthetic Calvin Cycle (see Slide 7 from the first talk) and seek to answer a specific question that is hard to answer simply by looking at the network diagram: "how can starch degradation act as a carbon source to generate triose phosphate?"
Methods
Part 1:
Download the Calvin cycle model.
Start ScrumPy and load the model:
>>> m = ScrumPy.Model("Calvin.spy")
- Locate the reactions and metabolites in the model on the network diagram.
- As far as possible, identify the reactions that are essential for CO2 fixation.
- As far as possible, identify the any conservation relationships.
- As far as possible, identify the routes by which triose phosphate species may be identified.
Part 2:
Now let us see if we can get some more objective answers!
Examine the null-space (m.sm.NullSpace()). What properties of the network can be identified ?
Now determine the enzyme subsets (m.EnzSubsets()). Use this to identify which reactions are essential for CO2 assimilation.
Identify the conservation relationships (m.ConsMoieties())
Determine the elementary modes (m.ElModes(False)). Identify the routes which produce triose-phosphate. (see notes below).
- How do these compare with your answers in part 1?
- Now identify the routes consuming starch - does this indicate a a means for plants to utilise starch at night?
Notes:
Remember to pass the "False" argument when calculating elementary modes:
mo = m.ElModes(False)
The resulting modes will have been calculated using rational numbers, but for our purposes it will be convenient (but not essential) to convert them to integer form:
>>> mo.Integise(True)
Here the True flag indicates that the stoichiometries will be recalculated (this will be default behaviour in future versions).
In order to see the net stoichiometry for all the elementary modes:
>>> mo = m.ElModes() >>> print mo.Stos() ElMo_0: x_A -> x_B ~ (etc.)
In order to see the reactions of a given elementary mode:
>>> reacs = mo.ReacsOf("ElMo_1")
Reacs will be a dictionary mapping reaction names to their weighting coefficient.
Part 3:
Now modify the model to identify what other internal metabolites can be produced (by adding appropriate transporters). Determine the ATP demand for each.