LM contrast analysis with LOD imputation facade
Source:R/ContrastsFacades.R
ContrastsLMImputeFacade.RdLM contrast analysis with LOD imputation facade
LM contrast analysis with LOD imputation facade
Details
Encapsulates the pipeline: strategy_lm ->
build_model (with impute = TRUE) ->
Contrasts -> ContrastsModerated.
Proteins whose initial lm fit fails or produces NA coefficients are re-fitted after imputing missing values with the limit of detection (LOD). The covariance matrix is borrowed from successful fits so that the variance is not underestimated by the constant imputation.
See also
Other modelling:
AnovaExtractor,
Contrasts,
ContrastsDEqMSFacade,
ContrastsDEqMSVoomFacade,
ContrastsFacadeBase,
ContrastsFirth,
ContrastsFirthFacade,
ContrastsFirthNestedFacade,
ContrastsLMFacade,
ContrastsLMMissingFacade,
ContrastsLimma,
ContrastsLimmaFacade,
ContrastsLimmaImputeFacade,
ContrastsLimmaVoomFacade,
ContrastsLimmaVoomImputeFacade,
ContrastsLimpaFacade,
ContrastsLimpaNestedFacade,
ContrastsLmerNestedFacade,
ContrastsMissing,
ContrastsModerated,
ContrastsModeratedDEqMS,
ContrastsPlotter,
ContrastsRLMFacade,
ContrastsROPECA,
ContrastsROPECANestedFacade,
ContrastsRfitFacade,
ContrastsRfitImputeFacade,
ContrastsTable,
INTERNAL_FUNCTIONS_BY_FAMILY,
LR_test(),
Model,
ModelFirth,
ModelLimma,
StrategyLM,
StrategyLimma,
StrategyLimpa,
StrategyLmer,
StrategyLogistf,
StrategyRLM,
StrategyRfit,
build_contrast_analysis(),
build_model(),
build_model_glm_peptide(),
build_model_glm_protein(),
build_model_impute(),
build_model_limma(),
build_model_limma_impute(),
build_model_limma_voom(),
build_model_limma_voom_impute(),
build_model_limpa(),
build_model_logistf(),
compute_borrowed_variance(),
compute_borrowed_variance_limma(),
compute_contrast(),
compute_lmer_contrast(),
contrasts_fisher_exact(),
df.residual.rfit_prolfqua(),
get_anova_df(),
get_complete_model_fit(),
get_p_values_pbeta(),
group_label(),
impute_refit_singular(),
is_singular_lm(),
linfct_all_possible_contrasts(),
linfct_factors_contrasts(),
linfct_from_model(),
linfct_matrix_contrasts(),
list_facades(),
lookup_facade(),
merge_contrasts_results(),
model_analyse(),
model_summary(),
moderated_p_deqms(),
moderated_p_deqms_long(),
moderated_p_limma(),
moderated_p_limma_long(),
new_imputed_model(),
pivot_model_contrasts_to_wide(),
plot_lmer_peptide_predictions(),
register_facade(),
sigma.rfit_prolfqua(),
sim_build_models_lm(),
sim_build_models_lmer(),
sim_build_models_logistf(),
sim_make_model_lm(),
sim_make_model_lmer(),
strategy_limma(),
strategy_limpa(),
strategy_logistf(),
summary_ROPECA_median_p.scaled(),
unregister_facade(),
vcov.rfit_prolfqua()
Super classes
prolfqua::ContrastsInterface -> prolfqua::ContrastsFacadeBase -> ContrastsLMImputeFacade
Public fields
modelModel object (with imputed proteins)
contrastContrastsModerated object
.lfqdatastored reference to input LFQData
.contrast_namesnames of the requested contrasts
Methods
Inherited methods
prolfqua::ContrastsInterface$column_description()prolfqua::ContrastsInterface$contrast_summary_table()prolfqua::ContrastsInterface$extra_artifacts()prolfqua::ContrastsInterface$filter_significant()prolfqua::ContrastsInterface$get_config()prolfqua::ContrastsInterface$get_contrast_sides()prolfqua::ContrastsInterface$get_ora()prolfqua::ContrastsInterface$get_rank()prolfqua::ContrastsFacadeBase$get_Plotter()prolfqua::ContrastsFacadeBase$get_contrasts()prolfqua::ContrastsFacadeBase$get_missing()prolfqua::ContrastsFacadeBase$to_wide()
Method new()
initialize
Usage
ContrastsLMImputeFacade$new(
lfqdata,
modelstr,
contrasts,
lod = NULL,
borrow_method = c("sigma", "vcov"),
df_method = c("observed", "borrowed"),
weights = lfqdata$nr_children_col(),
...
)Arguments
lfqdataLFQData object (aggregated to protein level)
modelstrmodel formula string (e.g. "~ group_")
contrastsnamed character vector of contrasts
lodnumeric limit of detection; if NULL, auto-computed from data
borrow_method"sigma" borrows scalar sigma and uses per-protein (X'X)^-1; "vcov" borrows element-wise median of full vcov matrices
df_method"observed" uses max(n_observed - p, 1); "borrowed" uses median df from successful fits
weightscolumn name for per-observation weights (default:
lfqdata$nr_children_col()). PassNULLfor unweighted....passed to
strategy_lm
Examples
istar <- sim_lfq_data_protein_config(Nprot = 30, weight_missing = 0.5)
#> creating sampleName from file_name column
#> completing cases
#> completing cases done
#> setup done
lfqdata <- LFQData$new(istar$data, istar$config)
lfqdata$rename_response("transformedIntensity")
contrasts <- c("A_vs_Ctrl" = "group_A - group_Ctrl")
fa <- ContrastsLMImputeFacade$new(lfqdata, "~ group_", contrasts)
head(fa$get_contrasts())
#> determine linear functions:
#> get_contrasts -> contrasts_linfct
#> contrasts_linfct
#> Joining with `by = join_by(protein_Id, contrast)`
#> # A tibble: 6 × 14
#> modelName estimate_type protein_Id contrast diff std.error avgAbd statistic
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 lm_impute observed 0EfVhX~29… A_vs_Ct… 1.24 0.731 22.6 1.88
#> 2 lm_impute observed 0m5WN4~67… A_vs_Ct… -0.0361 0.614 20.8 -0.0334
#> 3 lm_impute observed 7QuTub~61… A_vs_Ct… 0.909 0.943 16.7 0.961
#> 4 lm_impute observed 7cbcrd~26… A_vs_Ct… 0.612 1.08 21.9 0.574
#> 5 lm_impute observed 9VUkAq~34… A_vs_Ct… 0.768 1.42 20.0 0.710
#> 6 lm_impute observed At886V~77… A_vs_Ct… -1.86 0.706 29.1 -2.40
#> # ℹ 6 more variables: df <dbl>, p.value <dbl>, conf.low <dbl>, conf.high <dbl>,
#> # sigma <dbl>, FDR <dbl>
fa$to_wide()
#> # A tibble: 30 × 5
#> protein_Id diff.A_vs_Ctrl p.value.A_vs_Ctrl FDR.A_vs_Ctrl statistic.A_vs_Ctrl
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 0EfVhX~29… 1.24 0.0791 0.474 1.88
#> 2 0m5WN4~67… -0.0361 0.974 0.974 -0.0334
#> 3 7QuTub~61… 0.909 0.362 0.776 0.961
#> 4 7cbcrd~26… 0.612 0.577 0.883 0.574
#> 5 9VUkAq~34… 0.768 0.489 0.883 0.710
#> 6 At886V~77… -1.86 0.0294 0.220 -2.40
#> 7 BEJI92~27… -1.30 0.221 0.603 -1.28
#> 8 CGzoYe~08… 0.196 0.860 0.974 0.180
#> 9 CtOJ9t~91… -0.0717 0.926 0.974 -0.0938
#> 10 DoWup2~28… -1.82 0.00762 0.114 -3.06
#> # ℹ 20 more rows