| Title: | Survival Mediation Analysis of High-Dimensional Proteogenomic Data |
|---|---|
| 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>. |
| Authors: | Seungjun Ahn [aut] |
| Maintainer: | Weijia Fu <[email protected]> |
| License: | GPL-3 |
| Version: | 0.0.5 |
| Built: | 2026-05-21 07:52:35 UTC |
| Source: | https://github.com/cran/SMAHP |
A example simulated dataset used in the SMAP package.
data(example_dat)data(example_dat)
example_dat
data(example_dat)data(example_dat)
A function that returns adjusted p-values.
get_adjusted_p(res_SMAHP)get_adjusted_p(res_SMAHP)
res_SMAHP |
Outputs from SMAHP |
A matrix of adjusted p-values.
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)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 from mediation and outcome model.
get_coef(res_SMAHP)get_coef(res_SMAHP)
res_SMAHP |
Outputs from SMAHP |
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 |
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)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 final mediation-exposure matrix.
get_pairs(res_SMAHP)get_pairs(res_SMAHP)
res_SMAHP |
Outputs from SMAHP |
Mediation-exposure matrix.
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)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.
get_raw_p(res_SMAHP)get_raw_p(res_SMAHP)
res_SMAHP |
Outputs from SMAHP |
A matrix of unadjusted p-values.
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)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.
get_sig_pathway(res_SMAHP)get_sig_pathway(res_SMAHP)
res_SMAHP |
Outputs from SMAHP |
A data frame which includes the name of exposure and mediator with adjusted p-value from identified significant pathways.
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)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)
A function for SIS + SIS combo.
SIS_combo(X, M, C, time, status, p_adjust_option = "BH", thres = 0.05)SIS_combo(X, M, C, time, status, p_adjust_option = "BH", thres = 0.05)
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. |
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).
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)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)
An approach for survival mediation analysis of high-dimensional proteogenomic data.
SMAHP( X, M, C, time, status, model_option = "MCP", SIS_thres = "n/log(n)", p_adjust_option = "BH", p_thres = 0.05 )SMAHP( X, M, C, time, status, model_option = "MCP", SIS_thres = "n/log(n)", p_adjust_option = "BH", p_thres = 0.05 )
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. |
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 |
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)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)
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.
StepOne(X, M, time, status, model_option = "MCP")StepOne(X, M, time, status, model_option = "MCP")
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. |
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 |
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")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")
An auxiliary function which generates p-value based on outcome and mediation model.
StepThree(X, M, C, time, status, X_sel_Y_s1, M_X_sel_s2)StepThree(X, M, C, time, status, X_sel_Y_s1, M_X_sel_s2)
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. |
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 |
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)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)
An auxiliary function which selects M-X paris using SIS.
StepTwo( X, M, time, status, X_sel_Y_s1, M_X_s1, M_sel_Y_s1, SIS_thres = "n/log(n)" )StepTwo( X, M, time, status, X_sel_Y_s1, M_X_s1, M_sel_Y_s1, SIS_thres = "n/log(n)" )
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)". |
A data table with selected M, X pairs and related effect size.
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)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)