Skip to contents

MethylSurroGetR provides a comprehensive toolkit for calculating DNA methylation surrogate biomarkers from existing studies. The package handles the complete workflow from data preparation through prediction calculation, with robust handling of missing data and flexible transformation options.

Main Workflow Functions

The typical workflow involves four main steps:

surro_set

Create a surrogate object by combining methylation data with surrogate weights

reference_fill

Fill missing CpG probes using reference values (e.g., from population means)

impute_obs

Impute missing observations within samples using mean or median imputation

surro_calc

Calculate surrogate predictions with linear, logistic (probability), or Poisson (count) transformations

Data Assessment Functions

methyl_miss

Comprehensive missing data assessment for methylation matrices

Data Conversion Functions

convert_beta_to_m

Convert beta values (0-1 scale) to M-values (log-ratio scale)

convert_m_to_beta

Convert M-values back to beta values

Sample Datasets

The package includes example datasets for learning and testing:

beta_matrix_comp

Complete beta value matrix (15 probes × 5 samples)

beta_matrix_miss

Beta matrix with missing values

mval_matrix_comp

Complete M-value matrix

mval_matrix_miss

M-value matrix with missing values

wts_df

Example surrogate weights with three transformation types

ref_df

Reference values for missing probe imputation

methyl_surro_comp

Example complete methyl_surro object

methyl_surro_miss

Example methyl_surro object with missing data

Getting Started

To get started with MethylSurroGetR:

  1. Load your methylation data (beta or M-values) as a matrix with CpG probes as rows and samples as columns

  2. Obtain surrogate weights from a published study or your own model

  3. Follow the basic workflow:

    
      # Create surrogate object
      my_surro <- surro_set(methyl_matrix, weights_vector, intercept = "Intercept")
    
      # Handle missing probes
      my_surro <- reference_fill(my_surro, reference_values)
    
      # Impute missing observations (if needed)
      my_surro <- impute_obs(my_surro, method = "mean")
    
      # Calculate predictions
      predictions <- surro_calc(my_surro, transform = "linear")
      
  4. See vignette("MethylSurroGetR") for detailed examples

Key Features

  • Flexible missing data handling with multiple strategies

  • Support for linear, logistic (probability), and Poisson (count) transformations

  • Comprehensive input validation and informative error messages

  • Detailed diagnostic reporting for transparency

  • Memory-efficient operations for large-scale datasets

  • Extensive test coverage ensuring reliability

Author

Maintainer: Joshua A. Goode jagoode@umich.edu (ORCID)