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.