epiage_estimation {MEAT} | R Documentation

## Estimates age in skeletal muscle from calibrated DNA methylation profiles.

### Description

`epiage_estimation` takes as input a `SummarizedExperiment-class` object whose assays contain a beta-matrix called "beta". This beta-matrix should contain DNA methylation profiles in skeletal muscle that have been cleaned with `clean_beta` and calibrated with `BMIQcalibration`. `epiage_estimation` will use the muscle clock to estimate epigenetic age in each sample.

### Usage

    epiage_estimation(SE = NULL, version = "MEAT2.0", age_col_name = NULL)

### Arguments

`SE` | A `SummarizedExperiment-class` object. The "assays" component of `SE` should contain a beta-matrix of DNA methylation beta-values called "beta" that has been cleaned with `clean_beta` and calibrated with `BMIQcalibration`. `SE` may optionally contain annotation information on the CpGs stored in "rowData" and sample phenotypes stored in "colData".
`version` | A character specifying which version of the epigenetic clock you would like to use. Dy default, `version` is set to "MEAT2.0" for the second version of the epigenetic clock. If you would like to use the original version, set `version` to "MEAT".
`age_col_name` | The name of the column in colData from `SE` that contains age (in years).

### Details

`epiage_estimation` estimates epigenetic age for each sample in the input `SE` based on DNA methylation profiles. `SE` needs to be a `SummarizedExperiment-class` object containing a matrix of beta-values called "beta" in assays. Beta must have been calibrated to the gold standard GSE50498 using `BMIQcalibration` to obtain good estimates of epigenetic age.

### Value

A `SummarizedExperiment-class` object identical to the input `SE`, with components added to colData. If no phenotypes were provided in the colData of the input `SE`, `epiage_estimation` will put in colData a tibble containing a single column called "DNAmage", corresponding to epigenetic age (in years) for each sample. If phenotypes were provided in the colData of the input `SE`, `epiage_estimation` will add to the existing colData three columns:

1. `DNAmage` epigenetic age (in years)

2. `AAdiff` the difference between predicted and actual age (in years).

3. `AAresid` the residuals of a linear model (using `lm`) of DNAmage against actual age. `AAresid` is only returned if the number of samples is > 2, as `AAresid` cannot be calculated with < 2 samples.

### See Also

`BMIQ` for the original BMIQ algorithm, https://genomebiology.biomedcentral.com/articles/10.1186/gb-2013-14-10-r115 for the adapted version of the BMIQ algorithm, and https://onlinelibrary.wiley.com/doi/full/10.1002/jcsm.12556 for the elastic net model of the muscle clock.

### Examples

    # Load matrix of beta-values of two individuals from dataset GSE121961
    data("GSE121961", envir = environment())
    # Load phenotypes of the two individuals from dataset GSE121961
    data("GSE121961_pheno", envir = environment())

    # Create a SummarizedExperiment object to coordinate phenotypes and
    # methylation into one object.
    library(SummarizedExperiment)
    GSE121961_SE <- SummarizedExperiment(assays=list(beta=GSE121961),
    colData=GSE121961_pheno)

    # Run clean_beta() to clean the beta-matrix
    GSE121961_SE_clean <- clean_beta(SE = GSE121961_SE,
    version = "MEAT2.0")

    # Run BMIQcalibration() to calibrate the clean beta-matrix
    GSE121961_SE_calibrated <- BMIQcalibration(SE = GSE121961_SE_clean,
    version = "MEAT2.0")

    # Run epiage_estimation() to obtain DNAmage + optionally AAdiff and AAresid
    GSE121961_SE_epiage <- epiage_estimation(SE = GSE121961_SE_calibrated,
    version = "MEAT2.0",
    age_col_name = "Age")
    colData(GSE121961_SE_epiage)

[Package MEAT version 1.2.2 Index]