hdcuremodels-vignette

Introduction

Recent medical advances have led to long-term overall or disease-free survival for at least a subset of treated subjects for various diseases, such that some patients’ overall survival is consistent with their population expected survival. Conventionally, we call the subset of subjects who are immune to the event of interest cured while all other subjects are susceptible to the event. When performing a time-to-event analysis to data that includes a subset of subjects who are cured, mixture cure models (MCMs) are a useful alternative to the Cox proportional hazards (PH) model. This is because the Cox PH model assumes a constant hazard applies to all subjects throughout the observed follow-up time which is violated when some subjects in the dataset are cured (Goldman 1991). Additionally, when cured subjects comprise a portion of the dataset, the survival function is improper.

MCMs model the proportion cured separately from the time-to-event outcome for those susceptible and thus consist of two components: the incidence component, which models cured versus susceptible, and the latency component, which models the time-to-event among those susceptible. In the hdcuremodels package we allow the covariates in the two components of the model to differ, so x and w represent the covariates in the indicidence and latency components of the model, respectively. The mixture cure survival function is given by S(t|x,w) = (1 − p(x)) + p(x)Su(t, w|Y = 1) where p(x) represents the probability of being susceptible, 1 − p(x) represents the probability of being cured, and Su(t, (w)|Y = 1) represents the survival function (or latency) for those susceptible. Thus, the mixture cure model structure allows one to investigate the effect of covariates on two components of the model: incidence (susceptible versus cured) and latency (time-to-event for susceptibles). The incidence component is ordinarily modeled using logistic regression and we have parameters β0 and vector of coefficients βinc. The latency or time-to-event function for susceptibles can be modeled in different ways, using for example a parametric, a non-parametric, or semi-parametric survival model. Therefore, the vector of coefficients βlat in the latency portion of the model may be accompanied by a shape and scale parameters if a Weibull or exponential model are fit.

The hdcuremodels R package was developed for fitting penalized mixture cure models when there is a high-dimensional covariate space, such as when high-throughput genomic data are used in modeling time-to-event data when some subjects will not experience the event of interest. The package includes the following functions for model fitting: curegmifs, cureem, cv_curegmifs, and cv_cureem. The functions curegmifs and cureem are used for fitting a penalized mixture cure model. The distinction between curegmifs and cureem is the algorithm used and the types of time-to-event models that can be fit. The curegmifs function can be used to fit penalized Weibull and penalized exponential models where the solution is obtained using the generalized monotone incremental forward stagewise (GMIFS) method (Fu et al, 2022). The cureem function can be used to fit penalized Cox proportional hazards, Weibull, and exponential models where the solution is obtained using the Expectation-Maximization (E-M) algorithm (Archer et al, 2024). Both cv_curegmifs and cv_cureem can be used for performing cross-validation for model selection and for performing variable selection using the model-X knockoff procedure with false discovery rate control (Candes et al, 2018). Aside from these model fitting functions, other functions have been included for testing assumptions required for fitting a mixture cure model. This vignette describes the syntax required for each of our penalized mixture cure models.

Package description

The hdcuremodels and survival packages should be loaded.

library(hdcuremodels)
library(survival)

Data examples

The package includes two datasets: amltrain (Archer et al, 2024) and amltest (Archer et al, 2024; Bamopoulos et al 2020). Both datasets include patients diagnosed with acute myeloid leukemia (AML) who were cytogenetically normal at diagnosis along with the same variables: cryr is the duration of complete response (in years), relapse.death is a censoring variable where 1 indicates the patient relapsed or died and 0 indicates the patient was alive at last follow-up, and expression for 320 transcripts measured using RNA-sequencing. The restriction to 320 transcripts was to reduce run time. Therefore, results obtained with these data will not precisely recapitulate those in the original publication (Archer et al, 2024). amltrain includes the 306 subjects that were used for training the penalized MCM while amltest includes the 40 subjects that were used to test the penalized MCM.

We also included a function, generate_cure_data, that allows the user to generate time-to-event data that includes a cured fraction. Various parameters in this function will allow the user to explore the impact of sample size (n), number of variables (j), number of variables truly associated with the outcome (n_true), effect size or signal amplitude (a), and correlation among variables (rho) on variable selection and model fit.

withr::local_seed(16)
data <- generate_cure_data(n = 200, j = 50, n_true = 10, a = 1.8, rho = 0.2)
training <- data$training
testing <- data$testing

Assessing model assumptions for fitting a mixture cure model

The workflow for fitting a mixture cure model should include the assessment of two assumptions: first, that a non-zero cure fraction is present; second, that there is sufficient follow-up (Maller and Zhou, 1996). Inferential tests for assessing these two assumptions are included in the hdcuremodels package. The functions nonzerocure_test and sufficient_fu_test both take a survfit object as their argument.

km_train <- survfit(Surv(cryr, relapse.death) ~ 1, data = amltrain)

As can be seen from the Kaplan-Meier plot, there is a long-plateau that does not drop down to zero. This may indicate the presence of a cured fraction. We can test the null hypothesis that the cured fraction is zero against the alternative hypothesis that the cured fraction is not zero using nonzerocure_test (Maller and Zhou, 1996).

nonzerocure_test(km_train)
#> Warning in Surv(object$time, object$n.event): Invalid status value, converted
#> to NA
#> $proportion_susceptible
#> [1] 0.7146919
#> 
#> $proportion_cured
#> [1] 0.2853081
#> 
#> $p_value
#> [1] 0.001
#> 
#> $time_95_percent_of_events
#> [1] 5.553847

Given the small p-value we reject the null hypothesis and conclude there is a non-zero cure fraction present. We can also extract the cured fraction as the Kaplan-Meier estimate beyond the last observed event (Goldman, 1991) using the cure_estimate function.

cure_estimate(km_train)
#> [1] 0.2853081

This estimate requires sufficiently long follow-up which can be tested using the sufficient_fu_test function (Maller and Zhou, 1996).

sufficient_fu_test(km_train)
#>        p_value n_n   N
#> 1 4.825325e-06  12 306

This function tests the null hypothesis of insufficient follow-up against the alternative that there is sufficient follow-up. Based on these results, we reject the null hypothesis and conclude there is sufficient follow-up. Having verified these two assumptions, we can now fit a mixture cure model.

Penalized mixture cure models

Fitting penalized mixture cure models using GMIFS

The primary function for fitting parametric models using the GMIFS algorithm in the hdcuremodels package is curegmifs. The function arguments are

args(curegmifs)
#> function (formula, data, subset, x_latency = NULL, model = c("weibull", 
#>     "exponential"), penalty_factor_inc = NULL, penalty_factor_lat = NULL, 
#>     epsilon = 0.001, thresh = 1e-05, scale = TRUE, maxit = 10000, 
#>     inits = NULL, verbose = TRUE, suppress_warning = FALSE, ...) 
#> NULL

The curegmifs function accepts a model formula that specifies the time-to-event outcome on the left-hand side of the equation as a Surv object and any incidence predictor variable(s) on the right-hand side of the equation. Note that at least some incidence predictor variables must be included in order to fit a penalized mixture cure model, otherwise, the survival package functions should be used to fit time-to-event models that lack an incidence component. The data parameter specifies the name of the data.frame and the optional subset parameter can be used to limit model fitting to a subset of observations in the data. The x_latency parameter specifies the variables to be included in the latency portion of the model and can be either a matrix of predictors, a model formula with the right hand side specifying the latency variables, or the same data.frame passed to the data parameter. Note that when using the model formula syntax for x_latency it cannot handle x_latency = ~ .. The curegmifs function can fit either a either "weibull" or "exponential" model, which is specified using the model parameter. Other parameters include penalty_factor_inc which is an optional numeric vector with length equal to the number of incidence variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Likewise penalty_factor_lat is an optional numeric vector with length equal to the number of latency variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Unpenalized predictors are those that we want to coerce into the model (e.g., age) so that no penalty is applied. By default the variables are centered and scaled (scale = TRUE). The parameter epsilon is the size of the coefficient update at each step (default = 0.001). The GMIFS algorithm stops when either the difference between successive log-likelihoods is less than thresh (default 1e-05) or the algorithm has exceeded the maximum number of iterations (maxit). Initialization is automatically provided by the function though inits can be used to provide initial values for the incidence intercept, unpenalized incidence and latency coefficients, rate parameter, and shape parameter if fitting a Weibull mixture cure model. By default verbose = TRUE so that running information is echoed to the R console.

fitgmifs <- curegmifs(Surv(cryr, relapse.death) ~ .,
  data = amltrain,
  x_latency = amltrain, model = "weibull"
)

Details of the GMIFS mixture cure model have been described in Fu et al, 2022.

Fitting penalized mixture cure models using E-M algorithm

The primary function for fitting penalized MCMs using the E-M algorithm in the hdcuremodels package is cureem. The function arguments are

args(cureem)
#> function (formula, data, subset, x_latency = NULL, model = c("cox", 
#>     "weibull", "exponential"), penalty = c("lasso", "MCP", "SCAD"), 
#>     penalty_factor_inc = NULL, penalty_factor_lat = NULL, thresh = 0.001, 
#>     scale = TRUE, maxit = NULL, inits = NULL, lambda_inc = 0.1, 
#>     lambda_lat = 0.1, gamma_inc = 3, gamma_lat = 3, ...) 
#> NULL

The cureem function accepts a model formula that specifies the time-to-event outcome on the left-hand side of the equation as a Surv object and any incidence predictor variable(s) on the right-hand side of the equation. Note that at least some incidence predictor variables must be included in order to fit a penalized mixture cure model, otherwise, the survival package functions should be used to fit time-to-event models that lack an incidence component. The data parameter specifies the name of the data.frame and the optional subset parameter can be used to limit model fitting to a subset of observations in the data. The x_latency parameter specifies the variables to be included in the latency portion of the model and can be either a matrix of predictors, a model formula with the right hand side specifying the latency variables, or the same data.frame passed to the data parameter. Note that when using the model formula syntax for x_latency it cannot handle x_latency = ~ .. The cureem function can fit one of three models which is specified using the model parameter, which can be either "cox" (default), "weibull", or "exponential". Other parameters include penalty which can be "lasso", "MCP", or "SCAD" when fitting a "cox" model but must be "lasso" when fitting a "weibull" or "exponential" model. penalty_factor_inc is an optional numeric vector with length equal to the number of incidence variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Likewise penalty_factor_lat is an optional numeric vector with length equal to the number of latency variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Unpenalized predictors are those that we want to coerce into the model (e.g., age) so that no penalty is applied. The iterative process stops when the differences between successive expected penalized complete-data log-likelihoods for both incidence and latency components are less than thresh (default = 0.001). By default the variables are centered and scaled (scale = TRUE). The user can specify the maximum number of passes over the data for each lambda using maxit, which defaults to 100 when penalty = "lasso" and 1000 when either penalty = "MCP" or penalty = "SCAD". Initialization is automatically provided by the function though inits can be used to provide initial values for the incidence intercept, unpenalized indicidence and latency coefficients, rate parameter (for Weibull and exponential MCM), and shape parameter (for Weibull MCM). By default verbose = TRUE so that running information is echoed to the R console. The user can also specify the penalty parameter for the incidence (lambda_inc) and latency (lambda_lat) portions of the model and the γ penalty when MCP or SCAD is used (gamma_inc and gamma_lat).

Details of the E-M MCM have been described in the Supplementary Material of Archer et al, 2024.

fitem <- cureem(Surv(cryr, relapse.death) ~ .,
  data = amltrain,
  x_latency = amltrain, model = "cox",
  lambda_inc = 0.009993, lambda_lat = 0.02655
)

Cross-validation

There is a function for performing cross-validation (CV) corresponding to each of the two optimization methods. The primary function for fitting cross-validated penalized MCMs using the E-M algorithm in the hdcuremodels package is cv_cureem. The function arguments are

args(cv_cureem)
#> function (formula, data, subset, x_latency = NULL, model = c("cox", 
#>     "weibull", "exponential"), penalty = c("lasso", "MCP", "SCAD"), 
#>     penalty_factor_inc = NULL, penalty_factor_lat = NULL, fdr_control = FALSE, 
#>     fdr = 0.2, grid_tuning = FALSE, thresh = 0.001, scale = TRUE, 
#>     maxit = NULL, inits = NULL, lambda_inc_list = NULL, lambda_lat_list = NULL, 
#>     nlambda_inc = NULL, nlambda_lat = NULL, gamma_inc = 3, gamma_lat = 3, 
#>     lambda_min_ratio_inc = 0.1, lambda_min_ratio_lat = 0.1, n_folds = 5, 
#>     measure_inc = c("c", "auc"), one_se = FALSE, cure_cutoff = 5, 
#>     parallel = FALSE, seed = NULL, verbose = TRUE, ...) 
#> NULL

