Shaduf.
Aging Clocks Catalog/Tools and access

Aging Clocks Catalog · Implementations and feasibility

Use existing tools; understand access limits

Finding a paper or repository is only the first step. A reproducible result needs the exact data, implementation, reference parameters and permissions.

Foundation reviewed ; reliability and calibration evidence reviewed . A bounded documentary review, not a diagnostic or treatment service.

This page does not calculate your age. It provides existing-tool pointers, source-code findings and a fixed synthetic example. There is no calculator, upload form, personal-health-data workflow or restricted-weight download.

Existing tools—and the limits of access

Find an implementation, then check the exact version and rights
ResourceUseful roleWhat public access does not establish
BioAge R packageClinical Phenotypic Age, KDM and homeostatic-dysregulation workflows, with training and projection treated separately. [T01]DESCRIPTION 0.1.0 declares GPL-3. Relevant calculation files were read, not executed. Reference fits/data and redistribution obligations still require review.
BiolearnModel selection, loading, imputation, quality control and evaluation documentation. [T02]Documentation does not prove all models, weights and datasets share one licence or can run in every environment. No package run or rights audit was performed.
pyagingPublic documentation/source pointer for a broader implementation catalogue. [T03]The “latest” route is mutable; rendered documentation differed between review snapshots. No immutable executable version is asserted.
ProteoClockDocuments proteomic models and Olink-format inputs. [SC3]galkin_2025 / best_clock.pt weights are restricted to registered UK Biobank researchers inside RAP; local download/copy/storage is prohibited by the observed README. ProtAge and the Han model have author-request paths. No unrestricted six-model reproduction is established.
OMICmAge software routesPublication supplies development/validation code and a software-request route. [M21]Described software licence is for academic/nonprofit research with restrictions; data/algorithm agreements may be needed. Not authorization for public-calculator or commercial redistribution; no request was made.
ReadablePaper + repository

You may be able to inspect the method and code.

Runnable and reusableArtifacts + data + permissions

You still need the exact weights, preprocessing, references, environment and permission for the intended use.

An open article, a public repository, a package licence and model-weight permission are four separate facts. A reference sample also needs a lawful redistribution basis.

Three source-code findings that matter

Phenotypic Age: BioAge’s phenoage_calc.R distinguishes a generic trained projection from an orig branch with published-style coefficients. Without a supplied fit, it begins a survival-model training path even when an original-score output is desired. It should not be copied into a one-person form as though it were only a fixed formula.

KDM: in kdm_calc.R, a supplied fit with unspecified s_ba2 can still estimate biological-age variance from the projection sample. A frozen one-person implementation requires the biomarker regressions and that reference variance. Permissive missingness is not permission to invent laboratory values.

Homeostatic dysregulation: hd_calc.R further scales raw Mahalanobis distance using the projection cohort’s dispersion and warns against single-row input. Choose and label a raw reference distance or an independently frozen scale; it is not a universal age in years. These findings are from source inspection, not package execution. [T01]

Inspected source-file versions

These file-level blobs identify the reviewed code, not a fully reproduced environment:

DESCRIPTION: 71186d645e38f53fc179faffd9bd94d555e4d5a6
phenoage_calc.R: 468e95b32b23a48566a8f3e266a4a103330c25ff
kdm_calc.R: 0ea6c1d1c2399e331fd6ebad2216648c42e7169a
hd_calc.R: 84d51d0121f2fdfbf98cc837e179e32f4317bc9d.

ProteoClock README: f41e85c59b1ffeec6b8da66fb7029dd4cd77f30a, observed 21 September 2026. Current repository links can change; a blob record alone does not pin the entire study workflow.

The three calculation files were reread on 22 September 2026 and remain unchanged at the listed blobs. Freezing a reference means fixing its parameters and final scale, not merely keeping the same software name. [R15]

A static clinical Phenotypic Age calculation

Synthetic inputs; not a real person. The original clinical specification requires chronological age plus nine laboratory measures. This is clinical Phenotypic Age, not DNAmPhenoAge, a current commercial product or an independently validated test vector. [M03; T01]

Complete invented inputs for the fixed arithmetic example
InputValueRequired unit / transformation
Chronological age50Years
Albumin45g/L
Creatinine80µmol/L
Glucose5mmol/L
C-reactive protein (CRP)0.1mg/dL before natural logarithm
Lymphocytes30%
Mean cell volume (MCV)90fL
Red-cell distribution width (RDW)13%
Alkaline phosphatase (ALP)70U/L
White-cell count (WBC)510³/µL
Fixed coefficients and transformations
xb = −19.90667 − 0.03359355 × 45
   + 0.009506491 × 80 + 0.1953192 × 5
   + 0.09536762 × ln(0.1) − 0.01199984 × 30
   + 0.02676401 × 90 + 0.3306156 × 13
   + 0.001868778 × 70 + 0.05542406 × 5
   + 0.08035356 × 50
   = −9.12847527

m = 1 − exp(−1.51714 × exp(xb) / 0.007692696)
  = 0.02117684

Score = ln(−0.0055305 × ln(1−m)) / 0.090165 + 141.50225
      = 41.2234 score-years

The fixed arithmetic was rechecked on 22 September 2026: 41.2234126846 score-years, confirming the displayed 41.2234. The inspected original coefficient branch and invented inputs were used; the R package was not executed. The result does not prove that an illustrative 50-year-old is biologically 41, supply a personal prognosis or validate the model independently.

An algebraically equivalent form avoids saturation of the nested exponential/logarithm calculation:

Score = [xb + ln(0.0055305 × 1.51714 / 0.007692696)]
        / 0.090165 + 141.50225

