Chair of Bioinformatics

    METATOOL

    Metaotool - Program for computing the nullspace matrix, elementary modes and other structural properties of biochemical reaction networks. Stand-alone version.

    Download MEtatool

    METATOOL5

    -windows

    -linux

    METATOOL4.9 double

    windows

    linux

    METATOOL 4.9 integer

    windows

    linux

    METATOOL 4.3 integer

    windows

    METATOOL 4.3 double

    windows

     

    METATOOL Introduction

    METATOOL is a C program developed from 1998 to 2000 by Thomas Pfeiffer (Berlin) in cooperationwith Juan Carlos Nuno (Madrid) Stefan Schuster and Ferdinand Moldenhauer (Berlin) . It serves to derive conclusionsabout the pathway structure of metabolic networks from the stoichiometric reaction equations and information aboutreversibility and irreversibility of enzymes. It is based on an algorithm described in the file algorithm.pdf.

    The latest version 25/October/2002 meta4.3_int.cpp implementsbetter performance and internal memory management than the older versions. The stoichiometric coefficients areintegers and intermediate results are calculated with integer numbers. For Win32 (Windows 95,NT 4.0 or XP) operating system please use meta4.3_int.exe.

    Sometimes intermediate results cause integer overflows. If meta4.3_int.exe breaks off the calculations by such an error, please restart the calculations employing meta4.3_double.exe (C++ sourcecode meta4.3_double.cpp). That program uses double real numbers. The results of metaX.x_double.exe and metaX.x_int.exe for "small" systems have to be the same. Meta4.x_double is able to read non-integer stoichiometric coefficients (see below). WARNING: The double version of METATOOL 4.3 contains many errors and should not be used! Please use version 4.9 or higher instead.

    New: since 04/Aug/2000

    1. One or more comment-lines can be written (only) at the top of the METATOOL input file, each line starting with (or containing) one # character.
    2. All enzymes and metabolites may contain white spaces.
    3. A leading underscore is not required anymore if a metabolite starts with a number.
    4. METATOOL can be started with or without parameters in the command line. For example: meta3.x.x_int.exe file.dat file.out
    5. The unreduced matrix instead of the reduced subset matrix is given in the elementary modes section.
    6. From version 3.2 on, subsets with irreversible constraints are handled correctly and gives a warning if enzymes or metabolites are declared several times.
    7. Branch point metabolites are shown.
    8. Subsets with contradictory irreversibility constraints are shown.
    9. Condition S(ml(j+1))⊄S(mij)∩S(mjk) (equation 7) is implemented.
    10. Non balanced internal metabolites (dead ends of modes) are indicated.
    11. From the version meta3.3_int on, larger systems are handled by reducing all integer numbers of each row in the new tableau by the greatest common denominator of that row.
    12. The stoichiometric coefficients are reduced in the overall reactions too by its greatest common denominator.
    13. The frequencies of metabolites are written at the beginning of the output file of METATOOL or optionally in an extra file "mets.txt" in the output directory (adjust source code).
    14. An error message is given if one enzyme reaction occurs twice in the -CAT section of the METATOOL input file.
    15. The comparison of elementary modes with the convex basis is improved (enzymes instead of the overall reactions).
    16. Version 3.4.3: Condition (7) was integrated in the routine for calculation of the convex basis, and their memory allocation was modified.
    17. If all enzyme reactions of an elementary mode have minus signs, than all minus signs are changed to plus signs(than the reaction goes along the direction as declared in input file).
    18. Version 3.4.4: The section conservation relation is expanded. The metabolite which fulfill the conservation relation follows the matrix output with their names.
    19. The logical error in function control_condition7 is corrected.
    20. Version 3.5: (28.03.2001) In function control_condition7 the reversibility's of rows in new tableaux are taken in consideration. The elementary modes of some examples are carefully manually compared with the output of the software EMPATH ftp://bms-mudshark.brookes.ac.uk/pub/mca/software/ibmpc/empath/.
    21. (23.07.2001) The source code of meta3.5.1_double.c (function ggt_matrix caused numerical inaccuracy) is adapted to meta3.5_int such the results of both programs are identically.
    22. Version 3.5.2: (17.10.2001) the frequencies of metabolites are summarized to connectivities.
    23. Enzymes not found in elementary modes are indicated.
    24. Enzymes not included in any of the elementary modes are listed following the overall reaction of elementarymodes.
    25. Version 3.5.3:(06.02.2002) control_condition7 contained had to be corrected (one line too much).
    26. The number of enzymes of each elementary mode is written (in parenthesis) in the output file within section"ELEMENTARY MODES".
    27. control_condition7 is faster than the old one.
    28. Version 3.6: (15.02.2002) METATOOL contains the source code of block_diag. The kernel (null space matrix) is decomposed in diagonal blocks. Hence, independent subnetworks can be detected. After the number of enzymes in section "ELEMENTARY MODES", the block number is written in brackets to which the elementary mode belongs.
    29. From this Version, METATOOL must be compiled with g++ (UNIX). It containsobjects (classes) for calculation of power law regression equation for the connectivities of the network (edgesand nodes) based on log10 edges and log10 frequency of nodes.
    30. Version 4.0: (07.03.2002) calculation of regression function's correlation coefficient and significance, writing to the section "edges frequency of nodes". Note that the correlation coefficient and significances valid for the linear form of the pow law function.
    31. Version 4.0.1 (21.03.2002) double version only: meta4.0.1_double.cpp (meta4.0.1_double.exe) and the following program versions are able to read stoichiometric coefficients as decimal numbers e.g. 0.667 (do not leave out the zero before the decimal point!) or integers with a fraction stroke e.g. 2/3. Since the stoichiometric coefficients are non-integers the block diagonalizing does not work any more. The coefficients for each row in kernel and in elementary modes sections are divided by the least coefficient of the respective row.
    32. Version 4.1. (28.08.2002): Commentaries can be written into the METATOOL input file at any location as used in the program language C. A double forward slash // means that the rest of the line will be ignored, or write your commentaries between /* and */. Commentaries slotted into each other are not allowed.
    33. The coefficients out of the matrix in section CONSERVATION RELATIONS are copied to the equations containingthe metabolite names.
    34. Version 4.2.(04.09.2002): According to (equation 7) rows are only deleted if the irreversible condition is fulfilled for both rows.
    35. Version 4.3. (25.10.2002): According to (equation 7) rows are only deleted if the irreversible condition is fulfilled for both rows.
    36. The function controlling (equation 7) is only applied to the last tableau.

    METATOOL (meta*.c) should preferably be compiled with the GNU compiler. For DOS and Win32 console applications,comment out the two lines

    #include <conio.h>

    and

    #include <malloc.h>

    The program requires the two file names. First the input file and second the output file in the command line.If they are not specified, the program will ask for them.

    To explain the format of the input file, we give an example file (Example.dat), which codifies a reaction scheme comprising the tricarboxylic acid cycle, glyoxylate shunt and adjacent reactions of amino acid synthesis in E. coli (cf. Ref. 1).

    If you download the ASCII-files (*.dat, *.c) please check the correct newline-character-transfer to your operatingsystem. For an easy transfer at Win32 platforms use (10to1310.exe).

    -ENZREV
    Eno Acn SucCD Sdh Fum Mdh AspC Gdh IlvEAvtA

    -ENZIRREV
    Pyk AceEF GltA Icd SucAB Icl Mas AspCon AspA Pck Ppc Pps GluConAlaCon SucCoACon

    -METINT
    Ala Asp Glu Gly Mal Fum Succ SucCoA OG IsoCit Cit OAA AcCoA CoAPyr PEP

    -METEXT
    Sucex Alaex Gluex ADP ATP AMP NH3 Aspex FADH2 FAD NADPH NADP NADH CO2 NAD PG

    -CAT
    Eno : PG = PEP .
    Pyk : PEP + ADP = Pyr + ATP .
    AceEF : Pyr + NAD + CoA = AcCoA + CO2 + NADH .
    GltA : OAA + AcCoA = Cit + CoA .
    Acn : Cit = IsoCit .
    Icd : IsoCit + NADP = OG + CO2 + NADPH .
    SucAB : OG + NAD + CoA = SucCoA + CO2 + NADH.
    SucCD : SucCoA + ADP = Succ + ATP + CoA .
    Sdh : Succ + FAD = Fum + FADH2 .
    Fum : Fum = Mal .
    Mdh : Mal + NAD = OAA + NADH .
    Icl : IsoCit = Succ + Gly .
    Mas : Gly + AcCoA = Mal + CoA .
    AspC : OAA + Glu = Asp + OG .
    AspCon : Asp = Aspex .
    AspA : Asp = Fum + NH3 .
    Gdh : OG + NH3 + NADPH = Glu + NADP .
    Pck : OAA + ATP = PEP + ADP + CO2 .
    Ppc : PEP + CO2 = OAA .
    Pps : Pyr + ATP = PEP + AMP .
    GluCon : Glu = Gluex .
    IlvEAvtA : Pyr + Glu = Ala + OG .
    AlaCon : Ala = Alaex .
    SucCoACon : SucCoA = Sucex + CoA

    Explanation:

    -ENZREV, -ENZIRREV
    After the key words -ENZREV and -ENZIRREV, names or abbreviations of the reversible and irreversible enzymes, respectively, have to be written.

    -METINT, -METEXT
    After the key word -METINT, names or abbreviations of the internal metabolites have to be written. Theseare the substances which have to fulfil a steady-state condition (production = consumption). After the key word -METEXT names or abbreviations of the external metabolites have to be written. External metabolites (sourcesand sinks) need not be balanced in the scheme under consideration. The order of these four fields is important.All internal and external metabolites must have an underscore or a letter (no number) as the first character andmust not include a white space in the old version. This restriction are not further required.

    -CAT
    After the key word -CAT, the reaction equations are listed in any order. The raction name is written firstjust as after the key words -ENZREV and -ENZREV. The reaction name is followed by a white space(space or tab), a colon and a white space. Then the stoichiometric reaction equation follows. Stoichiometric coefficientsare integers separated by a white space from the metabolites. After the metabolites, a white space and a plus oran equal sign and a white space follow. The end of each reaction equation is formed by a white space and a fullstop. Metabolites are written in the same way as after the key words -METINT and -METEXT. Theorder of metabolites in the reaction equations makes no difference. However, the sides of the reaction equationsare exchangeable only in the reversible reactions. The metabolites that are formed by the irreversible reactionshave to be written on the right side of the reaction equations.


    The program writes the results in an output file. For our example, this file reads as follows:

     

    METATOOL OUTPUT Version 3.0 [your path to]\meta3_int.exeINPUT 
    FILE: Example.datINTERNAL METABOLITES: 16REACTIONS: 24
    STOICHIOMETRIC MATRIX:

    matrix dimension 16 x 24
    0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0
    0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0
    0 0 0 0 0 0 -1 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 0
    0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
    0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
    0 0 1 -1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
    0 0 -1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
    0 0 0 0 0 0 1 -1 1 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0
    0 1 0 0 0 0 0 0 0 0 0 0 -1 0 -1 0 0 0 0 0 0 0 0 0
    0 -1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 1 -1 0 0 0 0 -1 0 0 0 0 0 0 -1 1 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 -1 0 0 0 0 0 0 0 0
    0 0 1 0 0 0 0 0 0 0 -1 1 0 -1 0 1 0 0 0 0 0 0 0 1
    0 0 0 0 0 0 0 0 -1 1 -1 0 0 0 0 0 0 0 0 0 -1 0 0 0
    1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 1 -1 1 0 0 0

    following line indicates reversible (0) and irreversible reactions
    (1) 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

     

    Explanation:

    The program gives the numbers of internal metabolites and reactions. It also parses the reactionequations and translates them into a stoichiometric matrix. This matrix includes the stoichiometric coefficients(molecularities) of the internal metabolites in all the reaction equations, with the rows corresponding to internalmetabolites and the columns corresponding to reactions. The line following the stoichiometric matrix indicatesthe reversible and irreversible reactions in the same order as after the key words -ENZREV and -ENZIRREV.

     

    KERNEL matrix dimension 9 x 24
    1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
    2 1 0 1 1 2 1 1 0 2 2 1 0 0 1 1 1 0 0 0 0 0 0 0
    0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
    1 1 0 1 1 2 0 0 0 2 2 1 0 0 1 1 0 0 1 0 0 0 0 0
    1 1 0 1 1 2 0 0 0 2 2 1 0 0 1 1 0 0 0 -1 0 0 0 0
    0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
    3 2 0 1 1 2 0 1 0 3 3 2 1 0 1 1 0 0 0 0 0 1 0 0
    1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0
    2 1 -1 0 0 1 0 0 0 2 2 1 0 0 1 1 0 0 0 0 0 0 0 1

     

    Explanation:

    The kernel or nullspace is the subspace of all flux vectors V that satisfy the equation Stoich. matrix times V = 0 (see Ref. 2). The rows of the above matrix span this subspace.

    enzymes
    1: Eno Acn SucCD Sdh Fum Mdh Pyk AceEF GltA Icd SucAB irreversible
    2: (2 Eno) Acn Sdh Fum (2 Mdh) AspC Gdh (2 Pyk) (2 AceEF) GltA Icl Mas AspCon irreversible
    3: Fum Mdh AspC Gdh AspA irreversible
    4: Eno Acn Sdh Fum (2 Mdh) (2 Pyk) (2 AceEF) GltA Icl Mas Pck irreversible
    5: Eno Acn Sdh Fum (2 Mdh) (2 Pyk) (2 AceEF) GltA Icl Mas -Ppc irreversible
    6: Pyk Pps irreversible
    7: (3 Eno) (2 Acn) Sdh Fum (2 Mdh) Gdh (3 Pyk) (3 AceEF) (2 GltA) Icd Icl Mas GluCon irreversible
    8: Eno Gdh IlvEAvtA Pyk AlaCon irreversible
    9: (2 Eno) Acn -SucCD Mdh (2 Pyk) (2 AceEF) GltA Icl Mas SucCoACon irreversible

    Explanation:

    This list contains the enzymes that correspond to the rows of the kernel matrix. The coefficientsindicate relative fluxes carried by the enzymes. A minus sign before an enzyme name stands for -1. The followingnine lines contain the sum of metabolites which are involved in these enzyme reactions. E.g. in reaction 6, Pykand Pps catalyse PEP + ADP = Pyr + ATP and Pyr + ATP = PEP + AMP, respectively, which gives, as the overall reaction:ADP = AMP.

    overall reaction
    1: 2 ADP + FAD + NADP + 3 NAD + PG = 2 ATP + FADH2 + NADPH + 3 NADH + 3 CO2
    2: 2 ADP + NH3 + FAD + NADPH + 4 NAD + 2 PG = 2 ATP + Aspex + FADH2 + NADP + 4 NADH + 2 CO2
    3: NADPH + NAD = NADP + NADH 4: ADP + FAD + 4 NAD + PG = ATP + FADH2 + 4 NADH + 3 CO2
    5: 2 ADP + FAD + 4 NAD + PG = 2 ATP + FADH2 + 4 NADH + 3 CO2
    6: ADP = AMP
    7: 3 ADP + NH3 + FAD + 5 NAD + 3 PG = Gluex + 3 ATP + FADH2 + 5 NADH + 4 CO2
    8: ADP + NH3 + NADPH + PG = Alaex + ATP + NADP
    9: ADP + 3 NAD + 2 PG = Sucex + ATP + 3 NADH + 2 CO2

     

    SUBSETS of reactions (21 rows) matrix dimension 21 x 24

    1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
    0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

     

    Explanation:

    Enzyme subsets are sets of enzymes that always operate together in fixed flux ratios. For example,if aconitase (Acn) is operative, then also citrate synthase (GltA) is operative. This information can be writtenin the form of a matrix (see above). For example, the second row contains ones at positions 2 and 12, which correspondto Acn and GltA. Below, this information is given in more detailed form, together with the overall reactions of the subsets.

    enzymes 1: Eno
    reversible 2: Acn GltA
    irreversible 3: SucCD
    reversible 4: Sdh
    reversible 5: Fum
    reversible 6: Mdh
    reversible 7: AspC
    reversible 8: Gdh
    reversible 9: IlvEAvtA AlaCon
    irreversible 10: Pyk
    irreversible 11: AceEF
    irreversible 12: Icd
    irreversible 13: SucAB
    irreversible 14: Icl Mas
    irreversible 15: AspCon
    irreversible 16: AspA
    irreversible 17: Pck
    irreversible 18: Ppc
    irreversible 19: Pps
    irreversible 20: GluCon
    irreversible 21: SucCoACon irreversible overall reaction

    1: PG = PEP
    2: OAA + AcCoA = IsoCit + CoA
    3: SucCoA + ADP = Succ + CoA + ATP
    4: Succ + FAD = Fum + FADH2
    5: Fum = Mal
    6: Mal + NAD = OAA + NADH
    7: Glu + OAA = Asp + OG
    8: OG + NH3 + NADPH = Glu + NADP
    9: Glu + Pyr = OG + Alaex
    10: PEP + ADP = Pyr + ATP
    11: CoA + Pyr + NAD = AcCoA + NADH + CO2
    12: IsoCit + NADP = OG + NADPH + CO2
    13: OG + CoA + NAD = SucCoA + NADH + CO2
    14: IsoCit + AcCoA = Mal + Succ + CoA
    15: Asp = Aspex
    16: Asp = Fum + NH3
    17: OAA + ATP = PEP + ADP + CO2
    18: PEP + CO2 = OAA
    19: Pyr + ATP = PEP + AMP
    20: Glu = Gluex
    21: SucCoA = CoA + Sucex

    Explanation:

    Enzymes belonging to the same subset can be lumped. This gives rise to the following reduced reaction system.

     

    REDUCED SYSTEM with 13 branch point
    metabolites in 21 reactions (columns) matrix dimension 13 x 21
    0 0 0 0 0 0 1 0 0 0 0 0 0
    0 -1 -1 0 0 0 0 0 0 0 0 0 0
    0 -1 1 -1 0 0 0 0 0 0 0 0 0
    0 -1 0 0 0 0 0 1 -1 0 0 0 0
    0 0 0 1 0 0 0 0 0 0 0 0 0
    0 1 -1 0 0 0 0 0 0 0 0 0 0
    1 0 0 0 0 0 0 0 1 -1 0 0 0
    0 0 0 0 0 0 1 0 0 0 0 0 0
    0 0 0 -1 0 0 0 0 0 0 0 0 0
    1 0 0 0 0 0 0 0 -1 0 0 0 0
    0 0 1 -1 1 0 0 1 -1 0 0 0 0
    0 0 0 0 0 1 0 0 0 0 0 0 0
    0 0 -1 0 -1 0 0 0 0 0 0 0 0
    -1 0 0 0 1 -1 0 0 0 0 0 0 0
    0 0 -1 1 0 0 0 0 -1 0 0 0 0
    0 0 0 0 1 0 0 -1 0 0 0 0 0
    0 0 0 1 1 0 0 0 0 0 0 0 -1
    0 -1 1 0 0 0 0 0 0 1 0 0 0
    0 0 0 0 0 -1 1 -1 0 0 0 0 0
    0 0 -1 0 0 1 0 0 0 0 0 0 0
    0 -1 0 0 0 0 0 0 1 -1 1 0 0

    following line indicates reversible (0) and irreversible reactions (1)
    0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1

     

    Explanation:

    "The simplified system is a kind of skeleton model of the original system. It contains onlymetabolites at branch points. Skeleton models are often used in metabolic modeling to reduce the number of variables"(see Refs. 5, 6, 7).

     

    CONVEX BASIS matrix dimension 12 x 21
    0 0 0 0 1 1 1 1 0 0 0 0
    0 0 0 1 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0
    0 1 1 0 0 0 0 0 0 0 0 0
    0 0 0 1 0 0 0 0 0 0 0 0
    1 0 0 1 0 0 0 0 0 1 1 0
    0 0 0 0 0 1 0 0 1 0 0 0
    1 0 -1 -1 -1 -1 0 0 0 0 0 0
    0 0 0 0 0 1 0 0 1 1 0 0
    0 0 0 0 1 1 1 0 0 0 0 0
    0 0 0 0 0 0 1 1 1 1 1 1
    0 0 0 1 1 1 1 0 0 0 0 0
    0 0 0 2 1 0 0 0 0 0 1 0
    1 1 1 0 0 0 0 0 1 0 1 0
    1 1 0 1 1 2 0 0 0 2 2 0
    0 1 0 0 1 0 0 0 0 2 1 0
    1 1 2 1 1 0 2 2 0 0 1 1
    0 0 0 0 0 0 2 1 -1 0 0 1
    0 0 0 2 2 0 0 1 0 0 0 0
    0 0 1 3 2 0 1 1 2 0 1 0
    3 3 1 0 1 0 0 0 0 0 1 0

     

    enzymes
    1: Fum Mdh AspC Gdh AspA irreversible
    2: Pck Ppc irreversible
    3: Pyk Pps irreversible
    4: Eno AspC Gdh AspCon Ppc irreversible
    5: Eno -SucCD -Sdh -Fum -Mdh Ppc SucCoACon irreversible
    6: Eno Gdh IlvEAvtA Pyk AlaCon irreversible
    7: Eno Acn SucCD Sdh Fum Mdh Pyk AceEF GltA Icd SucAB irreversible
    8: (2 Eno) Acn Gdh Pyk AceEF GltA Icd Ppc GluCon irreversible
    9: Eno Acn Sdh Fum (2 Mdh) (2 Pyk) (2 AceEF) GltA Icl Mas Pck irreversible
    10: (2 Eno) Acn Sdh Fum (2 Mdh) AspC Gdh (2 Pyk) (2 AceEF) GltA Icl Mas AspCon irreversible
    11: (2 Eno) Acn -SucCD Mdh (2 Pyk) (2 AceEF) GltA Icl Mas SucCoACon irreversible
    12: (3 Eno) (2 Acn) Sdh Fum (2 Mdh) Gdh (3 Pyk) (3 AceEF) (2 GltA) Icd Icl Mas GluCon irreversible

    overall reaction
    1: NADPH + NAD = NADP + NADH
    2: ATP = ADP
    3: ADP = AMP
    4: NH3 + NADPH + CO2 + PG = Aspex + NADP
    5: ATP + FADH2 + NADH + CO2 + PG = Sucex + ADP + FAD + NAD
    6: ADP + NH3 + NADPH + PG = Alaex + ATP + NADP
    7: 2 ADP + FAD + NADP + 3 NAD + PG = 2 ATP + FADH2 + NADPH + 3 NADH + 3 CO2
    8: ADP + NH3 + NAD + 2 PG = Gluex + ATP + NADH + CO2
    9: ADP + FAD + 4 NAD + PG = ATP + FADH2 + 4 NADH + 3 CO2
    10: 2 ADP + NH3 + FAD + NADPH + 4 NAD + 2 PG = 2 ATP + Aspex + FADH2 + NADP + 4 NADH + 2 CO2
    11: ADP + 3 NAD + 2 PG = Sucex + ATP + 3 NADH + 2 CO2
    12: 3 ADP + NH3 + FAD + 5 NAD + 3 PG = Gluex + 3 ATP + FADH2 + 5 NADH + 4 CO2

    Explanation:

    The convex basis is the minimum number of elementary modes to reconstruct the whole reaction system.Any admissible flux distribution in the system (i.e. any distribution that is compatible with the steady-statecondition and the directionality of the irreversible reactions) can be written as a non-negative linear combinationof the vectors forming the convex basis (Ref. 5). These vectors form the rows of the abovematrix. These rows are then translated into lists of enzymes in the same way as have been translated above therows of the null-space matrix. A basis vector is reversible if its negative is an admissible flux distributionas well, otherwise it is irreversible.

     

    CONSERVATON RELATIONS
    matrix dimension 1 x 16
    0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0

     

    Explanation:

    Conservation relations indicate that linear combinations (e.g. the sum) of several internal metabolitesare constant. The metabolites are in the same order as after the keyword -METINT. The above row meansthat SucCoA + AcCoA + CoA = const. (Minus signs in the above row is irrelevant because we can multiply the equationby -1).

     

    ELEMENTARY MODES
    matrix dimension 16 x 21
    0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0
    0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1
    0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0
    1 0 0 0 1 0 -1 -1 -1 -1 0 0 0 0 0 0
    0 0 0 0 0 1 0 0 1 1 0 -1 -1 0 0 1
    1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0
    0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
    0 0 0 2 1 -1 0 0 1 0 0 0 2 2 0 0
    1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0
    0 1 1 1 1 0 0 0 0 0 0 0 0 3 1 -2
    -1 -1 0 0 0 0 2 2 0 0 1 0 0 0 1 0
    0 2 2 1 0 0 0 0 0 1 0 1 1 1 0 0
    0 0 0 1 0 1 0 2 1 0 0 0 0 0 0 0
    1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1
    1 2 0 0 0 2 2 0 0 1 0 0 1 0 0 0
    0 2 1 0 1 1 2 1 1 0 2 2 0 0 1 1
    0 0 0 0 0 0 3 2 0 1 1 2 0 1 0 3
    3 1 0 1 0 0 0 0 0 1 0 3 2 0 1 1
    2 0 0 0 3 3 1 1 1 0 0 0 0 0 0 1

     

    Explanation:

    The choice of the basis vectors of the kernel (or nullspace) is not unique. Therefore, it wasproposed (Refs. 1, 3, 4, 5, 7) to take a complete set of the simplest basis vectors compatible with the directionality ofthe irreversible reactions. These are called elementary modes. There may be more of them then actually needed tospan the admissible region in flux space, but they have the favourable property to be uniquely determined (up toscalar multiples). These modes can be brought in relation with the biochemical pathways in the system. The rowsof the elementary modes matrix give the elementary modes for our example system.

    enzymes
    1: Fum Mdh AspC Gdh AspA irreversible
    2: Pck Ppc irreversible
    3: Pyk Pps irreversible
    4: Eno AspC Gdh AspCon Ppc irreversible
    5: Eno -SucCD -Sdh -Fum -Mdh Ppc SucCoACon irreversible
    6: Eno -SucCD -Sdh AspC Gdh AspA Ppc SucCoACon irreversible
    7: Eno Gdh IlvEAvtA Pyk AlaCon irreversible
    8: (2 Eno) Acn -SucCD Mdh (2 Pyk) (2 AceEF) GltA Icl Mas SucCoACon irreversible
    9: Eno Acn SucCD Sdh Fum Mdh Pyk AceEF GltA Icd SucAB irreversible
    10: (3 Eno) Acn (-2 SucCD) -Sdh -Fum (2 Pyk) (2 AceEF) GltA Icl Mas Ppc (2 SucCoACon) irreversible
    11: (2 Eno) Acn Gdh Pyk AceEF GltA Icd Ppc GluCon irreversible
    12: (2 Eno) Acn Pyk AceEF GltA Icd SucAB Ppc SucCoACon irreversible
    13: Eno Acn Sdh Fum (2 Mdh) (2 Pyk) (2 AceEF) GltA Icl Mas Pck irreversible
    14: (2 Eno) Acn Sdh Fum (2 Mdh) AspC Gdh (2 Pyk) (2 AceEF) GltA Icl Mas AspCon irreversible
    15: (3 Eno) (2 Acn) Sdh Fum (2 Mdh) Gdh (3 Pyk) (3 AceEF) (2 GltA) Icd Icl Mas GluCon irreversible
    16: (3 Eno) (2 Acn) Sdh Fum (2 Mdh) (3 Pyk) (3 AceEF) (2 GltA) Icd SucAB Icl Mas SucCoACon irreversible
    overall reaction
    1: NADPH + NAD = NADP + NADH
    2: ATP = ADP
    3: ADP = AMP
    4: NH3 + NADPH + CO2 + PG = Aspex + NADP
    5: ATP + FADH2 + NADH + CO2 + PG = Sucex + ADP + FAD + NAD
    6: ATP + FADH2 + NADPH + CO2 + PG = Sucex + ADP + FAD + NADP
    7: ADP + NH3 + NADPH + PG = Alaex + ATP + NADP
    8: ADP + 3 NAD + 2 PG = Sucex + ATP + 3 NADH + 2 CO2
    9: 2 ADP + FAD + NADP + 3 NAD + PG = 2 ATP + FADH2 + NADPH + 3 NADH + 3 CO2
    10: FADH2 + 2 NAD + 3 PG = 2 Sucex + FAD + 2 NADH + CO2
    11: ADP + NH3 + NAD + 2 PG = Gluex + ATP + NADH + CO2
    12: ADP + NADP + 2 NAD + 2 PG = Sucex + ATP + NADPH + 2 NADH + 2 CO2
    13: ADP + FAD + 4 NAD + PG = ATP + FADH2 + 4 NADH + 3 CO2
    14: 2 ADP + NH3 + FAD + NADPH + 4 NAD + 2 PG = 2 ATP + Aspex + FADH2 + NADP + 4 NADH + 2 CO2
    15: 3 ADP + NH3 + FAD + 5 NAD + 3 PG = Gluex + 3 ATP + FADH2 + 5 NADH + 4 CO2
    16: 3 ADP + FAD + NADP + 6 NAD + 3 PG = Sucex + 3 ATP + FADH2 + NADPH + 6 NADH + 5 CO2

    The elementary modes 6 10 12 16 are additional to the convex basis.

    Explanation:

    Above is the verbal listing of the elementary modes and of the overall reactions in terms ofthe external metabolites.

    References

    1. Schuster, S., Dandekar, T and Fell, D. (1999) Detection of elementary flux modes in biochemicalnetworks: a promising tool for pathway analysis and metabolic engineering, TIBTECH, 17, 53-60.

    2. Reder, C. (1988) Metabolic control theory: a structural approach. J. theor. Biol. 135,175-201.

    3. Schuster, S. and Hilgetag, C. (1994) On elementary flux modes in biochemical reactionsystems at steady state. J. Biol. Syst. 2, 165-182.

    4. Schuster, S., Hilgetag, C., Woods, J. H. and Fell, D. A. (1996) Elementary modes of functioningin biochemical networks. In: Computation in Cellular and Molecular Biological Systems (Cuthbertson, R., Holcombe,M. and Paton, R., eds), pp. 151-165, World Scientific, Singapore.

    5. T. Pfeiffer, I. Sanchez-Valdenebro, J. C. Nuno, F. Montero and S. Schuster: METATOOL:For Studying Metabolic Networks, Bioinformatics 15 (1999) 251-257.

    6. R. Heinrich, H.-G. Holzhuetter and S. Schuster (1987) A theoretical approach to the evolutionand structural design of enzymatic networks; linear enzymatic chains, branched pathways and glycolysis of erythrocytes,Bull. Math. Biol. 49, 539-595

    7. R. Heinrich and S. Schuster (1996) The Regulation of Cellular Systems, Chapman & Hall,New York.

     

    METATOOL 5 Usage

    Using standard Metatool input files

    The standard Metatool input format is described here. Start your math program and cd into the directory where you have placed the files (or tell the program to include the directory in its search path). Then execute:

    ex= parse('example.dat');

    This will read the input file and store its content into several fields of the data structure 'ex' (the field names are: 'st', 'irrev_react', 'ext', 'ext_met', 'int_met', 'react_name'; cf. table below). If you get an error when executing this command, look in the known problems section below. The 'parse' command alone is useful when you want to manipulate the input data before the calculations. You can now call

    ex= metatool(ex);

    to perform the calculations or if you want both steps in one go you can directly call

    ex= metatool('example.dat');

    This will perform most of the operations that the stand-alone Metatool does and stores the results in the variable 'ex'. If you run metatool with a second argument as in

    ex= metatool('example.dat', 'example.out');

    then it will produce an ouput file similar to the one of the stand-alone version. There are two drawbacks with this kind of output: First, it is not possible to load this output later again. Second, for large systems the process of writing this file is very time-consuming. Therefore it is often better to use the built-in functions of the math program to save and load your data.
    The variable 'ex' (or whatever you choose to call it) is a structure that contains several fields, the most important of which are:

    st stoichiometric matrix (rows correspond to internal metabolites, columns to reactions)
    irrev_react row vector which contains 0 for a reversible and 1 for an irreversible reaction
    kn kernel (nullspace) of the stoichiometric matrix
    sub subset matrix (rows correspond to the subsets, columns to the reactions in st)
    rd reduced system
    irrev_rd reversibility of the subsets in the reduced system
    rd_ems elementary modes of the reduced system (rows correspond to the subsets, columns are elementary modes)
    irrev_ems row vector which contains 0 for a reversible and 1 for an irreversible elementary mode
    ext same structure as st, but rows correspond to external metabolites
    int_met names of the internal metabolites
    ext_met names of the external metabolites
    react_name names of the reactions

    The fields in bold print are those wich are created by reading an input file or converting a SBML model. The other fields contain the results of calculations.
    When you call metatool with a second argument so that an output file is produced, there will also be a field calles 'ems' in the return variable. This field contains the elementary modes of the full system. When you run metatool without producing an output file, the elementary modes for the full system are not produced. The reason for this is to save memory since the the number of elementary modes in large/complex networks can explode. If you want to expand the elementary modes to the original system do this:

    ex.ems= ex.sub' * ex.rd_ems;

    Of course, this will produce one large matrix. But you can also choose which modes to expand by using the standard indexing mechanisms (cf. math program documentation), e.g.

    ems_part= ex.sub' * ex.rd_ems(:, 1:10);

    will only expand the first ten elementary modes. To examine the numerical quality of the result you can look at something likes this:

    max(max(abs(ex.rd * ex.rd_ems)))

    Ideally, the result should be zero or a very small number. If all your stoichiometric coefficients were integers and the result is not 0, something went wrong.

    Using a stoichiometric matrix directly

    In case you don't have your network as a metatool input file but want to calculate the elementary modes for a stoichiometric matrix directly, this is also possible. You simply have to set up a variable with the two fields 'st' and 'irrev_react' in the same way as described in the table above. Here is an example how to calculate the elementary modes of a network with two metabolites and four reactions:

    net.st= [1 1 -1 0; 0 0 1 -1];
    net.irrev_react= [1 0 1 1];
    net= metatool(net);

    After calculation, net.rd_ems contains the elementary modes of the reduced system. Since no reaction and metabolite names were given, no metatool output file can be produced.

    Using a SBML model

    If you want to use a model that is available in SBML format you first need to convert the SBML file into a data structure that is accessible within your math program. This can be done with the SBML toolbox which provides a command (TranslateSBML) that reads a SBML file and returns a struct variable. However, installation of this toolbox may require some effort. The first step in loading a SBML model is then to call:

    mySBMLmodel= TranslateSBML('mySBMLfile.xml');

    The result can then be convertet into a struct variable that can be used by Metatool with:

    myMetatoolModel= sbmlModel2metatool(mySBMLmodel);

    During the execution of this command you will be asked for every compartment in the model whether or not the metabolites that it contains should be considered as external. Finally, you can calculate the elementary modes with:

    myMetatoolModel= metatool(myMetatoolModel);

    After calculation, net.rd_ems contains the elementary modes of the reduced system. Because reaction and metabolite names were copied from the SBML model, a metatool output file can additionally be produced.

     

     

     

    Contact

    Lehrstuhl für Bioinformatik
    Am Hubland
    97074 Würzburg

    Tel. +49 931 31-84550
    Fax: +49 931 31-84552

    Find Contact

    Hubland Süd Hubland Nord Campus Dallenberg Fabrikschleichach Humangenetik Campus Medizin