The cv_cureem function accepts a model formula that specifies the time-to-event outcome on the left-hand side of the equation as a Surv object and any incidence predictor variable(s) on the right-hand side of the equation. Note that at least some incidence predictor variables must be included in order to fit a penalized mixture cure model, otherwise, the survival package functions should be used to fit time-to-event models that lack an incidence component. The data parameter specifies the name of the data.frame and the optional subset parameter can be used to limit model fitting to a subset of observations in the data. The x_latency parameter specifies the variables to be included in the latency portion of the model and can be either a matrix of predictors, a model formula with the right hand side specifying the latency variables, or the same data.frame passed to the data parameter. Note that when using the model formula syntax for x_latency it cannot handle x_latency = ~ .. The cv_cureem function can fit one of three models which is specified using the model parameter, which can be either "cox" (default), "weibull", or "exponential". Other parameters include penalty which can be "lasso", "MCP", or "SCAD" when fitting a "cox" model but must be "lasso" when fitting a "weibull" or "exponential" model. penalty_factor-inc is an optional numeric vector with length equal to the number of incidence variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Likewise penalty_factor_lat is an optional numeric vector with length equal to the number of latency variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Unpenalized predictors are those that we want to coerce into the model (e.g., age) so that no penalty is applied. The user can choose to use the model-X knock-off procedure to control the false discovery rate (FDR) by specifying fdr_control = TRUE and optionally changing the FDR threshold (default fdr = 0.20) (Candes et al, 2018). To identify the optimal λ for the incidence and latency portions of the model, the user can set grid_tuning = TRUE (default is that one value for λ is used in both portions of the model). Other useful parameters for the cross-validation function include n_folds, an integer specifying the number of folds for the k-fold cross-validation procedure (default is 5); measure_inc which specifies the evaluation criterion used in selecting the optimal penalty which can be "c" for the C-statistic using cure status weighting (Asano and Hirakawa, 2017) or "auc" for cure prediction using mean score imputation (Asano et al, 2014) (default is measure_inc = "c"); one_se is a logical variable that if TRUE then the one standard error rule is used which selects the most parsimonious model having evaluation criterion no more than one standard error worse than that of the best evaluation criterion (default is FALSE); and cure_cutoff which is a numeric value representing the cutoff time used to represent subjects not experiencing the event by this time are cured which is used to produce a proxy for the unobserved cure status when calculating the C-statistic and AUC (default is 5). If the logical parameter parallel is TRUE, cross-validation will be performed using parallel processing which requires the foreach and doMC R packages. To foster reproducibility of cross-validation results, seed can be set to an integer.

As with cureem, the iterative process stops when the differences between successive expected penalized complete-data log-likelihoods for both incidence and latency components are less than thresh (default = 0.001). By default the variables are centered and scaled (scale = TRUE). The user can specify the maximum number of passes over the data for each lambda using maxit, which defaults to 100 when penalty = "lasso" and 1000 when either penalty = "MCP" or penalty = "SCAD". Initialization is automatically provided by the function though inits can be used to provide initial values for the incidence intercept, unpenalized indicidence and latency coefficients, rate parameter (for Weibull and exponential MCM), and shape parameter (for Weibull MCM). When model = "cox", inits should also include a numeric vector for the latency survival probabilities. Optionally, the user can supply a numeric vector to search for the optimal penalty for the incidence portion (lambda_inc_list) and a numeric vector to search for the optimal penalty for the latency portion (lambda_lat_list) of the model. By default the number of values to search for the optimal incidence penalty is 10 which can be changed by specifying an integer for nlambda_int and similarly for latency by specifying an integer for nlambda_lat. If penalty is either "MCP" or "SCAD", the user can optionally specify the penalization parameter γ for the incidence (gamma_inc) and latency (gamma_lat) portions of the model. By default verbose = TRUE so that running information is echoed to the R console. The user can also specify the penalty parameter for the incidence (lambda_inc) and latency (lambda_lat) portions of the model and the γ penalty when MCP or SCAD is used (gamma_inc and gamma_lat).

fit_cv <- cv_cureem(Surv(Time, Censor) ~ .,
  data = training,
  x_latency = training, fdr_control = FALSE,
  grid_tuning = FALSE, nlambda_inc = 10,
  nlambda_lat = 10, n_folds = 2, seed = 23,
  verbose = TRUE
)
#> Fold 1 out of 2 training...
#> Fold 2 out of 2 training...
#> Selected lambda for incidence: 0.066
#> Selected lambda for latency: 0.066
#> Maximum C-statistic: 0.74731903994292
#> Fitting a final model...

Notice in the previous section describing cureem that values were supplied for the λ penalty parameters for both the incidence and latency portions of the model using lambda_inc and lambda_lat. Those values were determined from the following repeated 10-fold cross-validation where the optimal λ for the incidence portion was identified by fitting the models to maximize the AUC while the optimal λ for the latency portion was identified by fitting the models to maximize the C-statistic. After the CV procedure the mode for each was taken. Because the run time for the repeated 10-fold CV procedure was 5.65 hours, this code chunk is not evaluated herein.

lambda_inc <- lambda_lat <- rep(0, 100)
for (k in 1:100) {
  print(k)
  coxem_auc_k <- cv_cureem(Surv(cryr, relapse.death) ~ .,
    data = amltrain, x_latency = amltrain,
    model = "cox", penalty = "lasso",
    scale = TRUE, grid_tuning = TRUE,
    nfolds = 10, nlambda_inc = 20,
    nlambda_lat = 20, verbose = FALSE,
    parallel = TRUE, measure_inc = "auc"
  )
  lambda_inc[k] <- coxem_auc_k$selected_lambda_inc
  coxem_c_k <- cv_cureem(Surv(cryr, relapse.death) ~ .,
    data = amltrain,
    x_latency = amltrain, model = "cox",
    penalty = "lasso", scale = TRUE,
    grid_tuning = TRUE, nfolds = 10,
    nlambda_inc = 20, nlambda_lat = 20,
    verbose = FALSE, parallel = TRUE,
    measure_inc = "c"
  )
  lambda_lat[k] <- coxem_c_k$selected_lambda_lat
}
table(lambda_inc)
table(lambda_lat)

The primary function for fitting cross-validated penalized MCMs using the GMIFS algorithm in the hdcuremodels package is cv_curegmifs. The function arguments are

args(cv_curegmifs)
#> function (formula, data, subset, x_latency = NULL, model = c("weibull", 
#>     "exponential"), penalty_factor_inc = NULL, penalty_factor_lat = NULL, 
#>     fdr_control = FALSE, fdr = 0.2, epsilon = 0.001, thresh = 1e-05, 
#>     scale = TRUE, maxit = 10000, inits = NULL, n_folds = 5, measure_inc = c("c", 
#>         "auc"), one_se = FALSE, cure_cutoff = 5, parallel = FALSE, 
#>     seed = NULL, verbose = TRUE, ...) 
#> NULL

The cv_curegmifs function accepts a model formula that specifies the time-to-event outcome on the left-hand side of the equation as a Surv object and any incidence predictor variable(s) on the right-hand side of the equation. Note that at least some incidence predictor variables must be included in order to fit a penalized mixture cure model, otherwise, the survival package functions should be used to fit time-to-event models that lack an incidence component. The data parameter specifies the name of the data.frame and the optional subset parameter can be used to limit model fitting to a subset of observations in the data. The x_latency parameter specifies the variables to be included in the latency portion of the model and can be either a matrix of predictors, a model formula with the right hand side specifying the latency variables, or the same data.frame passed to the data parameter. Note that when using the model formula syntax for x_latency it cannot handle x_latency = ~ .. The cv_curegmifs function can fit either a either "weibull" or "exponential" model, which is specified using the model parameter. Other parameters include penalty_factor_inc which is an optional numeric vector with length equal to the number of incidence variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Likewise penalty_factor_lat is an optional numeric vector with length equal to the number of latency variables, where 1 indicates that variable should be penalized and 0 indicates that variable is unpenalized (default is that all variables are penalized). Unpenalized predictors are those that we want to coerce into the model (e.g., age) so that no penalty is applied. The user can choose to use the model-X knock-off procedure to control the false discovery rate (FDR) by specifying fdr_control = TRUE and optionally changing the FDR threshold (default fdr = 0.20) (Candes et al, 2018). By default the variables are centered and scaled (scale = TRUE). The parameter epsilon is the size of the coefficient update at each step (default = 0.001). The GMIFS algorithm stops when either the difference between successive log-likelihoods is less than thresh (default 1e-05) or the algorithm has exceeded the maximum number of iterations (maxit). Initialization is automatically provided by the function though inits can be used to provide initial values for the incidence intercept, unpenalized indicidence and latency coefficients, rate parameter, and shape parameter if fitting a Weibull mixture cure model. Other useful parameters for the cross-validation function include n_folds, an integer specifying the number of folds for the k-fold cross-validation procedure (default is 5); measure_inc which specifies the evaluation criterion used in selecting the optimal penalty which can be "c" for the C-statistic using cure status weighting (Asano and Hirakawa, 2017) or "auc" for cure prediction using mean score imputation (Asano et al, 2014) (default is measure_inc = "c"); one_se is a logical variable that if TRUE then the one standard error rule is used which selects the most parsimonious model having evaluation criterion no more than one standard error worse than that of the best evaluation criterion (default is FALSE); and cure_cutoff which is a numeric value representing the cutoff time used to represent subjects not experiencing the event by this time are cured which is used to produce a proxy for the unobserved cure status when calculating the C-statistic and AUC (default is 5). If the logical parameter parallel is TRUE, cross-validation will be performed using parallel processing which requires the foreach and doMC R packages. To foster reproducibility of cross-validation results, seed can be set to an integer. By default verbose = TRUE so that running information is echoed to the R console.

Other Package Functions

The four modeling functions cureem, curegmifs, cv_cureem, and cv_curegmifs all result in an object of class mixturecure. Generic functions for resulting mixturecure objects are available for extracting meaningful results. The print function prints the first several incidence and latency coefficients and the rate (exponential and Weibull) and alpha (Weibull) when fitting a parametric MCM and returns the fitted object invisible to the user.