The two expressions agree on this fixture. Finite arithmetic at an extreme input is only a numerical check, not evidence that the model is biologically valid there. These self-consistency checks still need an independent authoritative reference output before a demonstrator is validated. [R15]

Correct unitCRP: 0.1 mg/dL

Use the required unit before taking its natural logarithm.

Unit error, not aging+2.43545 score-years

Entering the mg/L number as mg/dL makes CRP ten times too large without changing the specimen.

Fixed-formula shift: 0.09536762 × ln(10) / 0.090165 = 2.43545. Zero/nonpositive CRP cannot be silently logged. This is a synthetic unit check, not a clinical interpretation.

Changing calendar age alone changes this score

Fixed synthetic check, same nine laboratory values: increase only the entered chronological age from 50 to 51 in the inspected BioAge original branch. The score increases by 0.08035356 / 0.090165 = 0.8911834969 score-years; score minus chronological age decreases by 0.1088165031 gap-years. Nothing in this example changes a measured analyte. [R15]

Raw score+0.89118 score-years

The age coefficient mechanically advances the output.

Score-minus-age gap−0.10882 gap-years

Calendar age advances by more than the computed score, so the gap falls.

Rounded display of the fixed calculation above—not an intervention, a normal-aging trajectory or evidence of improvement. Freezing calendar age would define a different counterfactual calculation and must be labeled rather than silently substituted for the original score.

No KDM number is supplied merely to create a two-clock display. A named fixed reference fit and independently checked outputs are missing. Supplying an invented fit would change the estimator rather than complete the example.

What is ready—and what still needs gates?

Readiness for an educational demonstrator—not clinical authorization
StatusUseful scopeRequired boundary
Ready as static contentExplanations, source/access links and labeled arithmetic examples.No personal inputs, unsupported precision, purchase funnel or treatment optimization.
Conditional: synthetic clinical exampleClinical Phenotypic Age first; one fixed KDM only after exact parameters and reference outputs exist.Immutable source/coefficient pins, units/transforms, domain and complete-input behavior; independent authoritative reference calculation; numerical-stability and version tests.
Not readyBroad health-data upload, reproducing all commercial reports or a public six-proteomic-clock calculator.Unresolved assays, preprocessing, weights/rights, unpinned trial artifacts and unsupported personal inference are substantive barriers—not just coding work.

Tests that must pass before a synthetic demonstrator

Proposed acceptance checks—not a calculator built or certified here
GateTest and pass conditionFailure behavior
Input identity and unitsUse named features and exact units. Equivalent supported unit representations must yield the same result after explicit conversion; convert CRP before logging. Test missing, impossible, out-of-domain and nonpositive log inputs.Reject unsupported inputs. Do not fill a missing biomarker with a convenient population mean.
Frozen referencePin KDM regressions and s_ba2; pin HD transformations, reference mean/covariance and output scale. Distinguish training from projection.Withhold a one-person output from an implementation that still estimates parameters from the projection cohort.
Row, column and batch-composition invarianceKeep named inputs and references fixed; reorder rows/columns, add unrelated records, and process the same fixture alone or in a different computation batch. Its result must stay unchanged within a declared numerical tolerance.Treat a change as a pipeline defect or a differently defined estimator. This is a software test, not proof of physical assay-batch invariance.
Independent reference outputsReproduce the fixed checks above, then an independent authoritative test vector. Document expected outputs, rounding, tolerances and stability behavior for the pinned version.Do not label agreement with one’s own algebra as independent validation.
Uncertainty and accessState the intended units and applicable uncertainty—or explicitly leave individual-change uncertainty unestablished. Verify permission and actual data/network behavior for the proposed use.No invented confidence band, retest interval, lifespan conversion, restricted weights or unsupported personal uploads.

These gates follow the inspected reference-dependent code paths and fixed synthetic checks. A score-level clinical change interval would additionally need covariance in the transformed input units and across visits; the current fixtures do not supply it. [R15] Why assay precision alone is insufficient.

A privacy review must verify actual network and logging behavior even for a “browser-local” tool. Rights, regulatory and deployment review remain separate; no blanket legal clearance is asserted here. The present scope remains static and synthetic.

Sources and reading limits

Source labels distinguish primary research, seller documents and implementation notes. Inherited M/SC/T source observations are from 21 September 2026; added R source observations are from 22 September 2026. Calculation checks do not constitute model or clinical replication.

T01. BioAge R package README and relevant source files inspected, not executed. DESCRIPTION 0.1.0 declares GPL-3; package paper was identified, not independently read.

T02. Biolearn documentation Overview, model, imputation and evaluation resources inspected; no installation or per-model rights audit.

T03. pyaging documentation Mutable documentation/source pointer; no immutable executable version claimed.

SC3. ProteoClock README First-party access description observed 21 September 2026; inspected blob f41e85c59b1ffeec6b8da66fb7029dd4cd77f30a. Exact release-to-trial pin and full licence tree not audited.

M21. Chen et al. (2026), OMICmAge Published 25 February 2026. Primary development, external validation, replicate, limitation, access and conflict sections; sponsored/company-affiliated work with patent interests.

M03. Levine et al. (2018), An epigenetic biomarker of aging for lifespan and healthspan Clinical selection, units/coefficient table, methylation stage and validation passages inspected; no raw-data reanalysis.

R15. BioAge calculation sources: phenoage_calc.R, kdm_calc.R and hd_calc.R. Complete files reread on 22 September 2026; the inspected blobs remain those listed above. Fixed synthetic arithmetic was checked separately; the R package was not run and no independent author-supplied reference vector or service-specific covariance was obtained.

Next: Check a model against your study’s inputs or learn how units and uncertainty affect interpretation.

Search published pools, pages, reports, and evidence.