
Enzymes
enzyme.RdUse enzyme() with a gene symbol or an abstract name to load a predefined enzyme.
For example, use enzyme("ST3GAL3") to load the enzyme ST3GAL3,
and enzyme("ManII") for a general ManII (possibly MAN2A1 or MAN2A2).
It returns an enzyme object that can be passed to any enzyme argument
of all functions in this package.
As a shortcut, passing a name is also valid, e.g. have_enzyme(glycan, "ST3GAL3").
Arguments
- symbol
The gene symbol of an ordinary enzyme or the name of an abstract activity listed by
abstract_enzymes().
Value
A glyenzy_enzyme object. Abstract activities additionally inherit
from glyenzy_abstract_enzyme.
Enzyme types (biological)
Enzymes can be classified by their biological rules. Three types of enzymes can be 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.
Enzyme types (computational)
There're also three types of enzymes you'll encounter in this package depending on how we define them, they are concrete enzymes, abstract enzymes, and virtual enzymes.
Concrete enzymes are the enzymes represented by gene symbols, e.g. B4GALT1. There can be many isoenzymes on this level. For example, B4GALT1/2/3/4/5 are all isoenzymes with similar substrate specificity.
Abstract enzymes are conventional enzymes without considering isoenzymes. For example, the above enzymes are described as b4GalT. Other examples include ManI, ManII, GnTI, etc. Currently only abstract enzymes for N-glycan biosynthesis are supported.
Both concrete and abstract enzymes can be used in enzyme or enzymes
arguments throughout this package. A single enzymes collection must
contain only concrete enzymes or only abstract enzymes; the two types cannot
be mixed. Both types are also supported by the enzyme() function.
Another type of enzymes is called the virtual enzymes.
You'll see them in the results of path_biosynthesis_virtual() and trace_biosynthesis_virtual().
Find out more in the documentation of these two functions.
Explanation about glyenzy_enzyme
An enzyme() is a list with the following elements:
name: the name of the enzyme, usually the gene symbol.rules: a list ofglyenzy_enzyme_ruleobjects. Each rule is a list with the following fields:acceptor: the motif that the enzyme recognizesacceptor_alignment: the alignment of theacceptorrejects: the motifs that the enzyme rejects to act onrequires: optional OR-valued context motifs. When present, at least one requirement must match.product: the product generated by the enzymeacceptor_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_idxis 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 isNULL.new_residue: the new residue added by a GT. For GHs and STs, this isNULL.new_linkage: the linkage of the new residue added by a GT. For GHs and STs, this isNULL.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.
type: the broad type of the enzyme,"GT"for glycosyltransferase,"GH"for glycoside hydrolase, or"ST"for sulfotransferase. Starter GTs are encoded astype = "GT".species: the species of the enzyme, e.g. "human" or "mouse".glycan_type:NULLfor 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-"
enzyme("ManII")
#>
#> ── Enzyme: ManII ───────────────────────────────────────────────────────────────
#> ℹ Type: "GH" (Glycoside hydrolase)
#> ℹ Species: "unspecified"
#> ℹ Glycan type: "N"
#> ℹ Abstract enzyme; localization: "medial"
#>
#> ── Rules (1) ──
#>
#> → Rule 1: core alignment
#> Acceptor:
#> "GlcNAc(b1-2)Man(a1-3)[Man(a1-3/6)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-"
#> Product: "GlcNAc(b1-2)Man(a1-3)[Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-"
#> Rejects:
#> "GlcNAc(b1-2)Man(a1-3)[GlcNAc(b1-4)][Man(a1-3/6)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-"
#> "Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Man(a1-3/6)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-"