print(fitem)
#> mixturecure object fit using  cox EM algorithm
#> 
#> $b_path
#>      ENSG00000001561 ENSG00000005249 ENSG00000006757 ENSG00000007062
#> [1,]     -0.06603107               0               0      0.00000000
#> [2,]     -0.06775959               0               0      0.00000000
#> [3,]     -0.06452334               0               0      0.00000000
#> [4,]     -0.05978793               0               0      0.06267883
#> [5,]     -0.06041427               0               0      0.10713984
#> [6,]     -0.07285607               0               0      0.11299637
#>      ENSG00000007968 ENSG00000008283 ENSG00000008405 ENSG00000008441
#> [1,]               0       0.1249234               0               0
#> [2,]               0       0.1397541               0               0
#> [3,]               0       0.1217461               0               0
#> [4,]               0       0.1198566               0               0
#> [5,]               0       0.1010359               0               0
#> [6,]               0       0.1029501               0               0
#>      ENSG00000010295 ENSG00000011028 ENSG00000011198 ENSG00000012779
#> [1,]               0     -0.04767387     -0.03891623               0
#> [2,]               0      0.00000000      0.00000000               0
#> [3,]               0      0.00000000      0.00000000               0
#> [4,]               0      0.00000000      0.00000000               0
#> [5,]               0      0.00000000      0.00000000               0
#> [6,]               0      0.00000000      0.00000000               0
#>      ENSG00000012817 ENSG00000013306 ENSG00000013725 ENSG00000018189
#> [1,]      0.07542711               0      0.00000000               0
#> [2,]      0.15391797               0      0.00000000               0
#> [3,]      0.22125646               0      0.00000000               0
#> [4,]      0.27246784               0      0.00000000               0
#> [5,]      0.22737521               0     -0.08729237               0
#> [6,]      0.12483494               0     -0.11322127               0
#>      ENSG00000022267 ENSG00000023171 ENSG00000023909 ENSG00000029639
#> [1,]       0.0590383       0.1827216               0               0
#> [2,]       0.0000000       0.2676915               0               0
#> [3,]       0.0000000       0.3495345               0               0
#> [4,]       0.0000000       0.4290307               0               0
#> [5,]       0.0000000       0.4672071               0               0
#> [6,]       0.0000000       0.4733361               0               0
#>      ENSG00000047634 ENSG00000049192 ENSG00000053524 ENSG00000058056
#> [1,]               0     -0.06541176               0     -0.04690539
#> [2,]               0     -0.08420683               0     -0.07602101
#> [3,]               0     -0.07993629               0     -0.08449361
#> [4,]               0     -0.05278295               0     -0.10741053
#> [5,]               0     -0.03282993               0     -0.12764891
#> [6,]               0     -0.03341751               0     -0.13912205
#>      ENSG00000060138 ENSG00000061918 ENSG00000065809 ENSG00000065923
#> [1,]               0      0.06525818               0               0
#> [2,]               0      0.10410006               0               0
#> [3,]               0      0.10523676               0               0
#> [4,]               0      0.08543378               0               0
#> [5,]               0      0.07079769               0               0
#> [6,]               0      0.08274617               0               0
#>      ENSG00000068489 ENSG00000069020 ENSG00000070404 ENSG00000071894
#> [1,]      -0.0858607      0.02407205               0               0
#> [2,]       0.0000000      0.04223454               0               0
#> [3,]       0.0000000      0.08064749               0               0
#> [4,]       0.0000000      0.10665367               0               0
#> [5,]       0.0000000      0.14392072               0               0
#> [6,]       0.0000000      0.18076230               0               0
#>      ENSG00000072422 ENSG00000073605 ENSG00000076555 ENSG00000080823
#> [1,]     -0.09496157               0               0      0.05640635
#> [2,]     -0.10826336               0               0      0.05699853
#> [3,]     -0.12554918               0               0      0.04437652
#> [4,]     -0.13274606               0               0      0.04216887
#> [5,]     -0.12634205               0               0      0.05398149
#> [6,]     -0.14299353               0               0      0.08430910
#>      ENSG00000089723 ENSG00000090382 ENSG00000090975 ENSG00000100068
#> [1,]               0               0     0.000000000               0
#> [2,]               0               0    -0.004740487               0
#> [3,]               0               0    -0.025747094               0
#> [4,]               0               0    -0.024906003               0
#> [5,]               0               0    -0.040122138               0
#> [6,]               0               0    -0.065925072               0
#>      ENSG00000100077 ENSG00000100299 ENSG00000100376 ENSG00000100418
#> [1,]               0      0.09230929      0.07359567               0
#> [2,]               0      0.10568819      0.06455155               0
#> [3,]               0      0.12365797      0.05865054               0
#> [4,]               0      0.17054774      0.06603685               0
#> [5,]               0      0.21828948      0.09523269               0
#> [6,]               0      0.27116298      0.10797011               0
#>      ENSG00000100448 ENSG00000100596 ENSG00000100916 ENSG00000102409
#> [1,]               0     -0.01694744     -0.04521224     -0.08132543
#> [2,]               0     -0.05957046     -0.03068142     -0.12197364
#> [3,]               0     -0.07362436     -0.06001365     -0.16408897
#> [4,]               0     -0.09870187     -0.15352535     -0.16167771
#> [5,]               0     -0.14088479     -0.19689716     -0.13936892
#> [6,]               0     -0.15772309     -0.19263218     -0.11669631
#>      ENSG00000102760 ENSG00000104689 ENSG00000104946 ENSG00000105518
#> [1,]               0     -0.01323464               0               0
#> [2,]               0     -0.02687154               0               0
#> [3,]               0     -0.03899290               0               0
#> [4,]               0     -0.08155054               0               0
#> [5,]               0     -0.13133974               0               0
#> [6,]               0     -0.18016564               0               0
#>      ENSG00000105808 ENSG00000106367 ENSG00000106526 ENSG00000106546
#> [1,]               0               0      0.00000000               0
#> [2,]               0               0     -0.01011933               0
#> [3,]               0               0     -0.06431792               0
#> [4,]               0               0     -0.07771791               0
#> [5,]               0               0     -0.06730264               0
#> [6,]               0               0     -0.07405375               0
#>      ENSG00000106780 ENSG00000107104 ENSG00000107742 ENSG00000107798
#> [1,]     0.000000000               0     -0.15862052               0
#> [2,]    -0.007029271               0     -0.09413663               0
#> [3,]    -0.055343726               0     -0.06379332               0
#> [4,]    -0.075394982               0     -0.03892543               0
#> [5,]    -0.119127838               0      0.00000000               0
#> [6,]    -0.122415716               0      0.00000000               0
#>      ENSG00000107816 ENSG00000107957 ENSG00000109674 ENSG00000110076
#> [1,]     0.000000000     0.000000000               0      0.06996428
#> [2,]     0.008143279    -0.002835474               0      0.11133803
#> [3,]     0.021131398    -0.023325056               0      0.13695026
#> [4,]     0.016897390    -0.034880026               0      0.19989342
#> [5,]     0.000000000    -0.025556869               0      0.22013053
#> [6,]     0.000000000    -0.018897822               0      0.22520813
#>      ENSG00000110237 ENSG00000110492 ENSG00000110799 ENSG00000111275
#> [1,]       0.1270450               0               0      0.04049367
#> [2,]       0.2496390               0               0      0.06505964
#> [3,]       0.3753406               0               0      0.10517663
#> [4,]       0.4598915               0               0      0.11359898
#> [5,]       0.4891674               0               0      0.09094810
#> [6,]       0.4771990               0               0      0.07502841
#>      ENSG00000112773 ENSG00000113504 ENSG00000114268 ENSG00000114737
#> [1,]               0       0.1514499               0       0.1327339
#> [2,]               0       0.1804617               0       0.1508237
#> [3,]               0       0.2470215               0       0.1622627
#> [4,]               0       0.3047194               0       0.1380594
#> [5,]               0       0.3427185               0       0.1386961
#> [6,]               0       0.3535659               0       0.1377553
#>      ENSG00000115183 ENSG00000115414 ENSG00000115457 ENSG00000115525
#> [1,]       0.1445798               0               0      0.08679406
#> [2,]       0.1868333               0               0      0.12362566
#> [3,]       0.1577545               0               0      0.16754923
#> [4,]       0.1373156               0               0      0.13631979
#> [5,]       0.1388219               0               0      0.08197605
#> [6,]       0.1682149               0               0      0.06077103
#>      ENSG00000116574 ENSG00000117480 ENSG00000119280 ENSG00000120594
#> [1,]      0.14329107               0      -0.1027015      -0.3200108
#> [2,]      0.09384970               0      -0.1292583      -0.4121187
#> [3,]      0.09433398               0      -0.1664779      -0.4864337
#> [4,]      0.08612823               0      -0.2086915      -0.4951496
#> [5,]      0.09941045               0      -0.2722131      -0.4208496
#> [6,]      0.13372747               0      -0.3326655      -0.3442044
#>      ENSG00000120675 ENSG00000120832 ENSG00000120913 ENSG00000121005
#> [1,]     -0.05403930               0               0               0
#> [2,]     -0.01307236               0               0               0
#> [3,]      0.00000000               0               0               0
#> [4,]      0.00000000               0               0               0
#> [5,]      0.00000000               0               0               0
#> [6,]      0.00000000               0               0               0
#>      ENSG00000121039 ENSG00000121274 ENSG00000123080 ENSG00000123836
#> [1,]               0    -0.056325908     -0.03353708               0
#> [2,]               0     0.000000000     -0.07365988               0
#> [3,]               0     0.000000000     -0.10082580               0
#> [4,]               0     0.000000000     -0.08614585               0
#> [5,]               0    -0.008590759     -0.06183003               0
#> [6,]               0    -0.053088068     -0.05059968               0
#>      ENSG00000124019 ENSG00000124882 ENSG00000126822 ENSG00000127152
#> [1,]               0    0.0000000000               0               0
#> [2,]               0    0.0000000000               0               0
#> [3,]               0    0.0000000000               0               0
#> [4,]               0    0.0002841815               0               0
#> [5,]               0    0.0401849585               0               0
#> [6,]               0    0.0573718728               0               0
#>      ENSG00000129824 ENSG00000130702 ENSG00000131188 ENSG00000131370
#> [1,]      0.00000000     -0.08338276               0               0
#> [2,]      0.00000000     -0.05523769               0               0
#> [3,]      0.00000000     -0.04182130               0               0
#> [4,]      0.00000000     -0.02870189               0               0
#> [5,]      0.07973885     -0.02704843               0               0
#> [6,]      0.19256654     -0.02307462               0               0
#>      ENSG00000132122 ENSG00000132530 ENSG00000132819 ENSG00000132849
#> [1,]     -0.10955629               0     -0.05568039               0
#> [2,]     -0.08598137               0     -0.13144233               0
#> [3,]     -0.01892897               0     -0.21467375               0
#> [4,]      0.00000000               0     -0.19749409               0
#> [5,]      0.00000000               0     -0.13640713               0
#> [6,]      0.00000000               0     -0.09014622               0
#>      ENSG00000133401 ENSG00000133619 ENSG00000134531 ENSG00000134897
#> [1,]      0.02788402      0.00000000               0               0
#> [2,]      0.02762425     -0.03667196               0               0
#> [3,]      0.05081846     -0.05438329               0               0
#> [4,]      0.07430531     -0.02375275               0               0
#> [5,]      0.11042675      0.00000000               0               0
#> [6,]      0.13433085      0.00000000               0               0
#>      ENSG00000135074 ENSG00000135245 ENSG00000135272 ENSG00000135362
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000135363 ENSG00000135916 ENSG00000136026 ENSG00000136193
#> [1,]               0     0.094656619               0               0
#> [2,]               0     0.069508051               0               0
#> [3,]               0     0.056176452               0               0
#> [4,]               0     0.006220562               0               0
#> [5,]               0     0.000000000               0               0
#> [6,]               0     0.000000000               0               0
#>      ENSG00000136231 ENSG00000136997 ENSG00000137193 ENSG00000137198
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000138722 ENSG00000139318 ENSG00000140287 ENSG00000144036
#> [1,]      0.07996831      0.07639542               0               0
#> [2,]      0.06161863      0.09256108               0               0
#> [3,]      0.08047911      0.07897421               0               0
#> [4,]      0.11373638      0.09003399               0               0
#> [5,]      0.14404550      0.12223316               0               0
#> [6,]      0.16041695      0.16140529               0               0
#>      ENSG00000144647 ENSG00000144677 ENSG00000145476 ENSG00000145545
#> [1,]      -0.1116176               0    -0.031450151    0.0000000000
#> [2,]      -0.0802649               0    -0.007282645    0.0000000000
#> [3,]       0.0000000               0     0.000000000    0.0000000000
#> [4,]       0.0000000               0     0.000000000    0.0009664199
#> [5,]       0.0000000               0     0.000000000    0.0000000000
#> [6,]       0.0000000               0    -0.013734710    0.0000000000
#>      ENSG00000146243 ENSG00000146373 ENSG00000147044 ENSG00000147180
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000148444 ENSG00000148484 ENSG00000149131 ENSG00000150760
#> [1,]               0               0               0     0.022480010
#> [2,]               0               0               0     0.030717471
#> [3,]               0               0               0     0.029660324
#> [4,]               0               0               0     0.002557812
#> [5,]               0               0               0     0.000000000
#> [6,]               0               0               0     0.000000000
#>      ENSG00000150782 ENSG00000151135 ENSG00000151208 ENSG00000151458
#> [1,]       0.1636458               0      -0.1560885               0
#> [2,]       0.1823843               0      -0.2175522               0
#> [3,]       0.1803480               0      -0.2779789               0
#> [4,]       0.1469714               0      -0.2858690               0
#> [5,]       0.1328988               0      -0.2775286               0
#> [6,]       0.1290020               0      -0.2527003               0
#>      ENSG00000152409 ENSG00000152580 ENSG00000152767 ENSG00000152778
#> [1,]    0.0000000000     0.000000000     0.000000000               0
#> [2,]   -0.0007954217     0.000000000     0.000000000               0
#> [3,]   -0.0035805830     0.000000000     0.008170802               0
#> [4,]    0.0000000000     0.000000000     0.008827903               0
#> [5,]    0.0000000000     0.000000000     0.000000000               0
#> [6,]    0.0000000000     0.007312789     0.012053940               0
#>      ENSG00000153563 ENSG00000154217 ENSG00000154743 ENSG00000154760
#> [1,]               0               0     0.000000000     0.040065564
#> [2,]               0               0    -0.009189976     0.045032530
#> [3,]               0               0     0.000000000     0.038215190
#> [4,]               0               0     0.000000000     0.006500787
#> [5,]               0               0     0.000000000     0.000000000
#> [6,]               0               0     0.000000000     0.000000000
#>      ENSG00000154874 ENSG00000156381 ENSG00000157107 ENSG00000157240
#> [1,]               0     -0.06110183     -0.07134683      0.00000000
#> [2,]               0     -0.09782904     -0.04468877     -0.06809685
#> [3,]               0     -0.11118804     -0.08006280     -0.11948625
#> [4,]               0     -0.14041640     -0.13898187     -0.08496466
#> [5,]               0     -0.18705292     -0.20362641     -0.03164724
#> [6,]               0     -0.18216366     -0.26278798     -0.02001647
#>      ENSG00000157873 ENSG00000157978 ENSG00000158691 ENSG00000159339
#> [1,]               0               0               0      0.00000000
#> [2,]               0               0               0      0.00000000
#> [3,]               0               0               0      0.04576565
#> [4,]               0               0               0      0.06405197
#> [5,]               0               0               0      0.05367157
#> [6,]               0               0               0      0.00000000
#>      ENSG00000159403 ENSG00000159788 ENSG00000160685 ENSG00000160781
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000161509 ENSG00000162433 ENSG00000162614 ENSG00000162676
#> [1,]               0       0.1301988               0               0
#> [2,]               0       0.1446206               0               0
#> [3,]               0       0.1821162               0               0
#> [4,]               0       0.2073570               0               0
#> [5,]               0       0.2175086               0               0
#> [6,]               0       0.2167813               0               0
#>      ENSG00000163412 ENSG00000163702 ENSG00000163814 ENSG00000164086
#> [1,]      0.09949153               0               0               0
#> [2,]      0.16029138               0               0               0
#> [3,]      0.20201729               0               0               0
#> [4,]      0.24318463               0               0               0
#> [5,]      0.26207726               0               0               0
#> [6,]      0.26679135               0               0               0
#>      ENSG00000164172 ENSG00000164442 ENSG00000165272 ENSG00000166165
#> [1,]    -0.032031122    0.0009085064   -0.0005523324               0
#> [2,]    -0.006706563    0.0000000000    0.0000000000               0
#> [3,]     0.000000000    0.0000000000    0.0000000000               0
#> [4,]     0.000000000    0.0000000000    0.0000000000               0
#> [5,]     0.000000000    0.0000000000    0.0000000000               0
#> [6,]     0.000000000    0.0000000000    0.0000000000               0
#>      ENSG00000166435 ENSG00000166987 ENSG00000167291 ENSG00000167565
#> [1,]       0.0000000               0       0.2118404               0
#> [2,]       0.0000000               0       0.2233346               0
#> [3,]       0.0000000               0       0.2102301               0
#> [4,]       0.0000000               0       0.2079363               0
#> [5,]       0.0000000               0       0.2062386               0
#> [6,]      -0.0288329               0       0.2261716               0
#>      ENSG00000167851 ENSG00000168026 ENSG00000168209 ENSG00000168502
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000168939 ENSG00000169203 ENSG00000169247 ENSG00000169504
#> [1,]    -0.073894815      0.00000000               0      0.06586674
#> [2,]    -0.080077303      0.00000000               0      0.03233590
#> [3,]    -0.032043001     -0.01504996               0      0.00000000
#> [4,]    -0.009082251     -0.13955403               0      0.00000000
#> [5,]    -0.002443780     -0.24296660               0      0.00000000
#> [6,]    -0.027655353     -0.25483840               0      0.00000000
#>      ENSG00000169860 ENSG00000169991 ENSG00000170035 ENSG00000170180
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000170456 ENSG00000170522 ENSG00000170909 ENSG00000171121
#> [1,]    -0.101971669               0     -0.07828563               0
#> [2,]    -0.079109608               0     -0.03342520               0
#> [3,]    -0.023745683               0     -0.03586119               0
#> [4,]    -0.005987321               0     -0.07400895               0
#> [5,]     0.000000000               0     -0.11837695               0
#> [6,]    -0.005944692               0     -0.11903187               0
#>      ENSG00000171222 ENSG00000171476 ENSG00000171813 ENSG00000171962
#> [1,]     -0.08535846      0.02983766      -0.1486002      0.00000000
#> [2,]     -0.07110995      0.00000000      -0.1548731      0.00000000
#> [3,]      0.00000000      0.00000000      -0.2158791     -0.01714280
#> [4,]      0.00000000      0.00000000      -0.2987384     -0.03447376
#> [5,]     -0.02211274      0.00000000      -0.3546856     -0.04673930
#> [6,]     -0.06304167      0.03128718      -0.3760876     -0.02665156
#>      ENSG00000172197 ENSG00000172236 ENSG00000173083 ENSG00000173530
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000173926 ENSG00000174059 ENSG00000174080 ENSG00000174130
#> [1,]     0.001964385      0.07888896     -0.01162486      -0.1232139
#> [2,]     0.000000000      0.04068822     -0.02015486      -0.1599641
#> [3,]     0.000000000      0.00000000     -0.06831540      -0.1949146
#> [4,]     0.000000000      0.00000000     -0.18411095      -0.2659070
#> [5,]     0.000000000      0.02468742     -0.31552805      -0.3432604
#> [6,]     0.000000000      0.06629882     -0.38323783      -0.3773480
#>      ENSG00000174738 ENSG00000175265 ENSG00000175352 ENSG00000176597
#> [1,]   -7.360614e-05      0.00000000               0               0
#> [2,]    0.000000e+00      0.07560094               0               0
#> [3,]    0.000000e+00      0.11854462               0               0
#> [4,]    0.000000e+00      0.12400442               0               0
#> [5,]    0.000000e+00      0.10900383               0               0
#> [6,]    0.000000e+00      0.09637567               0               0
#>      ENSG00000179222 ENSG00000179630 ENSG00000179639 ENSG00000179820
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000180096 ENSG00000180596 ENSG00000180902 ENSG00000181104
#> [1,]               0               0      -0.1057270               0
#> [2,]               0               0      -0.1831726               0
#> [3,]               0               0      -0.2361581               0
#> [4,]               0               0      -0.2644988               0
#> [5,]               0               0      -0.2912840               0
#> [6,]               0               0      -0.3182410               0
#>      ENSG00000182866 ENSG00000182871 ENSG00000183087 ENSG00000183091
#> [1,]     0.000000000     -0.02475721               0               0
#> [2,]    -0.003820523     -0.09510610               0               0
#> [3,]     0.000000000     -0.14587693               0               0
#> [4,]     0.000000000     -0.15928531               0               0
#> [5,]     0.000000000     -0.15361747               0               0
#> [6,]     0.000000000     -0.11367508               0               0
#>      ENSG00000184371 ENSG00000185129 ENSG00000185201 ENSG00000185245
#> [1,]               0               0    0.0248982218               0
#> [2,]               0               0    0.0521968750               0
#> [3,]               0               0    0.0466019399               0
#> [4,]               0               0    0.0002304052               0
#> [5,]               0               0    0.0000000000               0
#> [6,]               0               0    0.0000000000               0
#>      ENSG00000185291 ENSG00000185304 ENSG00000185710 ENSG00000185883
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000185986 ENSG00000186130 ENSG00000186854 ENSG00000187010
#> [1,]       0.1774423               0      -0.1337000     -0.10070781
#> [2,]       0.1410034               0      -0.2450248     -0.09659559
#> [3,]       0.1185797               0      -0.3034804     -0.12592531
#> [4,]       0.1702266               0      -0.3301755     -0.15153940
#> [5,]       0.2169410               0      -0.3184551     -0.15267969
#> [6,]       0.2176895               0      -0.3118256     -0.16295569
#>      ENSG00000187627 ENSG00000187653 ENSG00000187837 ENSG00000188002
#> [1,]      0.00000000      0.00000000     -0.08955180       0.2357950
#> [2,]      0.00000000      0.00000000     -0.09204957       0.3214370
#> [3,]      0.04912515     -0.06070687     -0.01116363       0.3380044
#> [4,]      0.13250733     -0.13152816      0.00000000       0.3004699
#> [5,]      0.19190661     -0.20340416      0.00000000       0.2453337
#> [6,]      0.20288950     -0.21322655      0.00000000       0.2133297
#>      ENSG00000188107 ENSG00000188211 ENSG00000188636 ENSG00000188738
#> [1,]               0               0      -0.1108933               0
#> [2,]               0               0      -0.1730807               0
#> [3,]               0               0      -0.2247149               0
#> [4,]               0               0      -0.2244710               0
#> [5,]               0               0      -0.1891677               0
#> [6,]               0               0      -0.1568747               0
#>      ENSG00000188856 ENSG00000189164 ENSG00000189223 ENSG00000196155
#> [1,]      0.04315871      -0.1001848     0.000000000               0
#> [2,]      0.03365763      -0.1307103     0.000000000               0
#> [3,]      0.05744195      -0.0909798     0.000000000               0
#> [4,]      0.10519790       0.0000000     0.008782155               0
#> [5,]      0.13734588       0.0000000     0.017422509               0
#> [6,]      0.15756902       0.0000000     0.016846258               0
#>      ENSG00000196189 ENSG00000196415 ENSG00000196565 ENSG00000197081
#> [1,]               0      0.04648667      -0.1240697               0
#> [2,]               0      0.00000000      -0.1462242               0
#> [3,]               0      0.00000000      -0.1546634               0
#> [4,]               0      0.00000000      -0.1856140               0
#> [5,]               0      0.00000000      -0.2351716               0
#> [6,]               0      0.00000000      -0.2811342               0
#>      ENSG00000197121 ENSG00000197253 ENSG00000197256 ENSG00000197321
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000197561 ENSG00000197728 ENSG00000197860 ENSG00000197937
#> [1,]      0.05631832               0     -0.09290853     -0.04997481
#> [2,]      0.06112052               0     -0.08348509     -0.04277198
#> [3,]      0.08236643               0     -0.05483860     -0.08781836
#> [4,]      0.12191752               0     -0.08496158     -0.16184474
#> [5,]      0.15597758               0     -0.08940723     -0.21735744
#> [6,]      0.16820394               0     -0.07657327     -0.26451190
#>      ENSG00000197951 ENSG00000198743 ENSG00000198838 ENSG00000199347
#> [1,]     0.000000000               0               0               0
#> [2,]    -0.008356311               0               0               0
#> [3,]     0.000000000               0               0               0
#> [4,]     0.000000000               0               0               0
#> [5,]     0.000000000               0               0               0
#> [6,]     0.000000000               0               0               0
#>      ENSG00000200243 ENSG00000201801 ENSG00000203872 ENSG00000204172
#> [1,]               0      0.09045160               0               0
#> [2,]               0      0.06856212               0               0
#> [3,]               0      0.04672199               0               0
#> [4,]               0      0.00000000               0               0
#> [5,]               0      0.00000000               0               0
#> [6,]               0      0.00000000               0               0
#>      ENSG00000205571 ENSG00000205593 ENSG00000208772 ENSG00000213085
#> [1,]     0.000000000      0.02637353               0               0
#> [2,]     0.000000000      0.00000000               0               0
#> [3,]     0.000000000      0.00000000               0               0
#> [4,]    -0.007461037      0.00000000               0               0
#> [5,]    -0.082452669      0.00000000               0               0
#> [6,]    -0.120717373      0.00000000               0               0
#>      ENSG00000213261 ENSG00000213626 ENSG00000213722 ENSG00000213906
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000213967 ENSG00000214016 ENSG00000214425 ENSG00000216316
#> [1,]      0.01609083               0     -0.04174399               0
#> [2,]      0.02048582               0     -0.06390763               0
#> [3,]      0.02016262               0     -0.06588188               0
#> [4,]      0.00000000               0     -0.05588605               0
#> [5,]      0.00000000               0     -0.04690896               0
#> [6,]      0.00000000               0     -0.04574500               0
#>      ENSG00000220008 ENSG00000223345 ENSG00000224080 ENSG00000225138
#> [1,]    0.0000000000     -0.02516111               0       0.1674172
#> [2,]   -0.0003896697      0.00000000               0       0.1690671
#> [3,]   -0.0137298900      0.00000000               0       0.1868529
#> [4,]   -0.0001268535      0.00000000               0       0.1965742
#> [5,]    0.0000000000      0.00000000               0       0.2019141
#> [6,]    0.0000000000      0.00000000               0       0.2545102
#>      ENSG00000226471 ENSG00000227097 ENSG00000227191 ENSG00000227615
#> [1,]      0.04237286               0               0      -0.0749908
#> [2,]      0.05503506               0               0      -0.1085351
#> [3,]      0.08223542               0               0      -0.1396618
#> [4,]      0.08050055               0               0      -0.1887492
#> [5,]      0.05631543               0               0      -0.2250747
#> [6,]      0.03083943               0               0      -0.2404567
#>      ENSG00000228049 ENSG00000229153 ENSG00000230076 ENSG00000231160
#> [1,]     0.000000000               0               0               0
#> [2,]     0.000000000               0               0               0
#> [3,]    -0.004711478               0               0               0
#> [4,]    -0.026822533               0               0               0
#> [5,]    -0.004486763               0               0               0
#> [6,]     0.000000000               0               0               0
#>      ENSG00000231721 ENSG00000233927 ENSG00000233974 ENSG00000234883
#> [1,]      0.04347074      0.00000000     -0.07717278     0.000000000
#> [2,]      0.00000000      0.00000000     -0.08355721     0.004011233
#> [3,]      0.00000000      0.00000000     -0.08055049     0.004759417
#> [4,]      0.00000000      0.02643989     -0.10492489     0.020510374
#> [5,]      0.00000000      0.08445199     -0.08389672     0.035560270
#> [6,]      0.00000000      0.12883791     -0.06294640     0.063803847
#>      ENSG00000236876 ENSG00000237298 ENSG00000237892 ENSG00000238160
#> [1,]     -0.01732675     -0.04928281     -0.10728752               0
#> [2,]     -0.02187419     -0.09715484     -0.06994308               0
#> [3,]     -0.00514614     -0.12945308     -0.06632954               0
#> [4,]      0.00000000     -0.11768800     -0.06209781               0
#> [5,]      0.00000000     -0.09422850     -0.08091644               0
#> [6,]      0.00000000     -0.07625208     -0.10236132               0
#>      ENSG00000239437 ENSG00000241399 ENSG00000241489 ENSG00000241529
#> [1,]     0.000000000               0               0               0
#> [2,]    -0.003612405               0               0               0
#> [3,]    -0.018440599               0               0               0
#> [4,]    -0.032885656               0               0               0
#> [5,]    -0.023745839               0               0               0
#> [6,]    -0.023508042               0               0               0
#>      ENSG00000244405 ENSG00000247627 ENSG00000249592 ENSG00000250116
#> [1,]               0     -0.07264087      0.05390656               0
#> [2,]               0     -0.14640251      0.02817884               0
#> [3,]               0     -0.17941996      0.00000000               0
#> [4,]               0     -0.20177809      0.00000000               0
#> [5,]               0     -0.19121202      0.00000000               0
#> [6,]               0     -0.16758040      0.00000000               0
#>      ENSG00000250251 ENSG00000251079 ENSG00000253210 ENSG00000253276
#> [1,]      0.00000000     -0.03272136               0               0
#> [2,]      0.00000000     -0.02045151               0               0
#> [3,]     -0.04360909     -0.01437459               0               0
#> [4,]     -0.08105501     -0.00751281               0               0
#> [5,]     -0.09399407      0.00000000               0               0
#> [6,]     -0.09510403      0.00000000               0               0
#>      ENSG00000254415 ENSG00000259276 ENSG00000260727 ENSG00000261377
#> [1,]               0      0.02309991     0.000000000               0
#> [2,]               0      0.00000000    -0.004399446               0
#> [3,]               0      0.00000000    -0.011869977               0
#> [4,]               0      0.00000000    -0.025482709               0
#> [5,]               0      0.00000000    -0.019424525               0
#> [6,]               0      0.00000000    -0.036019915               0
#>      ENSG00000264885 ENSG00000264895 ENSG00000267136 ENSG00000267551
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000267702 ENSG00000268001 ENSG00000268573 ENSG00000270554
#> [1,]     -0.09669091               0               0      0.00000000
#> [2,]     -0.14024833               0               0      0.00000000
#> [3,]     -0.12921523               0               0     -0.02015636
#> [4,]     -0.04493248               0               0     -0.02403148
#> [5,]      0.00000000               0               0     -0.02834410
#> [6,]      0.00000000               0               0     -0.02061698
#>      ENSG00000270562 ENSG00000271646 ENSG00000273018 ENSG00000273033
#> [1,]       0.1132135      0.00000000               0     -0.09050353
#> [2,]       0.1833241      0.00000000               0     -0.13938576
#> [3,]       0.2274699      0.01169660               0     -0.17281393
#> [4,]       0.2876981      0.02294918               0     -0.18500925
#> [5,]       0.3400049      0.02599681               0     -0.17240467
#> [6,]       0.3794250      0.04198346               0     -0.15434480
#> 19 more rows
#> 
#> $b_path
#>      ENSG00000001561 ENSG00000005249 ENSG00000006757 ENSG00000007062
#> [1,]     -0.06603107               0               0      0.00000000
#> [2,]     -0.06775959               0               0      0.00000000
#> [3,]     -0.06452334               0               0      0.00000000
#> [4,]     -0.05978793               0               0      0.06267883
#> [5,]     -0.06041427               0               0      0.10713984
#> [6,]     -0.07285607               0               0      0.11299637
#>      ENSG00000007968 ENSG00000008283 ENSG00000008405 ENSG00000008441
#> [1,]               0       0.1249234               0               0
#> [2,]               0       0.1397541               0               0
#> [3,]               0       0.1217461               0               0
#> [4,]               0       0.1198566               0               0
#> [5,]               0       0.1010359               0               0
#> [6,]               0       0.1029501               0               0
#>      ENSG00000010295 ENSG00000011028 ENSG00000011198 ENSG00000012779
#> [1,]               0     -0.04767387     -0.03891623               0
#> [2,]               0      0.00000000      0.00000000               0
#> [3,]               0      0.00000000      0.00000000               0
#> [4,]               0      0.00000000      0.00000000               0
#> [5,]               0      0.00000000      0.00000000               0
#> [6,]               0      0.00000000      0.00000000               0
#>      ENSG00000012817 ENSG00000013306 ENSG00000013725 ENSG00000018189
#> [1,]      0.07542711               0      0.00000000               0
#> [2,]      0.15391797               0      0.00000000               0
#> [3,]      0.22125646               0      0.00000000               0
#> [4,]      0.27246784               0      0.00000000               0
#> [5,]      0.22737521               0     -0.08729237               0
#> [6,]      0.12483494               0     -0.11322127               0
#>      ENSG00000022267 ENSG00000023171 ENSG00000023909 ENSG00000029639
#> [1,]       0.0590383       0.1827216               0               0
#> [2,]       0.0000000       0.2676915               0               0
#> [3,]       0.0000000       0.3495345               0               0
#> [4,]       0.0000000       0.4290307               0               0
#> [5,]       0.0000000       0.4672071               0               0
#> [6,]       0.0000000       0.4733361               0               0
#>      ENSG00000047634 ENSG00000049192 ENSG00000053524 ENSG00000058056
#> [1,]               0     -0.06541176               0     -0.04690539
#> [2,]               0     -0.08420683               0     -0.07602101
#> [3,]               0     -0.07993629               0     -0.08449361
#> [4,]               0     -0.05278295               0     -0.10741053
#> [5,]               0     -0.03282993               0     -0.12764891
#> [6,]               0     -0.03341751               0     -0.13912205
#>      ENSG00000060138 ENSG00000061918 ENSG00000065809 ENSG00000065923
#> [1,]               0      0.06525818               0               0
#> [2,]               0      0.10410006               0               0
#> [3,]               0      0.10523676               0               0
#> [4,]               0      0.08543378               0               0
#> [5,]               0      0.07079769               0               0
#> [6,]               0      0.08274617               0               0
#>      ENSG00000068489 ENSG00000069020 ENSG00000070404 ENSG00000071894
#> [1,]      -0.0858607      0.02407205               0               0
#> [2,]       0.0000000      0.04223454               0               0
#> [3,]       0.0000000      0.08064749               0               0
#> [4,]       0.0000000      0.10665367               0               0
#> [5,]       0.0000000      0.14392072               0               0
#> [6,]       0.0000000      0.18076230               0               0
#>      ENSG00000072422 ENSG00000073605 ENSG00000076555 ENSG00000080823
#> [1,]     -0.09496157               0               0      0.05640635
#> [2,]     -0.10826336               0               0      0.05699853
#> [3,]     -0.12554918               0               0      0.04437652
#> [4,]     -0.13274606               0               0      0.04216887
#> [5,]     -0.12634205               0               0      0.05398149
#> [6,]     -0.14299353               0               0      0.08430910
#>      ENSG00000089723 ENSG00000090382 ENSG00000090975 ENSG00000100068
#> [1,]               0               0     0.000000000               0
#> [2,]               0               0    -0.004740487               0
#> [3,]               0               0    -0.025747094               0
#> [4,]               0               0    -0.024906003               0
#> [5,]               0               0    -0.040122138               0
#> [6,]               0               0    -0.065925072               0
#>      ENSG00000100077 ENSG00000100299 ENSG00000100376 ENSG00000100418
#> [1,]               0      0.09230929      0.07359567               0
#> [2,]               0      0.10568819      0.06455155               0
#> [3,]               0      0.12365797      0.05865054               0
#> [4,]               0      0.17054774      0.06603685               0
#> [5,]               0      0.21828948      0.09523269               0
#> [6,]               0      0.27116298      0.10797011               0
#>      ENSG00000100448 ENSG00000100596 ENSG00000100916 ENSG00000102409
#> [1,]               0     -0.01694744     -0.04521224     -0.08132543
#> [2,]               0     -0.05957046     -0.03068142     -0.12197364
#> [3,]               0     -0.07362436     -0.06001365     -0.16408897
#> [4,]               0     -0.09870187     -0.15352535     -0.16167771
#> [5,]               0     -0.14088479     -0.19689716     -0.13936892
#> [6,]               0     -0.15772309     -0.19263218     -0.11669631
#>      ENSG00000102760 ENSG00000104689 ENSG00000104946 ENSG00000105518
#> [1,]               0     -0.01323464               0               0
#> [2,]               0     -0.02687154               0               0
#> [3,]               0     -0.03899290               0               0
#> [4,]               0     -0.08155054               0               0
#> [5,]               0     -0.13133974               0               0
#> [6,]               0     -0.18016564               0               0
#>      ENSG00000105808 ENSG00000106367 ENSG00000106526 ENSG00000106546
#> [1,]               0               0      0.00000000               0
#> [2,]               0               0     -0.01011933               0
#> [3,]               0               0     -0.06431792               0
#> [4,]               0               0     -0.07771791               0
#> [5,]               0               0     -0.06730264               0
#> [6,]               0               0     -0.07405375               0
#>      ENSG00000106780 ENSG00000107104 ENSG00000107742 ENSG00000107798
#> [1,]     0.000000000               0     -0.15862052               0
#> [2,]    -0.007029271               0     -0.09413663               0
#> [3,]    -0.055343726               0     -0.06379332               0
#> [4,]    -0.075394982               0     -0.03892543               0
#> [5,]    -0.119127838               0      0.00000000               0
#> [6,]    -0.122415716               0      0.00000000               0
#>      ENSG00000107816 ENSG00000107957 ENSG00000109674 ENSG00000110076
#> [1,]     0.000000000     0.000000000               0      0.06996428
#> [2,]     0.008143279    -0.002835474               0      0.11133803
#> [3,]     0.021131398    -0.023325056               0      0.13695026
#> [4,]     0.016897390    -0.034880026               0      0.19989342
#> [5,]     0.000000000    -0.025556869               0      0.22013053
#> [6,]     0.000000000    -0.018897822               0      0.22520813
#>      ENSG00000110237 ENSG00000110492 ENSG00000110799 ENSG00000111275
#> [1,]       0.1270450               0               0      0.04049367
#> [2,]       0.2496390               0               0      0.06505964
#> [3,]       0.3753406               0               0      0.10517663
#> [4,]       0.4598915               0               0      0.11359898
#> [5,]       0.4891674               0               0      0.09094810
#> [6,]       0.4771990               0               0      0.07502841
#>      ENSG00000112773 ENSG00000113504 ENSG00000114268 ENSG00000114737
#> [1,]               0       0.1514499               0       0.1327339
#> [2,]               0       0.1804617               0       0.1508237
#> [3,]               0       0.2470215               0       0.1622627
#> [4,]               0       0.3047194               0       0.1380594
#> [5,]               0       0.3427185               0       0.1386961
#> [6,]               0       0.3535659               0       0.1377553
#>      ENSG00000115183 ENSG00000115414 ENSG00000115457 ENSG00000115525
#> [1,]       0.1445798               0               0      0.08679406
#> [2,]       0.1868333               0               0      0.12362566
#> [3,]       0.1577545               0               0      0.16754923
#> [4,]       0.1373156               0               0      0.13631979
#> [5,]       0.1388219               0               0      0.08197605
#> [6,]       0.1682149               0               0      0.06077103
#>      ENSG00000116574 ENSG00000117480 ENSG00000119280 ENSG00000120594
#> [1,]      0.14329107               0      -0.1027015      -0.3200108
#> [2,]      0.09384970               0      -0.1292583      -0.4121187
#> [3,]      0.09433398               0      -0.1664779      -0.4864337
#> [4,]      0.08612823               0      -0.2086915      -0.4951496
#> [5,]      0.09941045               0      -0.2722131      -0.4208496
#> [6,]      0.13372747               0      -0.3326655      -0.3442044
#>      ENSG00000120675 ENSG00000120832 ENSG00000120913 ENSG00000121005
#> [1,]     -0.05403930               0               0               0
#> [2,]     -0.01307236               0               0               0
#> [3,]      0.00000000               0               0               0
#> [4,]      0.00000000               0               0               0
#> [5,]      0.00000000               0               0               0
#> [6,]      0.00000000               0               0               0
#>      ENSG00000121039 ENSG00000121274 ENSG00000123080 ENSG00000123836
#> [1,]               0    -0.056325908     -0.03353708               0
#> [2,]               0     0.000000000     -0.07365988               0
#> [3,]               0     0.000000000     -0.10082580               0
#> [4,]               0     0.000000000     -0.08614585               0
#> [5,]               0    -0.008590759     -0.06183003               0
#> [6,]               0    -0.053088068     -0.05059968               0
#>      ENSG00000124019 ENSG00000124882 ENSG00000126822 ENSG00000127152
#> [1,]               0    0.0000000000               0               0
#> [2,]               0    0.0000000000               0               0
#> [3,]               0    0.0000000000               0               0
#> [4,]               0    0.0002841815               0               0
#> [5,]               0    0.0401849585               0               0
#> [6,]               0    0.0573718728               0               0
#>      ENSG00000129824 ENSG00000130702 ENSG00000131188 ENSG00000131370
#> [1,]      0.00000000     -0.08338276               0               0
#> [2,]      0.00000000     -0.05523769               0               0
#> [3,]      0.00000000     -0.04182130               0               0
#> [4,]      0.00000000     -0.02870189               0               0
#> [5,]      0.07973885     -0.02704843               0               0
#> [6,]      0.19256654     -0.02307462               0               0
#>      ENSG00000132122 ENSG00000132530 ENSG00000132819 ENSG00000132849
#> [1,]     -0.10955629               0     -0.05568039               0
#> [2,]     -0.08598137               0     -0.13144233               0
#> [3,]     -0.01892897               0     -0.21467375               0
#> [4,]      0.00000000               0     -0.19749409               0
#> [5,]      0.00000000               0     -0.13640713               0
#> [6,]      0.00000000               0     -0.09014622               0
#>      ENSG00000133401 ENSG00000133619 ENSG00000134531 ENSG00000134897
#> [1,]      0.02788402      0.00000000               0               0
#> [2,]      0.02762425     -0.03667196               0               0
#> [3,]      0.05081846     -0.05438329               0               0
#> [4,]      0.07430531     -0.02375275               0               0
#> [5,]      0.11042675      0.00000000               0               0
#> [6,]      0.13433085      0.00000000               0               0
#>      ENSG00000135074 ENSG00000135245 ENSG00000135272 ENSG00000135362
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000135363 ENSG00000135916 ENSG00000136026 ENSG00000136193
#> [1,]               0     0.094656619               0               0
#> [2,]               0     0.069508051               0               0
#> [3,]               0     0.056176452               0               0
#> [4,]               0     0.006220562               0               0
#> [5,]               0     0.000000000               0               0
#> [6,]               0     0.000000000               0               0
#>      ENSG00000136231 ENSG00000136997 ENSG00000137193 ENSG00000137198
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000138722 ENSG00000139318 ENSG00000140287 ENSG00000144036
#> [1,]      0.07996831      0.07639542               0               0
#> [2,]      0.06161863      0.09256108               0               0
#> [3,]      0.08047911      0.07897421               0               0
#> [4,]      0.11373638      0.09003399               0               0
#> [5,]      0.14404550      0.12223316               0               0
#> [6,]      0.16041695      0.16140529               0               0
#>      ENSG00000144647 ENSG00000144677 ENSG00000145476 ENSG00000145545
#> [1,]      -0.1116176               0    -0.031450151    0.0000000000
#> [2,]      -0.0802649               0    -0.007282645    0.0000000000
#> [3,]       0.0000000               0     0.000000000    0.0000000000
#> [4,]       0.0000000               0     0.000000000    0.0009664199
#> [5,]       0.0000000               0     0.000000000    0.0000000000
#> [6,]       0.0000000               0    -0.013734710    0.0000000000
#>      ENSG00000146243 ENSG00000146373 ENSG00000147044 ENSG00000147180
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000148444 ENSG00000148484 ENSG00000149131 ENSG00000150760
#> [1,]               0               0               0     0.022480010
#> [2,]               0               0               0     0.030717471
#> [3,]               0               0               0     0.029660324
#> [4,]               0               0               0     0.002557812
#> [5,]               0               0               0     0.000000000
#> [6,]               0               0               0     0.000000000
#>      ENSG00000150782 ENSG00000151135 ENSG00000151208 ENSG00000151458
#> [1,]       0.1636458               0      -0.1560885               0
#> [2,]       0.1823843               0      -0.2175522               0
#> [3,]       0.1803480               0      -0.2779789               0
#> [4,]       0.1469714               0      -0.2858690               0
#> [5,]       0.1328988               0      -0.2775286               0
#> [6,]       0.1290020               0      -0.2527003               0
#>      ENSG00000152409 ENSG00000152580 ENSG00000152767 ENSG00000152778
#> [1,]    0.0000000000     0.000000000     0.000000000               0
#> [2,]   -0.0007954217     0.000000000     0.000000000               0
#> [3,]   -0.0035805830     0.000000000     0.008170802               0
#> [4,]    0.0000000000     0.000000000     0.008827903               0
#> [5,]    0.0000000000     0.000000000     0.000000000               0
#> [6,]    0.0000000000     0.007312789     0.012053940               0
#>      ENSG00000153563 ENSG00000154217 ENSG00000154743 ENSG00000154760
#> [1,]               0               0     0.000000000     0.040065564
#> [2,]               0               0    -0.009189976     0.045032530
#> [3,]               0               0     0.000000000     0.038215190
#> [4,]               0               0     0.000000000     0.006500787
#> [5,]               0               0     0.000000000     0.000000000
#> [6,]               0               0     0.000000000     0.000000000
#>      ENSG00000154874 ENSG00000156381 ENSG00000157107 ENSG00000157240
#> [1,]               0     -0.06110183     -0.07134683      0.00000000
#> [2,]               0     -0.09782904     -0.04468877     -0.06809685
#> [3,]               0     -0.11118804     -0.08006280     -0.11948625
#> [4,]               0     -0.14041640     -0.13898187     -0.08496466
#> [5,]               0     -0.18705292     -0.20362641     -0.03164724
#> [6,]               0     -0.18216366     -0.26278798     -0.02001647
#>      ENSG00000157873 ENSG00000157978 ENSG00000158691 ENSG00000159339
#> [1,]               0               0               0      0.00000000
#> [2,]               0               0               0      0.00000000
#> [3,]               0               0               0      0.04576565
#> [4,]               0               0               0      0.06405197
#> [5,]               0               0               0      0.05367157
#> [6,]               0               0               0      0.00000000
#>      ENSG00000159403 ENSG00000159788 ENSG00000160685 ENSG00000160781
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000161509 ENSG00000162433 ENSG00000162614 ENSG00000162676
#> [1,]               0       0.1301988               0               0
#> [2,]               0       0.1446206               0               0
#> [3,]               0       0.1821162               0               0
#> [4,]               0       0.2073570               0               0
#> [5,]               0       0.2175086               0               0
#> [6,]               0       0.2167813               0               0
#>      ENSG00000163412 ENSG00000163702 ENSG00000163814 ENSG00000164086
#> [1,]      0.09949153               0               0               0
#> [2,]      0.16029138               0               0               0
#> [3,]      0.20201729               0               0               0
#> [4,]      0.24318463               0               0               0
#> [5,]      0.26207726               0               0               0
#> [6,]      0.26679135               0               0               0
#>      ENSG00000164172 ENSG00000164442 ENSG00000165272 ENSG00000166165
#> [1,]    -0.032031122    0.0009085064   -0.0005523324               0
#> [2,]    -0.006706563    0.0000000000    0.0000000000               0
#> [3,]     0.000000000    0.0000000000    0.0000000000               0
#> [4,]     0.000000000    0.0000000000    0.0000000000               0
#> [5,]     0.000000000    0.0000000000    0.0000000000               0
#> [6,]     0.000000000    0.0000000000    0.0000000000               0
#>      ENSG00000166435 ENSG00000166987 ENSG00000167291 ENSG00000167565
#> [1,]       0.0000000               0       0.2118404               0
#> [2,]       0.0000000               0       0.2233346               0
#> [3,]       0.0000000               0       0.2102301               0
#> [4,]       0.0000000               0       0.2079363               0
#> [5,]       0.0000000               0       0.2062386               0
#> [6,]      -0.0288329               0       0.2261716               0
#>      ENSG00000167851 ENSG00000168026 ENSG00000168209 ENSG00000168502
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000168939 ENSG00000169203 ENSG00000169247 ENSG00000169504
#> [1,]    -0.073894815      0.00000000               0      0.06586674
#> [2,]    -0.080077303      0.00000000               0      0.03233590
#> [3,]    -0.032043001     -0.01504996               0      0.00000000
#> [4,]    -0.009082251     -0.13955403               0      0.00000000
#> [5,]    -0.002443780     -0.24296660               0      0.00000000
#> [6,]    -0.027655353     -0.25483840               0      0.00000000
#>      ENSG00000169860 ENSG00000169991 ENSG00000170035 ENSG00000170180
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000170456 ENSG00000170522 ENSG00000170909 ENSG00000171121
#> [1,]    -0.101971669               0     -0.07828563               0
#> [2,]    -0.079109608               0     -0.03342520               0
#> [3,]    -0.023745683               0     -0.03586119               0
#> [4,]    -0.005987321               0     -0.07400895               0
#> [5,]     0.000000000               0     -0.11837695               0
#> [6,]    -0.005944692               0     -0.11903187               0
#>      ENSG00000171222 ENSG00000171476 ENSG00000171813 ENSG00000171962
#> [1,]     -0.08535846      0.02983766      -0.1486002      0.00000000
#> [2,]     -0.07110995      0.00000000      -0.1548731      0.00000000
#> [3,]      0.00000000      0.00000000      -0.2158791     -0.01714280
#> [4,]      0.00000000      0.00000000      -0.2987384     -0.03447376
#> [5,]     -0.02211274      0.00000000      -0.3546856     -0.04673930
#> [6,]     -0.06304167      0.03128718      -0.3760876     -0.02665156
#>      ENSG00000172197 ENSG00000172236 ENSG00000173083 ENSG00000173530
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000173926 ENSG00000174059 ENSG00000174080 ENSG00000174130
#> [1,]     0.001964385      0.07888896     -0.01162486      -0.1232139
#> [2,]     0.000000000      0.04068822     -0.02015486      -0.1599641
#> [3,]     0.000000000      0.00000000     -0.06831540      -0.1949146
#> [4,]     0.000000000      0.00000000     -0.18411095      -0.2659070
#> [5,]     0.000000000      0.02468742     -0.31552805      -0.3432604
#> [6,]     0.000000000      0.06629882     -0.38323783      -0.3773480
#>      ENSG00000174738 ENSG00000175265 ENSG00000175352 ENSG00000176597
#> [1,]   -7.360614e-05      0.00000000               0               0
#> [2,]    0.000000e+00      0.07560094               0               0
#> [3,]    0.000000e+00      0.11854462               0               0
#> [4,]    0.000000e+00      0.12400442               0               0
#> [5,]    0.000000e+00      0.10900383               0               0
#> [6,]    0.000000e+00      0.09637567               0               0
#>      ENSG00000179222 ENSG00000179630 ENSG00000179639 ENSG00000179820
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000180096 ENSG00000180596 ENSG00000180902 ENSG00000181104
#> [1,]               0               0      -0.1057270               0
#> [2,]               0               0      -0.1831726               0
#> [3,]               0               0      -0.2361581               0
#> [4,]               0               0      -0.2644988               0
#> [5,]               0               0      -0.2912840               0
#> [6,]               0               0      -0.3182410               0
#>      ENSG00000182866 ENSG00000182871 ENSG00000183087 ENSG00000183091
#> [1,]     0.000000000     -0.02475721               0               0
#> [2,]    -0.003820523     -0.09510610               0               0
#> [3,]     0.000000000     -0.14587693               0               0
#> [4,]     0.000000000     -0.15928531               0               0
#> [5,]     0.000000000     -0.15361747               0               0
#> [6,]     0.000000000     -0.11367508               0               0
#>      ENSG00000184371 ENSG00000185129 ENSG00000185201 ENSG00000185245
#> [1,]               0               0    0.0248982218               0
#> [2,]               0               0    0.0521968750               0
#> [3,]               0               0    0.0466019399               0
#> [4,]               0               0    0.0002304052               0
#> [5,]               0               0    0.0000000000               0
#> [6,]               0               0    0.0000000000               0
#>      ENSG00000185291 ENSG00000185304 ENSG00000185710 ENSG00000185883
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000185986 ENSG00000186130 ENSG00000186854 ENSG00000187010
#> [1,]       0.1774423               0      -0.1337000     -0.10070781
#> [2,]       0.1410034               0      -0.2450248     -0.09659559
#> [3,]       0.1185797               0      -0.3034804     -0.12592531
#> [4,]       0.1702266               0      -0.3301755     -0.15153940
#> [5,]       0.2169410               0      -0.3184551     -0.15267969
#> [6,]       0.2176895               0      -0.3118256     -0.16295569
#>      ENSG00000187627 ENSG00000187653 ENSG00000187837 ENSG00000188002
#> [1,]      0.00000000      0.00000000     -0.08955180       0.2357950
#> [2,]      0.00000000      0.00000000     -0.09204957       0.3214370
#> [3,]      0.04912515     -0.06070687     -0.01116363       0.3380044
#> [4,]      0.13250733     -0.13152816      0.00000000       0.3004699
#> [5,]      0.19190661     -0.20340416      0.00000000       0.2453337
#> [6,]      0.20288950     -0.21322655      0.00000000       0.2133297
#>      ENSG00000188107 ENSG00000188211 ENSG00000188636 ENSG00000188738
#> [1,]               0               0      -0.1108933               0
#> [2,]               0               0      -0.1730807               0
#> [3,]               0               0      -0.2247149               0
#> [4,]               0               0      -0.2244710               0
#> [5,]               0               0      -0.1891677               0
#> [6,]               0               0      -0.1568747               0
#>      ENSG00000188856 ENSG00000189164 ENSG00000189223 ENSG00000196155
#> [1,]      0.04315871      -0.1001848     0.000000000               0
#> [2,]      0.03365763      -0.1307103     0.000000000               0
#> [3,]      0.05744195      -0.0909798     0.000000000               0
#> [4,]      0.10519790       0.0000000     0.008782155               0
#> [5,]      0.13734588       0.0000000     0.017422509               0
#> [6,]      0.15756902       0.0000000     0.016846258               0
#>      ENSG00000196189 ENSG00000196415 ENSG00000196565 ENSG00000197081
#> [1,]               0      0.04648667      -0.1240697               0
#> [2,]               0      0.00000000      -0.1462242               0
#> [3,]               0      0.00000000      -0.1546634               0
#> [4,]               0      0.00000000      -0.1856140               0
#> [5,]               0      0.00000000      -0.2351716               0
#> [6,]               0      0.00000000      -0.2811342               0
#>      ENSG00000197121 ENSG00000197253 ENSG00000197256 ENSG00000197321
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000197561 ENSG00000197728 ENSG00000197860 ENSG00000197937
#> [1,]      0.05631832               0     -0.09290853     -0.04997481
#> [2,]      0.06112052               0     -0.08348509     -0.04277198
#> [3,]      0.08236643               0     -0.05483860     -0.08781836
#> [4,]      0.12191752               0     -0.08496158     -0.16184474
#> [5,]      0.15597758               0     -0.08940723     -0.21735744
#> [6,]      0.16820394               0     -0.07657327     -0.26451190
#>      ENSG00000197951 ENSG00000198743 ENSG00000198838 ENSG00000199347
#> [1,]     0.000000000               0               0               0
#> [2,]    -0.008356311               0               0               0
#> [3,]     0.000000000               0               0               0
#> [4,]     0.000000000               0               0               0
#> [5,]     0.000000000               0               0               0
#> [6,]     0.000000000               0               0               0
#>      ENSG00000200243 ENSG00000201801 ENSG00000203872 ENSG00000204172
#> [1,]               0      0.09045160               0               0
#> [2,]               0      0.06856212               0               0
#> [3,]               0      0.04672199               0               0
#> [4,]               0      0.00000000               0               0
#> [5,]               0      0.00000000               0               0
#> [6,]               0      0.00000000               0               0
#>      ENSG00000205571 ENSG00000205593 ENSG00000208772 ENSG00000213085
#> [1,]     0.000000000      0.02637353               0               0
#> [2,]     0.000000000      0.00000000               0               0
#> [3,]     0.000000000      0.00000000               0               0
#> [4,]    -0.007461037      0.00000000               0               0
#> [5,]    -0.082452669      0.00000000               0               0
#> [6,]    -0.120717373      0.00000000               0               0
#>      ENSG00000213261 ENSG00000213626 ENSG00000213722 ENSG00000213906
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000213967 ENSG00000214016 ENSG00000214425 ENSG00000216316
#> [1,]      0.01609083               0     -0.04174399               0
#> [2,]      0.02048582               0     -0.06390763               0
#> [3,]      0.02016262               0     -0.06588188               0
#> [4,]      0.00000000               0     -0.05588605               0
#> [5,]      0.00000000               0     -0.04690896               0
#> [6,]      0.00000000               0     -0.04574500               0
#>      ENSG00000220008 ENSG00000223345 ENSG00000224080 ENSG00000225138
#> [1,]    0.0000000000     -0.02516111               0       0.1674172
#> [2,]   -0.0003896697      0.00000000               0       0.1690671
#> [3,]   -0.0137298900      0.00000000               0       0.1868529
#> [4,]   -0.0001268535      0.00000000               0       0.1965742
#> [5,]    0.0000000000      0.00000000               0       0.2019141
#> [6,]    0.0000000000      0.00000000               0       0.2545102
#>      ENSG00000226471 ENSG00000227097 ENSG00000227191 ENSG00000227615
#> [1,]      0.04237286               0               0      -0.0749908
#> [2,]      0.05503506               0               0      -0.1085351
#> [3,]      0.08223542               0               0      -0.1396618
#> [4,]      0.08050055               0               0      -0.1887492
#> [5,]      0.05631543               0               0      -0.2250747
#> [6,]      0.03083943               0               0      -0.2404567
#>      ENSG00000228049 ENSG00000229153 ENSG00000230076 ENSG00000231160
#> [1,]     0.000000000               0               0               0
#> [2,]     0.000000000               0               0               0
#> [3,]    -0.004711478               0               0               0
#> [4,]    -0.026822533               0               0               0
#> [5,]    -0.004486763               0               0               0
#> [6,]     0.000000000               0               0               0
#>      ENSG00000231721 ENSG00000233927 ENSG00000233974 ENSG00000234883
#> [1,]      0.04347074      0.00000000     -0.07717278     0.000000000
#> [2,]      0.00000000      0.00000000     -0.08355721     0.004011233
#> [3,]      0.00000000      0.00000000     -0.08055049     0.004759417
#> [4,]      0.00000000      0.02643989     -0.10492489     0.020510374
#> [5,]      0.00000000      0.08445199     -0.08389672     0.035560270
#> [6,]      0.00000000      0.12883791     -0.06294640     0.063803847
#>      ENSG00000236876 ENSG00000237298 ENSG00000237892 ENSG00000238160
#> [1,]     -0.01732675     -0.04928281     -0.10728752               0
#> [2,]     -0.02187419     -0.09715484     -0.06994308               0
#> [3,]     -0.00514614     -0.12945308     -0.06632954               0
#> [4,]      0.00000000     -0.11768800     -0.06209781               0
#> [5,]      0.00000000     -0.09422850     -0.08091644               0
#> [6,]      0.00000000     -0.07625208     -0.10236132               0
#>      ENSG00000239437 ENSG00000241399 ENSG00000241489 ENSG00000241529
#> [1,]     0.000000000               0               0               0
#> [2,]    -0.003612405               0               0               0
#> [3,]    -0.018440599               0               0               0
#> [4,]    -0.032885656               0               0               0
#> [5,]    -0.023745839               0               0               0
#> [6,]    -0.023508042               0               0               0
#>      ENSG00000244405 ENSG00000247627 ENSG00000249592 ENSG00000250116
#> [1,]               0     -0.07264087      0.05390656               0
#> [2,]               0     -0.14640251      0.02817884               0
#> [3,]               0     -0.17941996      0.00000000               0
#> [4,]               0     -0.20177809      0.00000000               0
#> [5,]               0     -0.19121202      0.00000000               0
#> [6,]               0     -0.16758040      0.00000000               0
#>      ENSG00000250251 ENSG00000251079 ENSG00000253210 ENSG00000253276
#> [1,]      0.00000000     -0.03272136               0               0
#> [2,]      0.00000000     -0.02045151               0               0
#> [3,]     -0.04360909     -0.01437459               0               0
#> [4,]     -0.08105501     -0.00751281               0               0
#> [5,]     -0.09399407      0.00000000               0               0
#> [6,]     -0.09510403      0.00000000               0               0
#>      ENSG00000254415 ENSG00000259276 ENSG00000260727 ENSG00000261377
#> [1,]               0      0.02309991     0.000000000               0
#> [2,]               0      0.00000000    -0.004399446               0
#> [3,]               0      0.00000000    -0.011869977               0
#> [4,]               0      0.00000000    -0.025482709               0
#> [5,]               0      0.00000000    -0.019424525               0
#> [6,]               0      0.00000000    -0.036019915               0
#>      ENSG00000264885 ENSG00000264895 ENSG00000267136 ENSG00000267551
#> [1,]               0               0               0               0
#> [2,]               0               0               0               0
#> [3,]               0               0               0               0
#> [4,]               0               0               0               0
#> [5,]               0               0               0               0
#> [6,]               0               0               0               0
#>      ENSG00000267702 ENSG00000268001 ENSG00000268573 ENSG00000270554
#> [1,]     -0.09669091               0               0      0.00000000
#> [2,]     -0.14024833               0               0      0.00000000
#> [3,]     -0.12921523               0               0     -0.02015636
#> [4,]     -0.04493248               0               0     -0.02403148
#> [5,]      0.00000000               0               0     -0.02834410
#> [6,]      0.00000000               0               0     -0.02061698
#>      ENSG00000270562 ENSG00000271646 ENSG00000273018 ENSG00000273033
#> [1,]       0.1132135      0.00000000               0     -0.09050353
#> [2,]       0.1833241      0.00000000               0     -0.13938576
#> [3,]       0.2274699      0.01169660               0     -0.17281393
#> [4,]       0.2876981      0.02294918               0     -0.18500925
#> [5,]       0.3400049      0.02599681               0     -0.17240467
#> [6,]       0.3794250      0.04198346               0     -0.15434480
#> 19 more rows

