| Type: | Package | 
| Title: | Survival Mediation Analysis of High-Dimensional Proteogenomic Data | 
| Version: | 0.0.5 | 
| Description: | SMAHP (pronounced as SOO-MAP) is a novel multi-omics framework for causal mediation analysis of high-dimensional proteogenomic data with survival outcomes. The full methodological details can be found in our recent preprint by Ahn S et al. (2025) <doi:10.48550/arXiv.2503.08606>. | 
| License: | GPL-3 | 
| Encoding: | UTF-8 | 
| Imports: | data.table, fdrtool, ncvreg, penAFT, survival, stats, glmnet | 
| RoxygenNote: | 7.3.2 | 
| Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0) | 
| Language: | en-US | 
| VignetteBuilder: | knitr | 
| Depends: | R (≥ 3.5.0) | 
| NeedsCompilation: | no | 
| Packaged: | 2025-03-21 18:47:12 UTC; fuw01 | 
| Author: | Seungjun Ahn | 
| Maintainer: | Weijia Fu <weijia.fu@mountsinai.org> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-03-24 12:00:12 UTC | 
SIS combo
Description
A function for SIS + SIS combo.
Usage
SIS_combo(X, M, C, time, status, p_adjust_option = "BH", thres = 0.05)
Arguments
| X | An n by p matrix of exposures. | 
| M | An n by p matrix of mediators. | 
| C | An n by p matrix of covariates. | 
| time | A vector of survival time of samples. | 
| status | A vector of status indicator: 0=alive, 1=dead. | 
| p_adjust_option | The method for multiple correction. Option include q-value, holm, hochberg, hommel, bonferroni, BH, BY, and fdr. Default is BH. | 
| thres | Threshold for determining significance. | 
Value
A list which includes the final p-value matrix (p_final_matrix), adjusted p-value matrix (p_adjusted_matrix) and mediation-exposure matrix (p_med_matrix).
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
SIS_combo(example_dat$X, example_dat$M, example_dat$C, time = surv_dat$time,
status = surv_dat$status)
Main function
Description
An approach for survival mediation analysis of high-dimensional proteogenomic data.
Usage
SMAHP(
  X,
  M,
  C,
  time,
  status,
  model_option = "MCP",
  SIS_thres = "n/log(n)",
  p_adjust_option = "BH",
  p_thres = 0.05
)
Arguments
| X | An n by p matrix of exposures. | 
| M | An n by p matrix of mediators. | 
| C | An n by p matrix of covariates. If there are no covariates, set C = NULL. | 
| time | A vector of survival time of samples. | 
| status | A vector of status indicator: 0=alive, 1=dead. | 
| model_option | The penalization method used when selecting X for M. Options include MCP, elastic net and lasso. Default is MCP. | 
| SIS_thres | SIS thresholds. Default is "n/log(n)". Other options include "n-1", "n/2log(n)", "2n/log(n)", "3n/log(n)". | 
| p_adjust_option | The method for multiple correction. Option include q-value, holm, hochberg, hommel, bonferroni, BH, BY, and fdr. Default is BH. | 
| p_thres | Threshold for determining significance. | 
Value
A list with the following components:
| p_final_matrix | raw p-value matrix before adjustment | 
| p_adjusted_matrix | adjusted p-value matrix | 
| p_med_matrix | mediation-exposure matrix | 
| outcome_model | coefficient estimates from outcome model | 
| med_results | coefficient estimates from mediation model | 
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
SMAHP(example_dat$X, example_dat$M, example_dat$C, time = surv_dat$time, status = surv_dat$status)
Penalized mediation and outcome models
Description
An auxiliary function which conducts variable selection of X for Y using penAFT, X for M using the selected penalized model and M for Y using penAFT.
Usage
StepOne(X, M, time, status, model_option = "MCP")
Arguments
| X | An n by p matrix of exposures. | 
| M | An n by p matrix of mediators. | 
| time | A vector of survival time of samples. | 
| status | A vector of status indicator: 0=alive, 1=dead. | 
| model_option | The penalization method used when selecting X for M. The options include MCP, elastic net and lasso. Default is MCP. | 
Value
A list with the following components:
| X_sel_Y_s1 | X selected for Y using penAFT | 
| M_X_s1 | X selected for M using the selected penalized model | 
| M_sel_Y_s1 | M selected for Y using penAFT | 
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_step1 <- StepOne(X = example_dat$X, M = example_dat$M, time = surv_dat$time,
status = surv_dat$status, model_option = "MCP")
Post-hoc model
Description
An auxiliary function which generates p-value based on outcome and mediation model.
Usage
StepThree(X, M, C, time, status, X_sel_Y_s1, M_X_sel_s2)
Arguments
| X | An n by p matrix of exposures. | 
| M | An n by p matrix of mediators. | 
| C | An n by p matrix of covariates. If there are no covariates, set C = NULL. | 
| time | A vector of survival time of samples. | 
| status | A vector of status indicator: 0=alive, 1=dead. | 
| X_sel_Y_s1 | Outputs from StepOne: A vector of selected X for Y. | 
| M_X_sel_s2 | Outputs from StepTwo: A data table with selected M, X pairs and related effect size. | 
Value
A list with the following components:
| p_beta_m | p-values generated from outcome model | 
| p_alpha_x | p-values generated from mediation modell | 
| outcome_model | coefficient estimates from outcome model | 
| med_results | coefficient estimates from mediation model | 
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_step1 <- StepOne(X = example_dat$X, M = example_dat$M, time = surv_dat$time,
status = surv_dat$status, model_option = "MCP")
M_X_sel_s2 <- StepTwo(X = example_dat$X, M = example_dat$M, time = surv_dat$time,
status = surv_dat$status, X_sel_Y_s1 = res_step1$X_sel_Y_s1, M_X_s1 = res_step1$M_X_s1,
M_sel_Y_s1 = res_step1$M_sel_Y_s1)
res_step3 <- StepThree(X = example_dat$X, M = example_dat$M, C = example_dat$C,
time = surv_dat$time, status = surv_dat$status, X_sel_Y_s1 = res_step1$X_sel_Y_s1,
M_X_sel_s2 = M_X_sel_s2)
Select M-X pairs via SIS
Description
An auxiliary function which selects M-X paris using SIS.
Usage
StepTwo(
  X,
  M,
  time,
  status,
  X_sel_Y_s1,
  M_X_s1,
  M_sel_Y_s1,
  SIS_thres = "n/log(n)"
)
Arguments
| X | An n by p matrix of exposures. | 
| M | An n by p matrix of mediators. | 
| time | A vector of survival time of samples. | 
| status | A vector of status indicator: 0=alive, 1=dead. | 
| X_sel_Y_s1 | Outputs from StepOne: A vector of selected X for Y. | 
| M_X_s1 | Outputs from StepOne: A list of selected X for M. | 
| M_sel_Y_s1 | Outputs from StepOne: A vector of selected M for Y. | 
| SIS_thres | SIS thresholds. Default is "n/log(n)". Other options include "n-1", "n/2log(n)", "2n/log(n)", "3n/log(n)". | 
Value
A data table with selected M, X pairs and related effect size.
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_step1 <- StepOne(X = example_dat$X, M = example_dat$M, time = surv_dat$time,
status = surv_dat$status, model_option = "MCP")
M_X_sel_s2 <- StepTwo(X = example_dat$X, M = example_dat$M, time = surv_dat$time,
status = surv_dat$status, X_sel_Y_s1 = res_step1$X_sel_Y_s1, M_X_s1 = res_step1$M_X_s1,
M_sel_Y_s1 = res_step1$M_sel_Y_s1)
Example Dataset
Description
A example simulated dataset used in the SMAP package.
Usage
data(example_dat)
Format
example_dat
Examples
data(example_dat)
A function that returns adjusted p-values
Description
A function that returns adjusted p-values.
Usage
get_adjusted_p(res_SMAHP)
Arguments
| res_SMAHP | Outputs from SMAHP | 
Value
A matrix of adjusted p-values.
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_SMAHP <- SMAHP(example_dat$X, example_dat$M, example_dat$C, time = surv_dat$time,
status = surv_dat$status)
get_adjusted_p(res_SMAHP)
A function that extracts coefficients.
Description
A function that extracts coefficients from mediation and outcome model.
Usage
get_coef(res_SMAHP)
Arguments
| res_SMAHP | Outputs from SMAHP | 
Value
A data frame which includes the name of exposure and mediator with coefficients from mediation and outcome model.
| beta1 | The coefficient estimate of exposure in mediation model | 
| beta2 | The coefficient estimate of mediator in outcome model | 
| beta3 | The coefficient estimate of exposure in outcome model | 
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_SMAHP <- SMAHP(example_dat$X, example_dat$M, example_dat$C, time = surv_dat$time,
status = surv_dat$status)
get_coef(res_SMAHP)
A function that returns mediation-exposure matrix
Description
A function that returns final mediation-exposure matrix.
Usage
get_pairs(res_SMAHP)
Arguments
| res_SMAHP | Outputs from SMAHP | 
Value
Mediation-exposure matrix.
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_SMAHP <- SMAHP(example_dat$X, example_dat$M, example_dat$C, time = surv_dat$time,
status = surv_dat$status)
get_pairs(res_SMAHP)
A function that returns unadjusted p-values
Description
A function that returns unadjusted p-values.
Usage
get_raw_p(res_SMAHP)
Arguments
| res_SMAHP | Outputs from SMAHP | 
Value
A matrix of unadjusted p-values.
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_SMAHP <- SMAHP(example_dat$X, example_dat$M, example_dat$C, time = surv_dat$time,
status = surv_dat$status)
get_raw_p(res_SMAHP)
A function that returns significant pathways.
Description
A function that returns significant pathways.
Usage
get_sig_pathway(res_SMAHP)
Arguments
| res_SMAHP | Outputs from SMAHP | 
Value
A data frame which includes the name of exposure and mediator with adjusted p-value from identified significant pathways.
Examples
data(example_dat)
surv_dat <- example_dat$surv_dat
res_SMAHP <- SMAHP(example_dat$X, example_dat$M, example_dat$C, time = surv_dat$time,
status = surv_dat$status)
get_sig_pathway(res_SMAHP)