Whether a module is complete or not can easily be checked by evaluating the Definition entry associated with the module; e.g. in module M00010, it is given by

Definition  K01647 (K01681,K01682) (K00031,K00030)

which can be translated to

K01647 AND (K01681 OR K01682) AND (K00031 OR K00030)

If this expression evaluates to TRUE, the module is complete.

Now I am wondering whether analogue information exists for a single reaction. So e.g. for R00352, one finds the following information about Orthology:

enter image description here

But how do I now know in which logical relation the KOs are?

So it could be

K01648 AND K15230 AND K15231 


K01648 OR (K15230 AND K15231)

and so on.

Can this information be retrieved from KEGG and if so, how?


In the above example, the correct expression would be:

K01648 OR (K15230 AND K15231)

One either needs K01648 or the other two subunits together. So, unfortunately, it is not as easy as @aretaon describes it in his answer since just one of the two subunits would not be sufficient. One can therefore not just connect the KOs associated to a reaction using a logical OR.


To rephrase what you already mentioned in your question: For a KEGG Module to be completed (so that an organism can perform a certain function) you need a certain set of functional units or enzymes. So to evaluate the abilities of an organism you would check its genome for the gene sequences related to the module by performing the logical operation you mentioned above.

A Module is composed of chemicals (C) and reactions (R), as you can see in your given example. To explain the differences between modules and reactions best have a look at the last reaction, Isocitrate to 2-Oxoglutarate. There are three boxed reactions (one of them is a combination of two) that all lead to Oxoglutarate. When you look at the Orthology (the enzymes involved) for the reactions in the first box (R01899+R00268) and the second box (R00267) you will see, that it's the same enzyme (K0030) performing different reactions. The third box now contains a reaction (R00709) performed by a second enzyme (K0031), that leads the same way (it differs in using NAD+ instead of NADP+ as electron acceptor). So for the module to be completed you could use either of the two (that’s the reason for the OR-operator in the logical operation).

If you now want to evaluate if a certain type of reaction occurs in a given organism it is sufficient to have one of the possible enzymes catalysing this reaction. So:

K01648 OR K15230 OR K15231 
  • $\begingroup$ Thanks for your reply. Unfortunately, it is not that simple (see my EDIT), but I wish it was... ;) $\endgroup$
    – Cleb
    Jun 3 '16 at 8:21
  • $\begingroup$ I tried to find another way but I think there is none. The logical syntax you describe is defined only for modules - and modules cover only selected parts of all pathways. So to be certain if the enzyme in a reaction is only part of a multi-enzyme complex (as in your example) you even cannot go back to pathways because the required parts aren't defined there either. $\endgroup$
    – aretaon
    Jun 9 '16 at 22:06
  • $\begingroup$ Yes. I tried to infer it from the module structure and the reaction list but that doesn't work either since that is inconsistent between modules, unfortunately... Too bad that there is no solution to this issue, it seems. $\endgroup$
    – Cleb
    Jun 9 '16 at 22:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.