The summary function prints the following output for a model fit using either cureem or curegmifs:

  • the number of non-zero coefficients in the incidence portion of the fitted mixture cure model when using the minimum AIC
  • the number of non-zero coefficients in the latency portions of the fitted mixture cure model when using the minimum AIC
  • the step and value that maximizes the log-likelihood;
  • the step and value that minimizes the AIC;
  • the step and value that minimizes the modified AIC (mAIC);
  • the step and value that minimizes the corrected AIC (cAIC);
  • the step and value that minimizes the BIC;
  • the step and value that minimizes the modified BIC (mBIC);
  • the step and value that minimizes the extended BIC (EBIC).
summary(fitem)
#> Mixture cure model fit using the EM algorithm
#> Number of non-zero incidence covariates at minimum AIC: 112
#> Number of non-zero latency covariates at minimum AIC: 88
#> Optimal step for selected information criterion: EM algorithm
#>   at step    = 25 logLik     = -1113.55183538453
#>   at step    = 12 AIC        = 2634.47640955092
#>   at step    = 12 mAIC        = 5510.63178303021
#>   at step    = 12 cAIC        = 3415.28410185861
#>   at step    = 12 BIC        = 3382.91701504335
#>   at step    = 12 mBIC        = 5423.13688876735
#>   at step    = 12 EBIC        = 3777.8145382339

