The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

glymotif

Lifecycle: experimental R-universe version R-CMD-check Codecov test coverage

Provides comprehensive tools for glycan motif analysis and detection in glycobioinformatics research. The package enables users to identify, count, and match glycan motifs (recurring substructures) within complex glycan structures using advanced subgraph isomorphism algorithms. It includes a curated database of known motifs from the GlycoMotif database, supports both concrete and generic monosaccharide matching, and offers flexible alignment options (core, terminal, or anywhere). Key functionalities include motif presence detection, occurrence counting, detailed node-to-node mapping, and batch analysis of multiple glycans against multiple motifs.

Installation

Once glymotif is available on CRAN, you can install the latest release from CRAN:

pak::pkg_install("glymotif")

Or from r-universe:

pak::repo_add(glycoverse = "https://glycoverse.r-universe.dev")
pak::pkg_install("glymotif")

Or install the latest GitHub release:

pak::pkg_install("glycoverse/glymotif@*release")

Or install the development version from GitHub:

pak::pkg_install("glycoverse/glymotif")

Documentation

Role in glycoverse

glymotif provides possibilities for one important job in glyco-bioinformatics: to detect motifs in glycans. The package is designed to be used directly by users for structural analysis, as well as to provide backend support for other packages in the glycoverse ecosystem.

Example

library(glymotif)
library(glyparse)

Say we have a glycan, …

(glycan <- parse_iupac_condensed("Gal(b1-3)GlcNAc(b1-3)Gal(b1-3)GalNAc(a1-"))
#> <glycan_structure[1]>
#> [1] Gal(b1-3)GlcNAc(b1-3)Gal(b1-3)GalNAc(a1-
#> # Unique structures: 1

… and we want to check if it has the O-Glycan core 1 motif.

have_motif(glycan, "Gal(b1-3)GalNAc(a1-", alignment = "core")
#> [1] TRUE

Or use the motif name directly.

have_motif(glycan, "O-Glycan core 1")
#> [1] TRUE

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.