← Back to all sparks
G

glyenzy

ANALYTICS
Velocity6.3

Deconstruction Glycosylation Biosynthesis

Glycan biosynthesis as a traceable enzyme graph, now including sulfation and gaps it can bridge.

glycomicsbiosynthesisenzyme-inferencenetwork-analysisr-packages
Current state
glyenzy infers which enzymes could have produced a glycan and traces biosynthetic routes to it, backed by curated per-enzyme rules for human glycosyltransferases and, since 0.7.0, twelve sulfotransferases. Biosynthesis functions return typed network objects that keep their igraph interface while supporting layered DAG plots with glycan nodes and labelled enzyme edges. Where no concrete enzyme covers a step, bounded virtual transitions bridge the gap and are marked so users can see which edges are inferred rather than enzymatic.
Where it's heading
Two kinds of release alternate here. One is enzyme curation, a steady stream of rule corrections for the FUT, MAN1A and MGAT families and removals where an enzyme turned out to act only on glycolipids, which is the unglamorous accuracy work a rule-based inference engine lives on. The other is turning biosynthesis output into a first-class object: paths became networks, networks became typed with plotting support, and targets became a marked vertex attribute. The package moves in lockstep with its siblings, pinning glyrepr 0.13.0 and glymotif 0.17.0 as those refreshed their data and matching APIs, and the latest release already speaks glydraw 0.8.0's orientation values.
Prediction
The paucimannose N-glycan support dropped in 0.7.0 is the obvious loose end, with users told to stay on 0.6.3, so a reinstated implementation is a plausible next move. Beyond that the virtual-step machinery is new enough that its heuristics, particularly the inferred step limits added in 0.8.1, should keep being tuned.

Recent moves

  1. 14d ago

    Step limits inferred from the target glycan; MGAT4 and MGAT5 rules updated

    trace_biosynthesis() stops requiring a hand-set max_steps, deriving it from the target's monosaccharide and substituent count with an N-glycan adjustment, which removes a parameter users had no principled way to choose. The degenerate case where the target is already the starting glycan now returns a single-vertex network instead of failing awkwardly. Adopting glydraw 0.8.0's four orientation values on the same day that package released is the cohort's usual tight coupling.

    View source ↗
  2. 17d ago

    Biosynthesis results become typed network objects with layered DAG plots

    Networks gain a real class that preserves the igraph interface underneath, plus collision-aware plot() and autoplot() methods drawing glycan nodes and labelled concrete or virtual enzyme edges. Marking target glycans as a vertex attribute means multi-target networks can highlight what was asked for, which is the difference between a graph you can read and one you have to trace by hand.

    View source ↗
  3. 23d ago

    Sulfotransferases become first-class, and unsupported steps can be bridged

    ⚡ SPARK

    The release that widens what the engine can model, adding a modification class it previously could not represent and a way to keep tracing through steps it does not cover. It also drops paucimannose N-glycan support, so this is the point where the package chose breadth of chemistry over completeness of coverage.

    View source ↗
  4. 1mo ago

    Compatibility with glymotif 0.17.0 and later

    A compatibility release keeping the enzyme functions working against the sibling motif matcher's new API. Routine within this cohort, where a breaking change in one package produces a patch in the others within days.

    View source ↗
  5. 1mo ago

    Enzyme data refreshed against glyrepr 0.13.0 structure data

    Built-in enzyme data updated to match refreshed glycan structure data upstream, with the dependency floor raised accordingly. No user-facing capability change.

    View source ↗
  6. 1mo ago

    Corrected rules for the MAN1A1, MAN1A2 and MAN1C1 mannosidases

    A rule correction for three mannosidases, one of the recurring curation fixes that quietly determine whether inference results are right. Invisible in the API, consequential in the output.

    View source ↗