The summary function prints the following output for a model fit using either cv_cureem or cv_curegmifs when fdr_control = FALSE:

  • the number of non-zero coefficients in the incidence portion of the fitted mixture cure model
  • the number of non-zero coefficients in the latency portions of the fitted mixture cure model
summary(fit_cv)
#> Mixture cure model fit using the EM algorithm
#> using cross-validation
#> Number of non-zero incidence covariates: 2
#> Number of non-zero latency covariates: 17

The summary function prints the following output for a model fit using either cv_cureem or cv_curegmifs when fdr_control = TRUE:

  • Number of non-zero incidence covariates
  • Number of non-zero latency covariates

For a cureem or curegmifs fitted mixturecure object, the plot function provides a trace of the coefficients’ paths by default though the type parameter can be used to specify any of the information criterion (“logLik”, “AIC”, “cAIC”, “mAIC”, “BIC”, “mBIC”, “EBIC”). For a cv_cureem or cv_curegmifs fitted mixturecure object, a lollipop plot of the estimated incidence and latency coefficients is produced.

plot(fitem)

plot(fitem, type = "cAIC")

plot(fit_cv)

Coefficient estimates can be extracted from the fitted model using the coef for any of these model criteria (“logLik”, “AIC”, “cAIC”, “mAIC”, “BIC”, “mBIC”, “EBIC”) or by specifying the step at which the model is desired by specifying the model.select parameter. For example,

