Skip to contents

These functions check key properties of an N-glycan:

  • n_glycan_type(): Determine the N-glycan type.

  • has_bisecting(): Check if the glycan has a bisecting GlcNAc.

  • n_antennae(): Count the number of antennae.

  • n_core_fuc(): Count the number of core fucoses.

  • n_arm_fuc(): Count the number of arm fucoses.

  • n_gal(): Count the number of galactoses.

  • n_terminal_gal(): Count the number of terminal galactoses.

Usage

n_glycan_type(glycan, strict = FALSE)

has_bisecting(glycan, strict = FALSE)

n_antennae(glycan, strict = FALSE)

n_core_fuc(glycan, strict = FALSE)

n_arm_fuc(glycan, strict = FALSE)

n_gal(glycan, strict = FALSE)

n_terminal_gal(glycan, strict = FALSE)

Arguments

glycan

A glycan_graph object, or a character string of IUPAC condensed format.

strict

A logical value. If TRUE, the glycan must have "concrete" monosaccharides (e.g. "GlcNAc", "Man", "Gal") and linkage information. If FALSE, the function is more lenient, checking monosaacharide identities on the "generic" level (e.g. "Hex", "HexNAc") and ignoring linkage information. Default is FALSE. This is preferred because in most cases the structural resolution could not be high, but we known for sure the glycans are indeed N-glycans.

Value

  • n_glycan_type(): A character scalar indicating the N-glycan type, either "highmannose", "hybrid", "complex", or "paucimannose".

  • has_bisecting(): A logical value indicating if the glycan has a bisecting GlcNAc.

  • n_antennae(): An integer scalar indicating the number of antennae.

  • n_core_fuc(): An integer scalar indicating the number of core fucoses.

  • n_arm_fuc(): An integer scalar indicating the number of arm fucoses.

  • n_gal(): An integer scalar indicating the number of galactoses.

  • n_terminal_gal(): An integer scalar indicating the number of terminal galactoses.

n_glycan_type(): N-Glycan Types

Four types of N-glycans are recognized: high mannose, hybrid, complex, and paucimannose. For more information about N-glycan types, see Essentials of Glycobiology.

has_bisecting(): Bisecting GlcNAc

Bisecting GlcNAc is a GlcNAc residue attached to the core mannose of N-glycans.

     Man
        \
GlcNAc - Man - GlcNAc - GlcNAc
~~~~~~  /
     Man

n_antennae(): Number of Antennae

The number of antennae is the number of branching GlcNAc to the core mannoses in a complex N-glycan. Bisecting GlcNAc is not counted as an antenna. This functions returns NA_integer_ for non-complex N-glycans.

n_core_fuc(): Number of Core Fucoses

Core fucoses are those fucose residues attached to the core GlcNAc of an N-glycan.

Man             Fuc  <- core fucose
   \             |
    Man - GlcNAc - GlcNAc
   /
Man

n_arm_fuc(): Number of Arm Fucoses

Arm focuses are thoses focuse residues attached to the branching GlcNAc of an N-glycan.

 Fuc  <- arm fucose
  |
GlcNAc - Man
            \
             Man - GlcNAc - GlcNAc
            /
GlcNAc - Man

n_gal(): Number of Galactoses

This function seems useless and silly. It is, if you have a well-structured glycan with concrete monosaccharides. However, if you only have "Hex" or "H" at hand, it is tricky to know how many of them are "Gal" and how many are "Man". This function makes a simply assumption that all the rightmost "H" in a "H-H-N-H" unit is a galactose. The two "H" on the left are mannoses of the N-glycan core. The "N" is a GlcNAc attached to one core mannose.

This method is only used when strict = FALSE. If strict = TRUE, the function will authentically check the number of "Gal".

n_terminal_gal(): Number of Terminal Galactoses

Terminal galactoses are those galactose residues on the non-reducing end without sialic acid capping.

         Gal - GlcNAc - Man
         ~~~               \
     terminal Gal           Man - GlcNAc - GlcNAc
                           /
Neu5Ac - Gal - GlcNAc - Man
         ~~~
   not terminal Gal