Skip to contents

Three types of enzymes are represented: glycosyltransferases (GTs), glycoside hydrolases (GHs), and sulfotransferases (STs).

  • GTs catalyze the transfer of a sugar residue from a donor to an acceptor, thus building up glycan structures.

  • GHs catalyze the removal of a sugar residue from a substrate, thus breaking down glycan structures.

  • STs add a sulfate substituent to an existing glycan residue.

One special subtype of GTs are starter GTs (or initiating GTs), which catalyze the addition of the first sugar residue onto a non-glycan substrate, thus initiating glycosylation.

Use enzyme() with a gene symbol to load a predefined enzyme. For example, use enzyme("ST3GAL3") to load the enzyme ST3GAL3.

Throughout the package, you can use enzyme()s for any enzyme argument, or just use the gene symbol directly. For example, involve("Neu5Ac(a2-3)Gal(b1-3)GalNAc(a1-", "ST3GAL3") and involve("Neu5Ac(a2-3)Gal(b1-3)GalNAc(a1-", enzyme("ST3GAL3")) are equivalent.

Usage

enzyme(symbol)

Arguments

symbol

The gene symbol of the enzyme.

Value

A glyenzy_enzyme object.

Explanation about glyenzy_enzyme

An enzyme() is a list with the following elements:

  1. name: the name of the enzyme, usually the gene symbol.

  2. rules: a list of glyenzy_enzyme_rule objects. Each rule is a list with the following fields:

    • acceptor: the motif that the enzyme recognizes

    • acceptor_alignment: the alignment of the acceptor

    • rejects: the motifs that the enzyme rejects to act on

    • requires: optional OR-valued context motifs. When present, at least one requirement must match.

    • product: the product generated by the enzyme

    • acceptor_idx: the node index of the acceptor where the enzyme acts on. For GTs, this is the node new residue is attached to. For GHs, this is the node that is removed. For starter GTs, acceptor_idx is 0.

    • product_idx: the node index of the product residue in the product structure. For GTs, this is the index of the newly added residue in the product. For STs, this is the product node corresponding to the modified acceptor residue. For GHs, this is NULL.

    • new_residue: the new residue added by a GT. For GHs and STs, this is NULL.

    • new_linkage: the linkage of the new residue added by a GT. For GHs and STs, this is NULL.

    • new_substituent: for STs, the sulfate token added by the rule, such as "6S". This field is absent for other enzyme types.

    • product_sub: for STs, the canonical complete substituent state of the modified product residue, such as "3S,6S". This field is absent for other enzyme types.

  3. type: the broad type of the enzyme, "GT" for glycosyltransferase, "GH" for glycoside hydrolase, or "ST" for sulfotransferase. Starter GTs are encoded as type = "GT".

  4. species: the species of the enzyme, e.g. "human" or "mouse".

  5. glycan_type: NULL for enzymes that can act on all glycan classes, or one or more of "N", "O", "lipid", and "free" for class-specific enzymes. Structures ending in Glc or Gal without a represented carrier are compatible with both "lipid" and "free".

You can see all these information by printing the enzyme object.

Examples

library(glyrepr)

enzyme("ST3GAL3")
#> 
#> ── Enzyme: ST3GAL3 ─────────────────────────────────────────────────────────────
#>  Type: "GT" (Glycosyltransferase)
#>  Species: "human"
#>  Glycan type: "lipid" and "free"
#> 
#> ── Rules (4) ──
#> 
#> → Rule 1: terminal alignment
#> Acceptor: "Gal(b1-3)GlcNAc(b1-"
#> Product: "Neu5Ac(a2-3)Gal(b1-3)GlcNAc(b1-"
#> Rejects:
#> "Gal(b1-3)[Fuc(a1-4)]GlcNAc(b1-"
#> → Rule 2: terminal alignment
#> Acceptor: "Gal(b1-4)GlcNAc(b1-"
#> Product: "Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-"
#> Rejects:
#> "Fuc(a1-3)[Gal(b1-4)]GlcNAc(b1-"
#> → Rule 3: core alignment
#> Acceptor: "Gal(b1-3)GalNAc(a1-"
#> Product: "Neu5Ac(a2-3)Gal(b1-3)GalNAc(a1-"
#> → Rule 4: terminal alignment
#> Acceptor: "Gal(b1-4)Glc(b1-"
#> Product: "Neu5Ac(a2-3)Gal(b1-4)Glc(b1-"