traits_basic() and traits_detailed() now support an optional sia_link parameter. When set to TRUE, additional sialic acid linkage traits are included: GE, GL, TE, TL (in traits_basic()), and A1E–A4E, A1L–A4L, A1GE–A4GE, A1GL–A4GL (in traits_detailed()). These traits require nE and nL columns in var_info (#15).traits_clerc_2018(), traits_li_2025(), and traits_fu_2026() as new sets of built-in traits (#16).traits_basic() and traits_detailed() as the preferred names for built-in trait sets. basic_traits() and all_traits() remain available as compatibility aliases (#17).make_trait() and AI-enabled explain_trait() now support configurable ellmer providers, including OpenAI, Anthropic, Gemini, OpenRouter, and OpenAI-compatible endpoints, with glydet.ai_* package options for session defaults (#14).derive_traits() can now use columns in var_info as meta-properties without specifying mp_cols. Built-in meta-properties keep precedence by default; use mp_cols when columns need renaming or explicit overrides (#12).glydet on a glycomics dataset, then apply it to a glycoproteomics dataset, to provide a more gradual learning curve for new users (#8).derive_traits() now standardizes variable names in the output for consistency (#7).n_glycan_type() where a mono-antennary N-glycan with nothing on the a6-Man was incorrectly classified as "complex" instead of "hybrid".quantify_motifs() now supports dynamic_motifs() and branch_motifs() from glymotif.quantify_motifs() now includes a motif_structure column in the var_info tibble of the returned experiment, containing the parsed glycan structure for each motif.explain_trait() and make_trait() that "nGt" was not intepretaed correctly.make_trait() and explain_trait() now have a custom_mp argument to allow users to define custom meta-properties.quantify_motifs() to add a new type of alignment: "exact", to be consistent with glymotif 0.12.0.make_trait() to make it more accurate.verbose argument to make_trait() to control the amount of information printed to the console.We introduce exciting new features to glydet, including explaining and creating derived traits using a Large Language Model (LLM). We hope these features will help you work with custom derived traits more efficiently with less effort.
explain_trait() now supports total() and wsum() traits.explain_trait() now supports a new argument use_ai to use a Large Language Model (LLM) to explain the trait.make_trait() to create a derived trait function using natural language with a Large Language Model (LLM).derive_traits() and derive_traits_() now have an explanation column in the output tibble, explaining the derived traits.glymotif (>= 0.10.0) to ensure compatibility with recent changes in package igraph v2.2.0.alignments and ignore_linkages parameters to quantify_motifs(). These two parameters were left behind when we migrated quantify_motifs() from glymotif to glydet in glydet 0.6.0.glyexp 0.10.0.wmean() is renamed from val_cond to val.SG is renamed to GS, and GA to AG, to match the convention that the last element of a trait name should be the focused property.total() and wsum().quantify_motifs(). This function was once in the glymotif package, but we realized that motif quantification is essentially a special case of derived traits, so we reimplemented it in glydet with a more consistent and powerful interface.prop(nFc + nFa > 0) -> prop((nFc + nFa) > 0).glydet_trait super class.T is renamed to Tp, to avoid confusion with the R alias T for TRUE.mp_cols parameter to derive_traits() as a new way to define custom meta-properties.derive_traits() and derive_traits_() now have separate documentations.mp_cols parameter.prop(), ratio(), and wmean().all_traits() is renamed to basic_traits().all_traits() is added, which includes more advanced derived traits with more detailed within conditions.derive_traits() now uses basic_traits() by default.derive_traits() now returns a glyexp::experiment() object with the "traitomics" type for glycomics data, and "traitproteomics" type for glycoproteomics data, instead of "traitomics" for all input.all_traits() in the Get Started vignette.missForest to the Suggests field in DESCRIPTION. This package is used in vignettes to impute missing values for glycomics data.prop(), ratio(), and wmean() can be printed nicely into the console.explain_trait() to provide a human-readable explanation of trait definitions.nF built-in meta-property to count the number of fucoses. The TF trait is redefined as prop(nF > 0).derive_traits() and derive_traits_() that the "glycan_structure" column can be either a glyrepr::glycan_structure() vector or a character vector of glycan structure strings supported by glyparse::auto_parse().derive_traits() and derive_traits_() now raise an error if the trait_fns parameter is not a named list.derive_traits() and derive_traits_() now raise an error if the trait_fns parameter is an empty list.derive_traits() and add_meta_properties() now validates if the struc_col column exists.overwrite parameter to add_meta_properties() to deal with existing trait columns.derive_traits(), where the row names of the expression matrix were not set correctly for glycomics data.