Skip to contents

Firth logistic missingness contrast analysis facade for nested input

Firth logistic missingness contrast analysis facade for nested input

Value

An R6 class generator.

Details

Encapsulates the pipeline: encode missingness -> build_model_glm_peptide -> ContrastsFirth.

Takes nested (peptide-level) LFQData and returns protein-level fold-change estimates. For protein-level (aggregated) input use ContrastsFirthFacade instead.

Supports options(prolfqua.vectorize = TRUE) for faster contrast computation. See build_contrast_analysis for details.

See also

Other modelling: AnovaExtractor, Contrasts, ContrastsDEqMSFacade, ContrastsDEqMSVoomFacade, ContrastsFirth, ContrastsFirthFacade, ContrastsLMFacade, ContrastsLMImputeFacade, ContrastsLMMissingFacade, ContrastsLimma, ContrastsLimmaFacade, ContrastsLimmaImputeFacade, ContrastsLimmaVoomFacade, ContrastsLimmaVoomImputeFacade, ContrastsLimpaFacade, ContrastsLimpaNestedFacade, ContrastsLmerNestedFacade, ContrastsMissing, ContrastsModerated, ContrastsModeratedDEqMS, ContrastsPlotter, ContrastsRLMFacade, ContrastsROPECA, ContrastsROPECANestedFacade, ContrastsTable, INTERNAL_FUNCTIONS_BY_FAMILY, LR_test(), Model, ModelFirth, ModelLimma, StrategyLM, StrategyLimma, StrategyLimpa, StrategyLmer, StrategyLogistf, StrategyRLM, 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(), 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_lm_imputed(), pivot_model_contrasts_to_wide(), plot_lmer_peptide_predictions(), register_facade(), 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()

Super class

prolfqua::ContrastsInterface -> ContrastsFirthNestedFacade

Public fields

model

ModelFirth object

contrast

ContrastsFirth object

.lfqdata

stored reference to input LFQData

.contrast_names

names of the requested contrasts

Methods

Inherited methods


Method new()

initialize

Usage

ContrastsFirthNestedFacade$new(lfqdata, modelstr, contrasts)

Arguments

lfqdata

nested LFQData (peptide-level)

modelstr

model formula string (e.g. "~ group_")

contrasts

named character vector of contrasts


Method get_contrasts()

get contrast results

Usage

ContrastsFirthNestedFacade$get_contrasts(...)

Arguments

...

passed to ContrastsFirth$get_contrasts


Method get_missing()

get protein x contrast pairs that could not be estimated

Usage

ContrastsFirthNestedFacade$get_missing()


Method get_Plotter()

get ContrastsPlotter

Usage

ContrastsFirthNestedFacade$get_Plotter(...)

Arguments

...

passed to ContrastsFirth$get_Plotter


Method to_wide()

convert results to wide format

Usage

ContrastsFirthNestedFacade$to_wide(...)

Arguments

...

passed to ContrastsFirth$to_wide


Method clone()

The objects of this class are cloneable with this method.

Usage

ContrastsFirthNestedFacade$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

istar <- sim_lfq_data_peptide_config(Nprot = 20, weight_missing = 0.5)
#> creating sampleName from file_name column
#> completing cases
#> completing cases done
#> setup done
lfqdata <- LFQData$new(istar$data, istar$config)
contrasts <- c("A_vs_Ctrl" = "group_A - group_Ctrl")
fa <- ContrastsFirthNestedFacade$new(lfqdata, "~ group_", contrasts)
#> Joining with `by = join_by(protein_Id)`
#> Joining with `by = join_by(protein_Id)`
head(fa$get_contrasts())
#> determine linear functions:
#> get_contrasts -> contrasts_linfct
#> contrasts_linfct_firth
#> contrasts_linfct_firth
#> Joining with `by = join_by(protein_Id, contrast)`
#> # A tibble: 6 × 14
#> # Groups:   contrast [1]
#>   facade       modelName  protein_Id contrast sigma    df   diff   FDR std.error
#>   <chr>        <chr>      <chr>      <chr>    <dbl> <int>  <dbl> <dbl>     <dbl>
#> 1 firth_nested WaldTestF… 0m5WN4~14… A_vs_Ct…     1    20  1.15  0.720     1.11 
#> 2 firth_nested WaldTestF… 9VUkAq~45… A_vs_Ct…     1   174  0.157 0.857     0.388
#> 3 firth_nested WaldTestF… At886V~32… A_vs_Ct…     1    53 -2.50  0.720     1.41 
#> 4 firth_nested WaldTestF… BEJI92~91… A_vs_Ct…     1    42 -0.906 0.720     0.910
#> 5 firth_nested WaldTestF… CtOJ9t~28… A_vs_Ct…     1    53  0.392 0.855     0.836
#> 6 firth_nested WaldTestF… DoWup2~29… A_vs_Ct…     1    75 -0.911 0.720     0.744
#> # ℹ 5 more variables: statistic <dbl>, p.value <dbl>, conf.low <dbl>,
#> #   conf.high <dbl>, avgAbd <dbl>
fa$to_wide()
#> # A tibble: 20 × 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 0m5WN4~14…       1.15e+ 0            0.311          0.720            1.04e+ 0
#>  2 9VUkAq~45…       1.57e- 1            0.686          0.857            4.05e- 1
#>  3 At886V~32…      -2.50e+ 0            0.0816         0.720           -1.78e+ 0
#>  4 BEJI92~91…      -9.06e- 1            0.325          0.720           -9.96e- 1
#>  5 CtOJ9t~28…       3.92e- 1            0.641          0.855            4.69e- 1
#>  6 DoWup2~29…      -9.11e- 1            0.225          0.720           -1.22e+ 0
#>  7 DuwH7n~34…       3.33e-16            1              1                3.82e-16
#>  8 HC8K98~49…       9.24e- 1            0.356          0.720            9.44e- 1
#>  9 HvIpHG~40…       2.06e+ 0            0.214          0.720            1.28e+ 0
#> 10 I1Jk2Z~08…      -7.13e- 1            0.119          0.720           -1.57e+ 0
#> 11 JfvT8X~27…       5.77e- 1            0.269          0.720            1.11e+ 0
#> 12 R2i6w7~02…       2.08e+ 0            0.221          0.720            1.26e+ 0
#> 13 SGIVBl~95…       1.23e+ 0            0.448          0.720            7.74e- 1
#> 14 0EfVhX~59…       1.07e-15            1              1                5.08e-16
#> 15 7cbcrd~83…      -1.35e+ 0            0.468          0.720           -7.58e- 1
#> 16 CGzoYe~28…      -8.47e- 1            0.538          0.769           -6.40e- 1
#> 17 Fl4JiV~75…       1.35e+ 0            0.468          0.720            7.58e- 1
#> 18 JV3Z7t~29…       1.07e-15            1              1                5.08e-16
#> 19 JcKVfU~08…      -1.35e+ 0            0.468          0.720           -7.58e- 1
#> 20 r2J0Eh~26…      -5.35e-17            1              1               -2.54e-17