coef_cAIC <- coef(fitem, model_select = "cAIC")

is equivalent to

coef_12 <- coef(fitem, model_select = 12)

as demonstrated by comparing the results in each object:

names(coef_cAIC)
#> [1] "b0"       "beta_inc" "beta_lat"
all.equal(coef_cAIC$rate, coef_12$rate)
#> [1] TRUE
all.equal(coef_cAIC$alpha, coef_12$alpha)
#> [1] TRUE
all.equal(coef_cAIC$b0, coef_12$b0)
#> [1] TRUE
all.equal(coef_cAIC$beta_inc, coef_12$beta_inc)
#> [1] TRUE
all.equal(coef_cAIC$beta_lat, coef_12$beta_lat)
#> [1] TRUE

Again, there are two sets of coefficients: those in the incidence portion of the model (beta_inc) and those in the latency portion of the model (beta_lat). Additionally, b0 is the intercept in the incidence portion of the model. Depending on the model fit, coef will return rate (exponential and Weibull) and alpha (Weibull).

Predictions can be extracted at a given step or information criterion (“logLik”, “AIC”, “cAIC”, “mAIC”, “BIC”, “mBIC”, “EBIC”) using the predict function with model_select specified.

train_predict <- predict(fitem, model_select = "cAIC")

This returns three objects: p_uncured is the estimated probability of being susceptible ((x)), linear_latency is $\hat{\boldsymbol{\beta}}\mathbf{w}$, while latency_risk applies high risk and low risk labels using zero as the cutpoint from the linear_latency vector. Perhaps we want to apply the 0.5 threshold to p_uncured to create Cured and Susceptible labels.

