Plot Glycans using 'ggplot2'

Plot glycans following the Symbol Nomenclature for Glycans (SNFG) using 'ggplot2'. SNFG provides a standardized visual representation of glycan structures.


gglycan: Grammar of Graphics for Glycans

gglycan

The goal of gglycan is to provide a ggplot2-compatible framework for visualizing glycan structures (N-glycans, O-glycans, etc.) using the standard SNFG (Symbol Nomenclature for Glycans) style. It leverages ggtangle for network layout and ggstar for SNFG symbols.

Installation

You can install the development version of gglycan like so:

# install.packages("devtools")
devtools::install_github("YuLab-SMU/gglycan")

Example

This is a basic example which shows you how to plot a complex N-glycan:

library(ggplot2)
library(gglycan)

# Define a glycan using IUPAC condensed string
s <- "Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-2)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc"

# Plot with default SNFG style and layout
gglycan(s) + 
  geom_glycan()

Custom Layouts

gglycan supports flexible layouts. You can change the growth direction (left, right, up, down) and adjust branching angles.

# Vertical layout growing upwards
gglycan(s, direction = "up", angle_sep = 45) + 
  geom_glycan() + 
  ggtitle("Vertical Layout")

Motif Highlighting

You can highlight specific substructures (motifs) within a glycan. The motif remains fully opaque, while the rest of the structure is dimmed.

# Highlight the Sialyl-Lewis x like motif
motif <- "Neu5Ac(a2-3)Gal(b1-4)GlcNAc"

gglycan(s, motif = motif) + 
  geom_glycan() + 
  ggtitle("Motif Highlighting")

Key Features

  • IUPAC Parsing: Reads standard condensed IUPAC strings.
  • SNFG Standards: Automatic mapping of monosaccharides to SNFG shapes and colors.
  • Fishbone Layout: Custom layout algorithm mimicking textbook-style glycan drawings (symmetric Y-splits, orthogonal extension).
  • Motif Highlighting: Easy identification of substructures.
  • ggplot2 Extension: Fully compatible with ggplot2 layers, themes, and scales.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("gglycan")

0.0.3 by Guangchuang Yu, 9 months ago


Browse source code at https://github.com/cran/gglycan


Authors: Guangchuang Yu [aut, cre] (ORCID:


Documentation:   PDF Manual  


Artistic-2.0 license


Imports dplyr, ggplot2, ggtangle, ggstar, ggrepel, igraph, rlang, yulab.utils

Suggests quarto


See at CRAN