An N-glycan branching motif if the substructures linked to either the a3- or a6-core-mannose.
For example:
This function returns all the unique branching motifs found in the input glycans.
If you want to perform branching motif matching in functions like have_motifs() or glydet::quantify_motifs(),
use the branch_motifs() helper instead,
which handles additional intricacies related to how the motifs should be matched.
Arguments
- glycans
One of:
A
glyrepr::glycan_structure()vector.A glycan structure string vector. All formats supported by
glyparse::auto_parse()are accepted.
- ...
These dots must be empty and are used only to force optional arguments to be supplied by name.
- including_core
A logical scalar. If
TRUE, the N-glycan core structure (Man(??-?)Man(??-?)GlcNAc(??-?)GlcNAc(??-orHex(??-?)Hex(??-?)HexNAc(??-?)HexNAc(??-) is appended to each branch motif. Concrete branches receive a concrete core; generic and mixed branches receive a generic core. Default isFALSE.
Value
A glyrepr::glycan_structure() vector containing the unique extracted branching motifs.
Details
The function works by:
Converting the input to a set of unique
glycan_structureobjects.Searching for the N-glycan branch pattern:
HexNAc(??-?)Hex(??-?)Hex(??-?)HexNAc(??-?)HexNAc(??-.For each match, identifying the root node of the branch (the leftmost HexNAc in the pattern).
Extracting the full subtree rooted at that node.
Preserving the correct anomeric configuration (e.g., "b1") by inspecting the linkage to the root node.
Examples
glycans <- c(
"Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Man(a1-6)]Man(b1-4)GlcNAc(a1-4)GlcNAc(b1-",
"Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Man(a1-6)]Man(b1-4)GlcNAc(a1-4)GlcNAc(b1-"
)
extract_branch_motif(glycans)
#> <glycan_structure[2]>
#> [1] Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-
#> [2] Gal(b1-4)GlcNAc(b1-
#> # Unique structures: 2