p_group <- ifelse(train_predict$p_uncured < 0.50, "Cured", "Susceptible")

Then we can assess how well our MCM identified patients likely to be cured from those likely to be susceptible visually by examining the Kaplan-Meier curves.

km_cured <- survfit(Surv(cryr, relapse.death) ~ p_group, data = amltrain)

We can assess how well our MCM identified higher versus lower risk patients among those predicted to be susceptible visually by examining the Kaplan-Meier curves.

km_suscept <- survfit(Surv(cryr, relapse.death) ~ train_predict$latency_risk, data = amltrain, subset = (p_group == "Susceptible"))

Of course, we expect our model to perform well on our training data. We can also assess how well our fitted MCM performs using the independent test set amltest. In this case we use the predict function with newdata specified.

test_predict <- predict(fitem, newdata = amltest, model_select = "cAIC")

Again we will apply the 0.5 threshold to p_uncured to create Cured and Susceptible labels.

test_p_group <- ifelse(test_predict$p_uncured < 0.50, "Cured", "Susceptible")

Then we can assess how well our MCM identified patients likely to be cured from those likely to be susceptible visually by examining the Kaplan-Meier curves.

km_cured_test <- survfit(Surv(cryr, relapse.death) ~ test_p_group, data = amltest)

km_suscept_test <- survfit(Surv(cryr, relapse.death) ~ test_predict$latency_risk, data = amltest, subset = (test_p_group == "Susceptible"))

