← Back to all sparks
G

glyanno

ANALYTICS
Velocity3.8

Hierarchical Glycan Annotation

Glycan annotation stops depending on the database having seen the structure before.

glycomicsmass-spectrometrystructure-annotationdatabasesr-packages
Current state
glyanno resolves mass spectrometry observations into glycan compositions and structures, converting between m/z, composition and structure, filling in missing detail on partial structures, and mapping results to GlyTouCan accessions. The newest release adds de novo reconstruction of topological N-glycans, falling back to the topological database only when reconstruction is not possible. Batch performance was reworked at the same time, with vector inputs reusing prepared databases and direct lookups instead of repeating setup per element.
Where it's heading
The consistent theme is making ambiguous results honest and predictable. return_best moved from returning a shortened tibble to a vector aligned with the input, with NA for unmatched glycans; matching concrete compositions against a generic database now errors instead of silently returning nothing; zero-length database arguments are rejected. Alongside that, functions belonging elsewhere have been pushed down into glyrepr rather than duplicated, which is the same boundary discipline visible across this cohort. Version churn is largely driven by upstream: two of the last six entries exist to absorb breaking changes in glyrepr.
Prediction
De novo reconstruction currently covers topological N-glycans only, so extending it to other structure levels or to O-glycans is the natural next step. The performance work suggests batch annotation of full experiments is now the primary use being optimised for.

Recent moves

  1. 24d ago

    De novo reconstruction of topological N-glycans, with database fallback

    ⚡ SPARK

    The release where annotation stops being purely a lookup problem. It lands with the batch performance work that makes running it across a full experiment practical, and with duplicate-input handling that preserves order and per-occurrence results.

    View source ↗
  2. 3mo ago

    GlyTouCan accession mapping and anomeric position filling

    struc_to_glytoucan() connects local results to the field's public accession namespace, which is what makes an annotation citable outside the analysis that produced it. fill_anomer_pos() addresses the routine incompleteness of measured structures, and later moves down into glyrepr where it belongs.

    View source ↗
  3. 3mo ago

    Fixes an enhance_struc() break from glyrepr 0.11.0

    A compatibility patch absorbing an upstream breaking change, plus a vignette note about structure databases at different levels. Typical of this cohort's release rhythm rather than of glyanno's own direction.

    View source ↗
  4. 4mo ago

    Explicit empty return from com_to_struc()

    A one-line correctness fix so an empty result returns explicitly. Part of the same push toward predictable output shapes that 0.4.0 makes structural.

    View source ↗
  5. 4mo ago

    return_best output aligns with input length; silent empty matches now error

    Four functions stop returning a tibble with potentially fewer rows than the input and instead return a vector of matching length with NA for unmatched glycans, which is the difference between a result you can bind to your data and one you have to rejoin. Matching concrete compositions against a generic database now errors rather than quietly returning nothing, removing a failure mode that looks like an answer.

    View source ↗
  6. 5mo ago

    to_level parameter removed from enhance_struc()

    A single parameter removal, narrowing the function's contract. Small in itself, but part of the run of breaking simplifications this package has taken while pre-1.0.

    View source ↗