Changes in version 0.11.0 New features - 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). - Add traits_clerc_2018(), traits_li_2025(), and traits_fu_2026() as new sets of built-in traits (#16). - Add 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). Minor improvements and bug fixes - 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). - Rewrite the "Get Started with glydet" vignette to first introduce the core functionality of glydet on a glycomics dataset, then apply it to a glycoproteomics dataset, to provide a more gradual learning curve for new users (#8). - Fix lifecycle badge rendering in the reference site. Changes in version 0.10.4 Minor improvements and bug fixes - derive_traits() now standardizes variable names in the output for consistency (#7). - Fix errors in examples in the "Quantifying Glycan Motifs" and "Defining Custom Traits" vignettes. Changes in version 0.10.3 Minor improvements and bug fixes - Fix a bug in n_glycan_type() where a mono-antennary N-glycan with nothing on the a6-Man was incorrectly classified as "complex" instead of "hybrid". Changes in version 0.10.2 Minor improvements and bug fixes - Update dependency strategy to use the r-universe repo. Changes in version 0.10.1 Minor improvements and bug fixes - Update glymotif dependency to use release version (>= 0.13.0). Changes in version 0.10.0 New features - quantify_motifs() now supports dynamic_motifs() and branch_motifs() from glymotif. Changes in version 0.9.1 Minor improvements and bug fixes - Adapt to glyrepr 0.10.0. Changes in version 0.9.0 New features - 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. Changes in version 0.8.1 Minor improvements and bug fixes - Fix bugs in explain_trait() and make_trait() that "nGt" was not intepretaed correctly. Changes in version 0.8.0 New features - make_trait() and explain_trait() now have a custom_mp argument to allow users to define custom meta-properties. Minor improvements and bug fixes - Update documentation of quantify_motifs() to add a new type of alignment: "exact", to be consistent with glymotif 0.12.0. - Add reflection mechanism to make_trait() to make it more accurate. - Add a verbose argument to make_trait() to control the amount of information printed to the console. Changes in version 0.7.0 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. New features - 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. - Add make_trait() to create a derived trait function using natural language with a Large Language Model (LLM). Minor improvements and bug fixes - The result of derive_traits() and derive_traits_() now have an explanation column in the output tibble, explaining the derived traits. Changes in version 0.6.5 Minor improvements and fixes - glydet now depends on the CRAN version of glyparse. Changes in version 0.6.4 Minor improvements and fixes - glydet now depends on the CRAN version of glyrepr. Changes in version 0.6.3 Minor improvements and bug fixes - Updated dependency on glymotif (>= 0.10.0) to ensure compatibility with recent changes in package igraph v2.2.0. Changes in version 0.6.2 Minor improvements and bug fixes - Add 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. Changes in version 0.6.1 Minor improvements and bug fixes - Fix bugs introduced by the breaking changes in glyexp 0.10.0. Changes in version 0.6.0 Breaking changes - The first parameter of wmean() is renamed from val_cond to val. - The built-in trait 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. New features - Add two new trait factories: total() and wsum(). - Add 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. Minor improvements and bug fixes - Fix some improperly named traits in the "Defining Custom Traits" vignette. - Fix an error in a code snippet in the "Defining Custom Traits" vignette: prop(nFc + nFa > 0) -> prop((nFc + nFa) > 0). - Add a vignette about quantifying glycan motifs. - Update the introduction part in the "Get Started with glydet" vignette. - All trait factories now have a glydet_trait super class. Changes in version 0.5.0 Breaking changes - The meta-property T is renamed to Tp, to avoid confusion with the R alias T for TRUE. New features - Add mp_cols parameter to derive_traits() as a new way to define custom meta-properties. Minor improvements and bug fixes - derive_traits() and derive_traits_() now have separate documentations. - Update the "Defining Custom Traits" vignette to include the newly added mp_cols parameter. - Better error message when custom derived traits use undefined meta-properties. - Add a section about how NAs can appear in the documentations of prop(), ratio(), and wmean(). Changes in version 0.4.1 Minor improvements and bug fixes - Add another example to the "Defining Custom Traits" vignette. - Use smaller datasets in examples to reduce build time. Changes in version 0.4.0 Breaking changes - The old all_traits() is renamed to basic_traits(). - A new 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. Minor improvements and bug fixes - Introduce the new all_traits() in the Get Started vignette. - Add examples to some functions. Changes in version 0.3.1 Minor improvements and bug fixes - Add missForest to the Suggests field in DESCRIPTION. This package is used in vignettes to impute missing values for glycomics data. Changes in version 0.3.0 New features - Trait functions created by prop(), ratio(), and wmean() can be printed nicely into the console. - Add explain_trait() to provide a human-readable explanation of trait definitions. - Add a nF built-in meta-property to count the number of fucoses. The TF trait is redefined as prop(nF > 0). Minor improvements and bug fixes - Emphasize in the documentation of 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. - A "Working with Glycomics Data" section is added to the "Get Started" vignette. - A "Validating Trait Definitions" section is added to the "Defining Custom Traits" vignette. Changes in version 0.2.0 New features - derive_traits() and add_meta_properties() now validates if the struc_col column exists. - Add an overwrite parameter to add_meta_properties() to deal with existing trait columns. Minor improvements and bug fixes - Fix a serious bug in derive_traits(), where the row names of the expression matrix were not set correctly for glycomics data. - Fix typos in documentations. Changes in version 0.1.1 Minor improvements and bug fixes - Update dependencies to depend on release versions of glycoverse packages. Changes in version 0.1.0 - First release.