Skip to contents

Overview

The alz package provides structured metadata and helper functions for working with Alzheimer’s disease biomarkers. It formalizes key concepts related to how biomarkers are measured, interpreted, and mapped to pathology, using relational data tables.

This vignette introduces the four foundational entities in the package:

  • analytes: the molecular entities being quantified
  • assays: the measurement implementations used to quantify analytes
  • cutpoints: the thresholds used to interpret assay results
  • biomarkers: biologically or clinically meaningful indicators derived from one or more analytes

Each of these concepts plays a distinct role in the biomarker data model.

Analytes

An analyte is the molecular species being quantified. Examples include:

  • Aβ42 (amyloid beta 1–42)
  • p-tau181 (tau phosphorylated at threonine 181)
  • GFAP (glial fibrillary acidic protein)

Analytes are uniquely identified using external ontology references such as ChEBI or UniProt, and are independent of how they are measured or interpreted.

Assays

An assay represents a specific measurement implementation used to quantify an analyte. It combines:

  • a technology (e.g. ELISA, Simoa, PET),
  • a platform (e.g. INNOTEST, HD-X),
  • a vendor (e.g. Fujirebio, Quanterix),
  • a matrix (e.g. CSF, plasma),

and quantitation properties (e.g. LLOQ, ULOQ, unit).

Each row in the assays() table reflects a specific commercial or research-grade measurement system.

Cutpoints

A cut-point defines how a numeric assay result is discretised into categorical levels — such as negative or positive. It includes:

  • the biomarker being classified
  • the assay used (optional if general)
  • the threshold(s) and associated labels
  • intended use (e.g. screening vs diagnosis)

Cut-points enable classification of raw measurements based on published or validated rules.

cutpoints()
#> # A tibble: 11 × 9
#>    cutpt_id  bmk_id cutpoints unit  direction assay_id intended_use source notes
#>    <chr>     <chr>  <list>    <chr> <chr>     <chr>    <chr>        <chr>  <chr>
#>  1 ab42-csf… ab42   <dbl [1]> pg/mL decreasi… elecsys… research     UPENN… Meth…
#>  2 ptau181-… ptau1… <dbl [1]> ratio increasi… elecsys… research     UPENN… Meth…
#>  3 ab42-ab4… ab42_… <dbl [1]> ratio decreasi… elecsys… research     UPENN… Meth…
#>  4 ab42-csf… ab42   <dbl [1]> pg/mL decreasi… elecsys… research     10.10… Deri…
#>  5 ptau181-… ptau1… <dbl [1]> ratio increasi… elecsys… research     10.10… Deri…
#>  6 ttau-ab4… ttau_… <dbl [1]> ratio increasi… elecsys… research     10.10… Deri…
#>  7 ab42-csf… ab42   <dbl [1]> pg/mL decreasi… elecsys… research     10.10… NA   
#>  8 ptau181-… ptau1… <dbl [1]> ratio increasi… elecsys… research     10.10… NA   
#>  9 ttau-ab4… ttau_… <dbl [1]> ratio increasi… elecsys… research     10.10… NA   
#> 10 ab42-inn… ab42   <dbl [1]> NA    increasi… innotes… diagnosis    PMID:… CSF …
#> 11 ptau181-… ptau1… <dbl [1]> NA    increasi… elecsys… diagnosis    PMID:… Elec…

Biomarkers

A biomarker is a biologically or clinically meaningful measurement derived from one or more analytes. Biomarkers may be:

  • original: direct assay of an analyte (e.g. p-tau181 in CSF)
  • derived: computed from analytes (e.g. Aβ42/Aβ40 ratio, p-tau217 / non-p-tau217)
  • imaging-based: e.g. amyloid PET, FDG PET

Each biomarker is mapped to:

  • a category: core, non-specific, co-pathology
  • a subcategory: A, T1, T2, N, I, V, S
  • a modality: fluid, imaging, or hybrid
biomarkers()
#> # A tibble: 23 × 9
#>    bmk_id     bmk_name bmk_category bmk_class bmk_subclass bmk_modality bmk_type
#>    <chr>      <chr>    <chr>        <chr>     <chr>        <chr>        <chr>   
#>  1 ab40       Aβ40     core         core 1    A            fluid        original
#>  2 ab42       Aβ42     core         core 1    A            fluid        original
#>  3 ab42_ab40… Aβ42 / … core         core 1    A            fluid        derived 
#>  4 amyloid_p… Amyloid… core         core 1    A            imaging      original
#>  5 t_tau      Total t… core         core 1    T1           fluid        original
#>  6 ptau217    p-tau217 core         core 1    T1           fluid        original
#>  7 ptau181    p-tau181 core         core 1    T1           fluid        original
#>  8 ptau231    p-tau231 core         core 1    T1           fluid        original
#>  9 ptau181_a… p-tau18… core         core 1    T1           fluid        derived 
#> 10 ptau217_n… p-tau21… core         core 1    T1           fluid        derived 
#> # ℹ 13 more rows
#> # ℹ 2 more variables: analyte_ids <list>, bmk_desc <chr>

Relationships

The entities are connected as follows:

  • Assays measure analytes
  • Biomarkers are defined from one or more analytes
  • Cut-points interpret biomarkers, optionally specific to an assay, and with an intended use in mind or specific validation circumstances.

This relational structure allows users to navigate from molecular data to clinical interpretation with full transparency.

# Example: get all assays for Aβ42
assays() |> dplyr::filter(analyte_id == "CHEBI:64647")
#> # A tibble: 8 × 12
#>   assay_id  analyte_id modality matrix cv     lloq  uloq unit  technology vendor
#>   <chr>     <chr>      <chr>    <chr>  <lgl> <dbl> <dbl> <chr> <chr>      <chr> 
#> 1 innotest… CHEBI:646… fluid    CSF    NA      225  1452 pg/mL ELISA      Fujir…
#> 2 lumipuls… CHEBI:646… fluid    CSF    NA       NA    NA pg/mL CLEIA      Fujir…
#> 3 euroimmu… CHEBI:646… fluid    CSF    NA       NA    NA pg/mL ELISA      EUROI…
#> 4 innogene… CHEBI:646… fluid    CSF    NA       NA    NA pg/mL ELISA      Innog…
#> 5 msd-ab42… CHEBI:646… fluid    CSF    NA       NA    NA pg/mL ECLIA      MSD   
#> 6 xmap-ab4… CHEBI:646… fluid    CSF    NA       NA    NA pg/mL xMAP       Fujir…
#> 7 elecsys-… CHEBI:646… fluid    CSF    NA      150  2500 pg/mL ECLIA      Roche 
#> 8 pet-amyl… CHEBI:646… imaging  brain  NA       NA    NA SUVR  PET        AVID  
#> # ℹ 2 more variables: platform <chr>, description <chr>