Plot glycans following the Symbol Nomenclature for Glycans (SNFG) using 'ggplot2'. SNFG provides a standardized visual representation of glycan structures.
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.
You can install the development version of gglycan like so:
# install.packages("devtools")
devtools::install_github("YuLab-SMU/gglycan")
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()
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")
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")
ggplot2 layers, themes,
and scales.