Published September 24, 2024 | Version 0.2.0
Software Open

AgeML: a Python package for Age Modelling with Machine Learning made easy

  • 1. ROR icon BioCruces Health research Institute
  • 2. ROR icon University of the Basque Country
  • 3. ROR icon Ikerbasque

Description

Background

Age Modelling consists of trying to predict the chronological age of an organism with a set of features that capture information about its aging status and dynamics. With a rich feature set one can accurately predict the chronological age of a normative (healthy) population using relatively simple machine learning models. When the feature set is sufficiently rich and the model can capture the complexity of the data, performing inference on non-normative populations leads to prediction errors in their chronological age. The mismatch between the chronological vs. predicted age (known as age delta) is a proxy of aberrant aging trajectories, often having high correlations with factors that condition ageing. Furthermore, classification of different clinical groups (e.g.: stable vs progressive) can also be done using the trained models.

AgeML

ageml allows age modelling with a set of simple-to-use CLIs that produce comprehensive figures of the modelling steps and detailed logs for exploring the effectiveness of the trained models.

There are 4 main CLIs:

  • model_age: It takes a features file (in CSV format) from a set of subjects, which includes their chronological age, and it trains a model for predicting it. Categorical Covariates can be included to train models per category, using a CSV file. Systems, feature groups that correspond to a congruent physiological system (cardiac, muskuloskeletal, gastric, etc.) can also be included to train models per system using a simple .txt file. A CSV file is returned with the predicted ages, and the corresponding age delta. Also, a simple correlation analysis is performed to check how the input features correlate with the chronological age. The age distribution of the cohort is plotted too.
  • factor_correlation: The correlation between the provided factors and the computed age deltas is analyzed, including the strength and significance. If the clinical category of each subject is provided (with a CSV file), this analysis runs for every clinical category.
  • clinical_groups: To see how the age delta changes across clinical groups, a boxplot is created. The age distribution across the groups is also plotted.
  • clinical_classify: Using the features file and the ages file (with the age delta) classification of two clinical groups is performed. A Receiver Operating Curve (ROC) is plotted for each model used in the classifications.

 

Files

ageml-0.2.0.zip

Files (1.7 MB)

Name Size Download all
md5:f60bcc32455e67cb30633f0b23c78aaf
202.7 kB Download
md5:854fc192568d9cb1dfb7a8e4cc7228c7
202.6 kB Download
md5:4758ee2031fa1f9f7ba686b049dfd534
1.3 MB Preview Download

Additional details

Related works

Is described by
Preprint: 10.1101/2024.05.02.592130 (DOI)

Software

Repository URL
https://github.com/compneurobilbao/ageml
Programming language
Python
Development Status
Active