
Find a Virtual Biosynthesis Path Between Glycan Structures
path_biosynthesis_virtual.RdInfer every structure-driven biosynthetic path from from to to by
trimming terminal residues and sulfate groups from to backward to from.
Unlike path_biosynthesis(), this does not require known enzyme rules.
Arguments
- from
A
glyrepr::glycan_structure()scalar, or a character string supported byglyparse::auto_parse(). The starting glycan structure.- to
A
glyrepr::glycan_structure()scalar, or a character string supported byglyparse::auto_parse(). The target glycan structure.- enzymes
A character vector of concrete gene symbols or abstract activity names, or a list of
enzyme()objects. Concrete and abstract enzymes cannot be mixed. Used only whenannotate_enzymesisTRUE; ifNULL, all available concrete enzymes are considered.- annotate_enzymes
Whether to annotate each virtual transition with concrete enzymes whose rules can perform it. Defaults to
FALSE.
Value
A glyenzy_virtual_biosynthesis_network object inheriting from
glyenzy_biosynthesis_network and igraph::igraph(). Vertices contain
IUPAC-condensed strings in name and a logical target attribute indicating
the target glycan. At most one directed edge connects each substrate and
product. Edges have a forward step, is_virtual = TRUE, a virtual-enzyme
enzyme label, and a list-valued enzymes attribute. When
annotate_enzymes is TRUE, enzymes contains every candidate concrete
enzyme for each transition; otherwise each element is empty.
Virtual enzymes
Each edge is named for the residue added by that step. Intact glycans include
the linkage anomer and acceptor position, so a beta-1,4-linked GlcNAc is
labeled "b4GlcNAcT". Topological glycans omit linkage
information and use "GlcNAcT". Generic topological glycans use
their preserved generic residue names, such as "HexNAcT".
Sulfation is represented as its own atomic transition. Sulfate additions at
positions 3 and 6 use "3SulfoT" and "6SulfoT"; an unknown or other
position uses "?SulfoT". A sulfated terminal residue is therefore
desulfated before the residue itself can be trimmed.
Virtual tracing starts N-glycans at the N-glycan core and all other glycans
at their reducing-end root residue. Sulfates are removed from these
automatically selected starts. In path_biosynthesis_virtual(), the
explicit from glycan is always the virtual starting structure, including
any sulfate groups it contains; those sulfates must also occur in to.
These networks represent structural possibilities rather than biological
feasibility.
Generic structures do not retain glycan-class metadata. A generic structure
matching the N-glycan-core topology is therefore assumed to be an N-glycan;
use path_biosynthesis_virtual() with an explicit from when that topology
belongs to another glycan class.
Input compatibility
trace_biosynthesis(), trace_biosynthesis_virtual(),
path_biosynthesis(), and path_biosynthesis_virtual() accept only
glycans that share one monosaccharide type ("concrete" or "generic")
and one structure level ("intact" or "topological"). Structures with
mixed generic and concrete residues, partial structures, and missing
structures are not supported. In the path_*() functions, from and to
must have the same monosaccharide type and structure level.
Use glyrepr::convert_to_generic() to standardize monosaccharide types or
glyrepr::remove_linkages() to standardize structures at the topological
level.