Differences between revisions 3 and 10 (spanning 7 versions)
Revision 3 as of 2018-01-15 21:50:41
Size: 6010
Editor: david
Comment: Partially constructed.
Revision 10 as of 2018-01-17 11:26:07
Size: 6718
Editor: david
Comment: Spy files linked in.
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
=== Step 1 ===
 1. Download, by right-clicking on its link, the !ScrumPy file [[http://mudsharkstatic.brookes.ac.uk/Nepal2016/P2/Zymomonas.spy|Zymomonas.spy]] and save it in the directory you are going to use for this exercise.
=== Step 1  Initialisation ===
 1. Download, by right-clicking on its link, the !ScrumPy file [[http://mudsharkstatic.brookes.ac.uk/C1Net/Wshop4/P5/Zymomonas.spy|Zymomonas.spy]] and save it in the directory you are going to use for this exercise.
Line 23: Line 23:
=== Step 2 ===
 1. This list of EC numbers covers the Entner-Doudoroff pathway: EC-2.7.1.2, EC-1.1.1.363 ( or EC-1.1.1.388), EC-3.1.1.31, EC-4.2.1.12, 'EC-4.1.2.14','EC-1.1.1.44', 'EC-1.2.1.12', 'EC-2.7.2.3', 'EC-5.4.2.11', 'EC-4.2.1.11', 'EC-2.7.1.40', 'EC-4.1.1.1', 'EC-1.1.1.1']
=== Step 2 - Building the Model ===
 1. Thef EC numbers of the enzymes catalysing the Entner-Doudoroff pathway are: EC-2.7.1.2, EC-1.1.1.363 ( or EC-1.1.1.388), EC-3.1.1.31, EC-4.2.1.12, EC-4.1.2.14, plus the following reactions that are common to both the Entner-Duoidiroff pathway and Emden-Meyerhoff glycolysis: EC-1.2.1.12, EC-2.7.2.3, EC-5.4.2.11, EC-4.2.1.11, EC-2.7.1.40, EC-4.1.1.1, EC-1.1.1.1.
Line 26: Line 26:
 1. Go to [[http://metacyc.org/|MetaCyc]] and enter the number for the first enzyme in the list: ''EC-2.7.1.2''.  1. Go to [[http://metacyc.org/|MetaCyc]] and enter the number for the first enzyme in the list: ''EC-2.7.1.2''.  (To speed things up, you might wish to work in pairs and split the enzyme list between you and then exchange results.)
Line 28: Line 28:
 1. In the result, there is a section ''Reactions''. If you mouse over the reaction specification, the link that shows up in your browser is the !MetaCyc-assigned name fo the reaction (since an enzyme can catalyse more than one reaction, and a reaction can be catalysed by more than one enzyme.  1. In the result, there is a section ''Reactions''. Follow the link to the required reaction (since an enzyme can catalyse more than one reaction, and a reaction can be catalysed by more than one enzyme).The term at the end of the web link is the !MetaCyc-specified reaction name. If you mouse over the metabolite names on the reaction page, the !MetaCyc metabolite names will show up in the link after the 'META&id='.
Line 30: Line 30:
 1. Enter the rection name in the ZmED.spy file followed by a ':'; then copy the relevant reaction specification, followed by ' ~'.  1. Enter the rection name, enclosed in double quotes ("), in the ZmED.spy file followed by a ':'; then write the reaction using the !MetaCyc metabolite ids, each enclosed in double quotes again, followed by ' ~'. Replace a reaction arrow '→' by the !ScrumPy syntax '->'. (Reversible reactions in !MetaCyc are represented by '<>' in !ScrumPy.) (We are not going to copy the reaction string on the original search result because those metabolite names are not the unique database names and are not necessarily consistent with !ScrumPy syntax.)
Line 32: Line 32:
 1. Consider whether the !MetaCyc metabolite names in the reaction match the names used for the same metabolite in previous or successive reactions. To see how this can arise as a problem, search !MetaCyc for the compound ''D-glucose'', then look at the ''Subclasses and Instances'' subsection of the result. It's partly your choice what name you use as standard, but any one metabolite must have a single, unique name in your model, and some metabolites have already been named for you in Zymomonas.spy.  1. Searching for the next enzyme, EC-1.1.1.363, returns a reaction specification containing the metabolite' NAD-P-OR-NO-P, meaning there are two reactions possible; one with NAD+ and another with NADP+, and the corresponding products. The principal substrate in ''Z. mobilis'' is actually NAD+ (which is actually the specific reaction of EC-1.1.1.388), which we will represent as 'NAD', and the corresponding product is represented as 'NADH'.
Line 34: Line 34:
 1. Searching for the next enzyme, EC-1.1.1.363, returns a reaction specification containing the 'metabolite' NAD(P)+, meaning there are tow reactions possible; one with NAD+ and another with NADP+, and the corresponding products. The principal substrate in ''Z. mobilis'' is actually NAD+ (which is actually the specific reaction of EC-1.1.1.388).  1. Continue through the list adding the appropriate reactions to the !Zm.ED.spy window. You will see that though the information you need is indeed contained in the database, it is still necessary for you to make decisions about which reactions to select, what to about 'NAD-P-OR-NO-P' etc.
Line 36: Line 36:
 1. Continue through the list adding the reactions to the !Zm.ED.spy window.  1. When you think you have added all the reactions, save the !ZmED.spy file.
Line 38: Line 38:
 1. .

== Step 3 ==
 1. Un-comment the ''Include'' directive in the Zymomonas.spy file to load your ZmED.spy and recompile the model using the drop-down ScrumPy menu option. Find out if there is a potential pathway through it by calculating the null space of the stoichiometry matrix:
== Step 3 - Checking the Model ==
 1. Close the two model windows and load the model again.
 1. Find out if there is a potential pathway through it by calculating the null space of the stoichiometry matrix:
Line 46: Line 45:
  . Two windows should now be open, one for Zymomonas.spy and one for ZmED.spy. However, the null space is empty, in other words the system defined by this model cannot support a stead-state flux in any of its reactions.   . If the null space is empty, the system defined by this model cannot support a steady-state flux in any of its reactions and you need to find out what is wrong.
Line 48: Line 47:
 1. The common possibilities for the lack of a viable route where there should be one are either missing reactions, or, when all the reactions are present, inconsistencies in metabolite definitions break the connectivity. Looking for dangling ('''orphan''') metabolites can point to both of these issues:  1. The common possibilities for the lack of a viable route where there should be one are either missing reactions, or, when all the reactions are present, inconsistencies in metabolite definitions break the connectivity. Looking for dangling ('''orphan''') metabolites can point to both of these issues, as you might find two names for the same metabolite, distinguished by a typo:
Line 55: Line 54:
 1. Once you get one or more null space vectors, you can compute the elementary modes of the model and the stoichiometry of their overall reaction to check whether you have the exected conversion of glucose to ethanol.  1. Once you get one or more null space vectors, you can compute the elementary modes of the model and the stoichiometry of their overall reactions to check whether you have the expected conversion of glucose to ethanol.
Line 57: Line 56:
 1. The model can now be reduced by removing reactions that will always be dead. Calculate the enzyme subsets of the model; all the dead reactions will be in the "dead" subset. Rather than deleting the reactions immediately, remove them from the model by placing a comment marker, "#", at the start of each line belonging to an unwanted reaction. Recompile the model and check that you have not broken the network.  1. How much ATP does the Entner-Duodoroff pathway make per glucose metabolised? (Hint: what is the relative flux in the ATPase reaction?)
Line 59: Line 58:
 1. How many reactions are left in ZmED.spy when you have inactivated all the dead ones?

== Step 4 ==
Time permitting, go to [[http://mudshark.brookes.ac.uk/Meetings/Nepal2016/Prac2supp|the next part]].
== Step 4 - Comparison with other glycolytic routes ==
 1. Uncomment the 'Include(!UpperGlycol.spy)' statement in the Zymomonas.spy. Load the model again, and copy the reactions from [[http://mudsharkstatic.brookes.ac.uk/C1Net/Wshop4/P5/UpperGlycol.spy|UpperGlycol.spy]] into the corresponding model window and save it. Reload the model. This has supplemented the Zymomonas metabolism with conventional glycolysis and also lactate formation and excretion.
 1. Determine the elementary modes again. You should now have 4.
 1. Do these modes differ in their yield of ATP per glucose consumed?

Practical 5

Building a model from databases

Our aim is to construct a model of the Entner-Doudoroff pathway of glycolysis in the natural ethanol-fermenting organism Zymomonas mobilis. For examples of how such a model can be exploited, you can find two articles here and here.

Within ScrumPy, there is a module PyoCyc that can extract the required reaction equations from a downloaded copy of the MetaCyc database, starting from a list of the enzyme EC numbers. However, the BioCyc set of databases, including MetaCyc, have moved to a subscription model that makes it more difficult for us to share this with you. Hence you will need to consult the web version of the database and write the reaction equations your self.

Your task is to get the model to work so there is a viable route from glucose to ethanol.

Step 1 Initialisation

  1. Download, by right-clicking on its link, the ScrumPy file Zymomonas.spy and save it in the directory you are going to use for this exercise.

  2. Open the model file with ScrumPy. Two editor windows will open. The one for Zymomonas.spy contains some generic components of the model here that we are giving you as a starting point:

    1. An Include directive to the file !ZmED.spy which opens as the second, initially empty window into which you are going to write the pathwy reactions.

    2. A statement that WATER and PROTONS are regarded as external, freely-available species. Balancing every last PROTON is hard, so we're not going to struggle with t_hat yet.
    3. A set of transporter definitions that state that glucose (GLC), ethanol (ETOH) and carbon dioxide (CARBON-DIOXIDE) can exchange between the metabolism and the environment.
    4. A generic ATPase reaction that states that any ATP generated will be hydrolysed by other reactions in the cell.
  3. Note that this means you will need to use the same metabolite names for H2O, H+, etc.

Step 2 - Building the Model

  1. Thef EC numbers of the enzymes catalysing the Entner-Doudoroff pathway are: EC-2.7.1.2, EC-1.1.1.363 ( or EC-1.1.1.388), EC-3.1.1.31, EC-4.2.1.12, EC-4.1.2.14, plus the following reactions that are common to both the Entner-Duoidiroff pathway and Emden-Meyerhoff glycolysis: EC-1.2.1.12, EC-2.7.2.3, EC-5.4.2.11, EC-4.2.1.11, EC-2.7.1.40, EC-4.1.1.1, EC-1.1.1.1.
  2. Go to MetaCyc and enter the number for the first enzyme in the list: EC-2.7.1.2. (To speed things up, you might wish to work in pairs and split the enzyme list between you and then exchange results.)

  3. In the result, there is a section Reactions. Follow the link to the required reaction (since an enzyme can catalyse more than one reaction, and a reaction can be catalysed by more than one enzyme).The term at the end of the web link is the MetaCyc-specified reaction name. If you mouse over the metabolite names on the reaction page, the MetaCyc metabolite names will show up in the link after the 'META&id='.

  4. Enter the rection name, enclosed in double quotes ("), in the ZmED.spy file followed by a ':'; then write the reaction using the MetaCyc metabolite ids, each enclosed in double quotes again, followed by ' ~'. Replace a reaction arrow '→' by the ScrumPy syntax '->'. (Reversible reactions in MetaCyc are represented by '<>' in ScrumPy.) (We are not going to copy the reaction string on the original search result because those metabolite names are not the unique database names and are not necessarily consistent with ScrumPy syntax.)

  5. Searching for the next enzyme, EC-1.1.1.363, returns a reaction specification containing the metabolite' NAD-P-OR-NO-P, meaning there are two reactions possible; one with NAD+ and another with NADP+, and the corresponding products. The principal substrate in Z. mobilis is actually NAD+ (which is actually the specific reaction of EC-1.1.1.388), which we will represent as 'NAD', and the corresponding product is represented as 'NADH'.

  6. Continue through the list adding the appropriate reactions to the !Zm.ED.spy window. You will see that though the information you need is indeed contained in the database, it is still necessary for you to make decisions about which reactions to select, what to about 'NAD-P-OR-NO-P' etc.
  7. When you think you have added all the reactions, save the !ZmED.spy file.

Step 3 - Checking the Model

  1. Close the two model windows and load the model again.
  2. Find out if there is a potential pathway through it by calculating the null space of the stoichiometry matrix:
    ns = m.sm.NullSpace()
    ns
    • If the null space is empty, the system defined by this model cannot support a steady-state flux in any of its reactions and you need to find out what is wrong.
  3. The common possibilities for the lack of a viable route where there should be one are either missing reactions, or, when all the reactions are present, inconsistencies in metabolite definitions break the connectivity. Looking for dangling (orphan) metabolites can point to both of these issues, as you might find two names for the same metabolite, distinguished by a typo:

    m.sm.OrphanMets()
  4. If the network connectivity is being broken by inconsistent metabolite naming, edit ZmED.spy, save it, and recompile the model. Then check the null space and orphan metabolites again.
  5. Once you get one or more null space vectors, you can compute the elementary modes of the model and the stoichiometry of their overall reactions to check whether you have the expected conversion of glucose to ethanol.
  6. How much ATP does the Entner-Duodoroff pathway make per glucose metabolised? (Hint: what is the relative flux in the ATPase reaction?)

Step 4 - Comparison with other glycolytic routes

  1. Uncomment the 'Include(UpperGlycol.spy)' statement in the Zymomonas.spy. Load the model again, and copy the reactions from UpperGlycol.spy into the corresponding model window and save it. Reload the model. This has supplemented the Zymomonas metabolism with conventional glycolysis and also lactate formation and excretion.

  2. Determine the elementary modes again. You should now have 4.
  3. Do these modes differ in their yield of ATP per glucose consumed?

None: Meetings/C1netWork4/Prac5 (last edited 2018-01-17 11:26:07 by david)