The hdcuremodels package also includes two functions for assessing the performance of MCMs. The ability of the MCM to discriminate between those cured (Yi = 0) versus those susceptible (Yi = 1) can be assessed by calculating the mean score imputation area under the curve using the auc_mcm function (Asano et al, 2014). In a MCM, when δi = 1 we know that the subject experienced the event. However, when δi = 0 either the subject was cured or the subject would have experienced the event if followed longer than their censoring time. Therefore, for a cure_cutoff τ (default is 5) the outcome Yi is defined as Yi={0 if Ti>τ1 if Tiτ and δi=1missing if Tiτ and δi=0. The mean score imputation AUC lets Yi = 1 − (xi) for those subjects with a missing outcome. The C-statistic for MCMs was adapted to weight patients by their outcome (cured, susceptible, censored) and is available in the concordance_mcm function (Asano & Hirakawa, 2017). In both functions, if newdata is not specified, the training data are used.

auc_mcm(fitem, model_select = "cAIC")
#> [1] 0.9690409
auc_mcm(fitem, newdata = amltest, model_select = "cAIC")
#> [1] 0.8049214
concordance_mcm(fitem, model_select = "cAIC")
#> [1] 0.8546535
concordance_mcm(fitem, newdata = amltest, model_select = "cAIC")
#> [1] 0.6987875

Comparison to other mixture cure modeling packages

Other R packages that can be used for fitting MCMs include:

  • cuRe (Jakobsen, 2023) can be used to fit parametric MCMs on a relative survival scale;
  • CureDepCens (Schneider and Grandemagne dos Santos, 2023) can be used to fit piecewise exponential or Weibull model with dependent censoring;
  • curephEM (Hou and Ren, 2024) can be used to fit a MCM where the latency is modeled using a Cox PH model;
  • flexsurvcure (Amdahl, 2022) can be used to fit parametric mixture and non-mixture cure models;
  • geecure (Niu and Peng, 2018) can be used to fit marginal MCM for clustered survival data;
  • GORCure (Zhou et al, 2017) can be used to fit generalized odds rate MCM with interval censored data;
  • mixcure (Peng, 2020) can be used to fit non-parametric, parametric, and semiparametric MCMs;
  • npcure (López-de-Ullibarri and López-Cheda, 2020) can be used to non-parametrically estimate incidence and latency;
  • npcurePK (Safari et al, 2023) can be used to non-parametrically estimate incidence and latency when cure is partially observed;
  • penPHcure(Beretta and Heuchenne, 2019) can be used to fit semi-parametric PH MCMs with time-varying covariates; and
  • smcure (Cai et al 2022) can be used to fit semi-parametric (PH and AFT) MCMs.

None of these packages are capable of handling high-dimensional datasets. Only penPHcure includes LASSO penalty to perform variable selection for scenarios when the sample size exceeds the number of predictors.

Conclusions

Our hdcuremodels R package can be used to model a censored time-to-event outcome when a cured fraction is present, and because penalized models are fit, our hdcuremodels package can accommodate datasets where the number of predictors exceeds the sample size. The user can fit a model using one of two different optimization methods (E-M or GMIFS) and can choose to perform cross-valiation with or without FDR control. The modeling functions are flexible in that there is no requirement for the predictors to be the same in the incidence and latency components of the model. The package also includes functions for testing mixture cure modeling assumptions. Generic functions for resulting mixturecure objects include print, summary, coef, plot, and predict can be used to extract meaningful results from the fitted model. Additionally, auc_mcm and concordance_mcm were specifically tailored to provide model performance statistics of the fitted MCM. Finally, our previous paper demonstrated that our GMIFS and E-M algorithms outperformed existing methods with respect to both variable selection and prediction (Fu et al, 2022).

References

  1. Amdahl, J. (2022) flexsurvcure: Flexible Parametric Cure Models. R package version 1.3.1, https://CRAN.R-project.org/package=flexsurvcure.
  2. Archer, K.J.; Fu, H.; Mrozek, K.; Nicolet, D.; Mims, A.S.; Uy, G.L.; Stock, W.; Byrd, J.C.; Hiddenmann, W.; Braess, J.; Spiekermann, K.; Metzeler, K.H.; Herold, T.; Eisfeld, A.K. Identifying long-term survivors and those at higher or lower risk of relapse among patients with cytogenetically normal acute myeloid leukemia using a high-dimensional mixture cure model. Journal of Hematology and Oncology 2024, 17(1), 28.
  3. Asano, J.; Hirakawa, A.; Hamada, C. Assessing the prediction accuracy of cure in the Cox proportional hazards cure model: An application to breast cancer data. Pharmaceutical Statistics 2014, 13, 357–363.
  4. Asano, J.; Hirakawa, A. Assessing the prediction accuracy of a cure model for censored survival daa with long-term survivors: Application to breast cancer data. Journal of Biopharmaceutical Statistics 2017, 27(6), 918–932.
  5. Bamopoulos, S.A.; Batcha, A.M.N.; Jurinovic, V.; Rothenberg-Thurley, M.; Janke, H.; Ksienzyk, B.; et al. Clinical presentation and differential splicing of SRSF2, U2AF1, and SF3B1 mutations in patients with acute myeloid leukemia. Leukemia 2020, 34, 2621–34.
  6. Beretta, A.; Heuchenne, C. (2019) penPHcure: Variable Selection in PH Cure Model with Time-Varying Covariates. R package version 1.0.2, https://CRAN.R-project.org/package=penPHcure.
  7. Candes, E.; Fan, Y.; Janson, L.; Lv, J. Panning for gold: ‘model-X’ knockoffs for high dimensional controlled variable selection. Journal of the Royal Statistical Society Series B Stat Methodology 2018, 80(3), 551–577.
  8. Cai, C.; Zou, Y.; Peng, Y.; Zhang, J. (2022). smcure: Fit Semiparametric Mixture Cure Models. R package version 2.1, https://CRAN.R-project.org/package=smcure.
  9. Fu, H.; Nicolet, D.; Mrozek, K.; Stone, R.M.; Eisfeld, A.K.; Byrd, J.C.; Archer, K.J. Contolled variable selection in Weibull mixture cure models for high-dimensional data. Statistics in Medicine 2022, 41(22), 4340–4366.
  10. Goldman, A. The cure model and time confounded risk in the analysis of survival and other timed events. Journal of Clinical Epidemiology 1991, 44(12), 1327–1340.
  11. Hou, J.; Ren, E. (2024) curephEM: NPMLE for Logistic-Cox Cure-Rate Model. R package version 0.3.0, https://CRAN.R-project.org/package=curephEM.
  12. Jakobsen, L.H. (2023) cuRe: Parametric Cure Model Estimation. R package version 1.1.1, https://CRAN.R-project.org/package=cuRe.
  13. López-de-Ullibarri I, López-Cheda A, Jácome M (2020). npcure: Nonparametric Estimation in Mixture Cure Models. R package version 0.1-5, https://CRAN.R-project.org/package=npcure.
  14. Maller, R.A.; Zhou, X. Survival Analysis with Long-Term Survivors John Wiley & Sons, 1996.
  15. Niu, Y.; Peng, Y. (2018) geecure: Marginal Proportional Hazards Mixture Cure Models with Generalized Estimating Equations. R package version 1.0-6, https://CRAN.R-project.org/package=geecure.
  16. Peng, Y. (2020) mixcure: Mixture Cure Models. R package version 2.0, https://CRAN.R-project.org/package=mixcure.
  17. Safari, W.; López-de-Ullibarri, I.; Jácome, M. (2023) npcurePK: Mixture Cure Model Estimation with Cure Status Partially Known. R package version 1.0-2, https://CRAN.R-project.org/package=npcurePK.
  18. Schneider, S.; Grandemagne dos Santos, G. (2023) CureDepCens: Dependent Censoring Regression Models with Cure Fraction. R package version 0.1.0, https://CRAN.R-project.org/package=CureDepCens.
  19. Zhou, J.; Zhang, J.; Lu, W. (2017) GORCure: Fit Generalized Odds Rate Mixture Cure Model with Interval Censored Data. R package version 2.0, https://CRAN.R-project.org/package=GORCure.