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.
analytes()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>