OmicsBraid: Cross-Omics Effect Inference
Source:vignettes/OmicsBraid-introduction.Rmd
OmicsBraid-introduction.RmdWhy OmicsBraid?
Multi-omics studies frequently summarize each layer independently and then describe RNA/protein/metabolite agreement qualitatively. OmicsBraid makes that comparison explicit by estimating standardized effects with uncertainty, accounting for matched-subject dependence, testing joint multi-omic evidence, quantifying cross-layer heterogeneity, testing practical equivalence, and evaluating ordered effect trajectories.
Version 0.2.2 retains the hierarchical inference introduced in v0.1.9, deliberately distinguishes absence of detected evidence from evidence of practical equivalence, and separates confirmed braid patterns from suggestive effect geometry.
Simulate known biology
sim <- simulate_braid_data(n_per_group = 60, rho = 0.5, seed = 42)
sim$data
#> <omics_braid_data>
#> Samples in metadata: 120
#> Assays: RNA, Protein, Metabolite
#> - RNA: 7 features x 120 samples
#> - Protein: 7 features x 120 samples
#> - Metabolite: 7 features x 120 samplesRun the full workflow
For a quick vignette we use fewer bootstrap and Monte Carlo replicates than are recommended for final analyses. Both the equivalence margin and the trajectory margin are scientific SESOIs and should be justified in a real study.
fit <- run_omics_braid(
sim$data,
group = "group",
reference = "Control",
comparison = "Disease",
omic_order = c("RNA", "Protein", "Metabolite"),
bootstrap_B = 150,
ci_method = "percentile",
integrated_ci_method = "percentile",
ci_min_boot = 75,
pattern_draws = 500,
equivalence_margin = 0.30,
trajectory_margin = 0.15,
seed = 42
)
fit
#> <omics_braid_result>
#> Analysis level: feature
#> Entities with integrated estimates: 7
#> Omic order: RNA -> Protein -> Metabolite
#> Pattern counts:
#>
#> uncertain amplification attenuation
#> 2 1 1
#> concordant_increase inversion no_detectable_effect
#> 1 1 1Layer-specific and integrated inference
fit$effects
#> entity omic effect se var conf_low
#> 1 concordant_up RNA 0.9991331 0.1936305 0.03749278 0.68596798
#> 2 attenuation RNA 1.2550880 0.1997420 0.03989686 0.90352480
#> 3 amplification RNA 0.4746970 0.1851276 0.03427224 0.08765197
#> 4 inversion RNA 0.8883029 0.1913666 0.03662117 0.52332491
#> 5 buffering RNA 1.0137654 0.1939472 0.03761550 0.65890251
#> 6 emergence RNA -0.1004282 0.1826892 0.03337536 -0.42269332
#> 7 null RNA 0.1404783 0.1827992 0.03341556 -0.14491433
#> 8 concordant_up Protein 0.9808467 0.1932406 0.03734192 0.67201246
#> 9 attenuation Protein 1.0551402 0.1948645 0.03797217 0.68544821
#> 10 amplification Protein 1.0478368 0.1947002 0.03790817 0.67768971
#> 11 inversion Protein 0.8905997 0.1914111 0.03663820 0.46540062
#> 12 buffering Protein 0.0904011 0.1826674 0.03336738 -0.27993766
#> 13 emergence Protein -0.1346748 0.1827810 0.03340891 -0.50269775
#> 14 null Protein 0.1863686 0.1829701 0.03347806 -0.09363612
#> 15 concordant_up Metabolite 0.9764470 0.1931477 0.03730604 0.64938039
#> 16 attenuation Metabolite 0.4544151 0.1849154 0.03419372 0.17691150
#> 17 amplification Metabolite 1.1973173 0.1982588 0.03930654 0.87983544
#> 18 inversion Metabolite -1.0484330 0.1947136 0.03791338 -1.40424603
#> 19 buffering Metabolite -0.1070065 0.1827048 0.03338104 -0.47448543
#> 20 emergence Metabolite 1.2203871 0.1988440 0.03953894 0.89688302
#> 21 null Metabolite -0.1235498 0.1827483 0.03339694 -0.46336026
#> conf_high p_value n_reference n_comparison df reference comparison
#> 1 1.3999440 2.469525e-07 60 60 118 Control Disease
#> 2 1.5996103 3.309351e-10 60 60 118 Control Disease
#> 3 0.7689709 1.034256e-02 60 60 118 Control Disease
#> 4 1.2021396 3.452351e-06 60 60 118 Control Disease
#> 5 1.3911008 1.722654e-07 60 60 118 Control Disease
#> 6 0.2560018 5.825104e-01 60 60 118 Control Disease
#> 7 0.4711961 4.421997e-01 60 60 118 Control Disease
#> 8 1.3409121 3.859092e-07 60 60 118 Control Disease
#> 9 1.4247137 6.137844e-08 60 60 118 Control Disease
#> 10 1.3536815 7.374649e-08 60 60 118 Control Disease
#> 11 1.2207417 3.274390e-06 60 60 118 Control Disease
#> 12 0.4676582 6.206746e-01 60 60 118 Control Disease
#> 13 0.2497660 4.612382e-01 60 60 118 Control Disease
#> 14 0.5713496 3.084051e-01 60 60 118 Control Disease
#> 15 1.3625680 4.293959e-07 60 60 118 Control Disease
#> 16 0.8462612 1.399386e-02 60 60 118 Control Disease
#> 17 1.6492941 1.549140e-09 60 60 118 Control Disease
#> 18 -0.7545052 7.265111e-08 60 60 118 Control Disease
#> 19 0.2017524 5.580907e-01 60 60 118 Control Disease
#> 20 1.6796148 8.387790e-10 60 60 118 Control Disease
#> 21 0.1791578 4.989992e-01 60 60 118 Control Disease
#> p_adj conf_low_analytic conf_high_analytic conf_low_bootstrap
#> 1 5.762226e-07 0.61962425 1.3786419 0.68596798
#> 2 2.316546e-09 0.86360093 1.6465751 0.90352480
#> 3 1.447959e-02 0.11185350 0.8375405 0.08765197
#> 4 6.041614e-06 0.51323124 1.2633745 0.52332491
#> 5 5.762226e-07 0.63363592 1.3938948 0.65890251
#> 6 5.825104e-01 -0.45849254 0.2576361 -0.42269332
#> 7 5.158997e-01 -0.21780164 0.4987582 -0.14491433
#> 8 9.004548e-07 0.60210210 1.3595912 0.67201246
#> 9 2.581127e-07 0.67321282 1.4370676 0.68544821
#> 10 2.581127e-07 0.66623135 1.4294422 0.67768971
#> 11 5.730183e-06 0.51544090 1.2657585 0.46540062
#> 12 6.206746e-01 -0.26762045 0.4484227 -0.27993766
#> 13 5.381112e-01 -0.49291905 0.2235694 -0.50269775
#> 14 4.317671e-01 -0.17224615 0.5449834 -0.09363612
#> 15 7.514428e-07 0.59788441 1.3550095 0.64938039
#> 16 1.959140e-02 0.09198748 0.8168427 0.17691150
#> 17 5.421990e-09 0.80873730 1.5858974 0.87983544
#> 18 1.695193e-07 -1.43006464 -0.6668014 -1.40424603
#> 19 5.580907e-01 -0.46510134 0.2510883 -0.47448543
#> 20 5.421990e-09 0.83066000 1.6101142 0.89688302
#> 21 5.580907e-01 -0.48172984 0.2346303 -0.46336026
#> conf_high_bootstrap ci_boot_n ci_method
#> 1 1.3999440 150 percentile
#> 2 1.5996103 150 percentile
#> 3 0.7689709 150 percentile
#> 4 1.2021396 150 percentile
#> 5 1.3911008 150 percentile
#> 6 0.2560018 150 percentile
#> 7 0.4711961 150 percentile
#> 8 1.3409121 150 percentile
#> 9 1.4247137 150 percentile
#> 10 1.3536815 150 percentile
#> 11 1.2207417 150 percentile
#> 12 0.4676582 150 percentile
#> 13 0.2497660 150 percentile
#> 14 0.5713496 150 percentile
#> 15 1.3625680 150 percentile
#> 16 0.8462612 150 percentile
#> 17 1.6492941 150 percentile
#> 18 -0.7545052 150 percentile
#> 19 0.2017524 150 percentile
#> 20 1.6796148 150 percentile
#> 21 0.1791578 150 percentile
fit$integrated
#> entity n_omics omics integrated_effect integrated_se
#> 1 concordant_up 3 RNA;Protein;Metabolite 0.98594971 0.1556271
#> 2 attenuation 3 RNA;Protein;Metabolite 0.86137608 0.1520446
#> 3 amplification 3 RNA;Protein;Metabolite 0.88802608 0.1405536
#> 4 inversion 3 RNA;Protein;Metabolite 0.23862626 0.1492886
#> 5 buffering 3 RNA;Protein;Metabolite 0.19472966 0.1491831
#> 6 emergence 3 RNA;Protein;Metabolite 0.26339346 0.1494749
#> 7 null 3 RNA;Protein;Metabolite 0.07098309 0.1505605
#> conf_low conf_high z_value p_value W_omnibus df_omnibus
#> 1 0.761730058 1.3096901 6.3353350 2.368261e-10 40.150059 3
#> 2 0.594496249 1.1323254 5.6652839 1.467813e-08 48.784204 3
#> 3 0.646029106 1.1503796 6.3180610 2.648655e-10 51.992915 3
#> 4 -0.064689857 0.4800720 1.5984224 1.099490e-01 108.564869 3
#> 5 -0.121630339 0.4642696 1.3053065 1.917885e-01 46.230380 3
#> 6 0.005799899 0.5779128 1.7621253 7.804813e-02 56.469860 3
#> 7 -0.191007204 0.3479219 0.4714588 6.373132e-01 3.751782 3
#> p_omnibus Q_omics df_heterogeneity p_heterogeneity I2_omics
#> 1 9.902563e-09 0.01358846 2 9.932288e-01 0.00000
#> 2 1.450000e-10 16.68876219 2 2.377285e-04 88.01589
#> 3 3.005512e-11 12.07502056 2 2.387496e-03 83.43688
#> 4 2.234444e-23 106.00991457 2 9.555195e-24 98.11338
#> 5 5.066534e-10 44.52655531 2 2.143786e-10 95.50830
#> 6 3.334804e-12 53.36477448 2 2.582180e-12 96.25221
#> 7 2.895447e-01 3.52950911 2 1.712288e-01 43.33490
#> direction_agreement min_gls_weight max_gls_weight has_negative_gls_weight
#> 1 1.0000000 0.3194338 0.3569288 FALSE
#> 2 1.0000000 0.2630789 0.4101146 FALSE
#> 3 1.0000000 0.3154882 0.3611162 FALSE
#> 4 0.6742767 0.3314425 0.3358423 FALSE
#> 5 0.6537201 0.1988189 0.4014725 FALSE
#> 6 0.2968981 0.2850849 0.3715077 FALSE
#> 7 0.6663352 0.3078795 0.3653995 FALSE
#> covariance_condition_number covariance_mode p_adj p_omnibus_adj
#> 1 4.034579 matched_bootstrap 9.270294e-10 1.155299e-08
#> 2 3.472585 matched_bootstrap 3.424897e-08 2.537499e-10
#> 3 2.522744 matched_bootstrap 9.270294e-10 7.012861e-11
#> 4 3.231057 matched_bootstrap 1.539286e-01 1.564111e-22
#> 5 4.401232 matched_bootstrap 2.237532e-01 7.093148e-10
#> 6 4.088148 matched_bootstrap 1.365842e-01 1.167181e-11
#> 7 4.774200 matched_bootstrap 6.373132e-01 2.895447e-01
#> p_heterogeneity_adj heterogeneity_test_flag has_omnibus_evidence_local
#> 1 9.932288e-01 FALSE TRUE
#> 2 4.160250e-04 TRUE TRUE
#> 3 3.342494e-03 TRUE TRUE
#> 4 6.688636e-23 TRUE TRUE
#> 5 5.002167e-10 TRUE TRUE
#> 6 9.037629e-12 TRUE TRUE
#> 7 1.997669e-01 FALSE FALSE
#> has_omnibus_evidence evidence_qualified_direction_agreement conf_low_analytic
#> 1 TRUE 1.0000000 0.68092623
#> 2 TRUE 1.0000000 0.56337405
#> 3 TRUE 1.0000000 0.61254613
#> 4 TRUE 0.6742767 -0.05397404
#> 5 TRUE 0.6537201 -0.09766382
#> 6 TRUE 0.2968981 -0.02957192
#> 7 FALSE NA -0.22411015
#> conf_high_analytic conf_low_bootstrap conf_high_bootstrap ci_boot_n
#> 1 1.2909732 0.761730058 1.3096901 150
#> 2 1.1593781 0.594496249 1.1323254 150
#> 3 1.1635060 0.646029106 1.1503796 150
#> 4 0.5312266 -0.064689857 0.4800720 150
#> 5 0.4871231 -0.121630339 0.4642696 150
#> 6 0.5563588 0.005799899 0.5779128 150
#> 7 0.3660763 -0.191007204 0.3479219 150
#> ci_method
#> 1 percentile
#> 2 percentile
#> 3 percentile
#> 4 percentile
#> 5 percentile
#> 6 percentile
#> 7 percentile
fit$equivalence
#> entity omic effect se var conf_low
#> 1 concordant_up RNA 0.9991331 0.1936305 0.03749278 0.68596798
#> 2 attenuation RNA 1.2550880 0.1997420 0.03989686 0.90352480
#> 3 amplification RNA 0.4746970 0.1851276 0.03427224 0.08765197
#> 4 inversion RNA 0.8883029 0.1913666 0.03662117 0.52332491
#> 5 buffering RNA 1.0137654 0.1939472 0.03761550 0.65890251
#> 6 emergence RNA -0.1004282 0.1826892 0.03337536 -0.42269332
#> 7 null RNA 0.1404783 0.1827992 0.03341556 -0.14491433
#> 8 concordant_up Protein 0.9808467 0.1932406 0.03734192 0.67201246
#> 9 attenuation Protein 1.0551402 0.1948645 0.03797217 0.68544821
#> 10 amplification Protein 1.0478368 0.1947002 0.03790817 0.67768971
#> 11 inversion Protein 0.8905997 0.1914111 0.03663820 0.46540062
#> 12 buffering Protein 0.0904011 0.1826674 0.03336738 -0.27993766
#> 13 emergence Protein -0.1346748 0.1827810 0.03340891 -0.50269775
#> 14 null Protein 0.1863686 0.1829701 0.03347806 -0.09363612
#> 15 concordant_up Metabolite 0.9764470 0.1931477 0.03730604 0.64938039
#> 16 attenuation Metabolite 0.4544151 0.1849154 0.03419372 0.17691150
#> 17 amplification Metabolite 1.1973173 0.1982588 0.03930654 0.87983544
#> 18 inversion Metabolite -1.0484330 0.1947136 0.03791338 -1.40424603
#> 19 buffering Metabolite -0.1070065 0.1827048 0.03338104 -0.47448543
#> 20 emergence Metabolite 1.2203871 0.1988440 0.03953894 0.89688302
#> 21 null Metabolite -0.1235498 0.1827483 0.03339694 -0.46336026
#> conf_high p_value n_reference n_comparison df reference comparison
#> 1 1.3999440 2.469525e-07 60 60 118 Control Disease
#> 2 1.5996103 3.309351e-10 60 60 118 Control Disease
#> 3 0.7689709 1.034256e-02 60 60 118 Control Disease
#> 4 1.2021396 3.452351e-06 60 60 118 Control Disease
#> 5 1.3911008 1.722654e-07 60 60 118 Control Disease
#> 6 0.2560018 5.825104e-01 60 60 118 Control Disease
#> 7 0.4711961 4.421997e-01 60 60 118 Control Disease
#> 8 1.3409121 3.859092e-07 60 60 118 Control Disease
#> 9 1.4247137 6.137844e-08 60 60 118 Control Disease
#> 10 1.3536815 7.374649e-08 60 60 118 Control Disease
#> 11 1.2207417 3.274390e-06 60 60 118 Control Disease
#> 12 0.4676582 6.206746e-01 60 60 118 Control Disease
#> 13 0.2497660 4.612382e-01 60 60 118 Control Disease
#> 14 0.5713496 3.084051e-01 60 60 118 Control Disease
#> 15 1.3625680 4.293959e-07 60 60 118 Control Disease
#> 16 0.8462612 1.399386e-02 60 60 118 Control Disease
#> 17 1.6492941 1.549140e-09 60 60 118 Control Disease
#> 18 -0.7545052 7.265111e-08 60 60 118 Control Disease
#> 19 0.2017524 5.580907e-01 60 60 118 Control Disease
#> 20 1.6796148 8.387790e-10 60 60 118 Control Disease
#> 21 0.1791578 4.989992e-01 60 60 118 Control Disease
#> p_adj conf_low_analytic conf_high_analytic conf_low_bootstrap
#> 1 5.762226e-07 0.61962425 1.3786419 0.68596798
#> 2 2.316546e-09 0.86360093 1.6465751 0.90352480
#> 3 1.447959e-02 0.11185350 0.8375405 0.08765197
#> 4 6.041614e-06 0.51323124 1.2633745 0.52332491
#> 5 5.762226e-07 0.63363592 1.3938948 0.65890251
#> 6 5.825104e-01 -0.45849254 0.2576361 -0.42269332
#> 7 5.158997e-01 -0.21780164 0.4987582 -0.14491433
#> 8 9.004548e-07 0.60210210 1.3595912 0.67201246
#> 9 2.581127e-07 0.67321282 1.4370676 0.68544821
#> 10 2.581127e-07 0.66623135 1.4294422 0.67768971
#> 11 5.730183e-06 0.51544090 1.2657585 0.46540062
#> 12 6.206746e-01 -0.26762045 0.4484227 -0.27993766
#> 13 5.381112e-01 -0.49291905 0.2235694 -0.50269775
#> 14 4.317671e-01 -0.17224615 0.5449834 -0.09363612
#> 15 7.514428e-07 0.59788441 1.3550095 0.64938039
#> 16 1.959140e-02 0.09198748 0.8168427 0.17691150
#> 17 5.421990e-09 0.80873730 1.5858974 0.87983544
#> 18 1.695193e-07 -1.43006464 -0.6668014 -1.40424603
#> 19 5.580907e-01 -0.46510134 0.2510883 -0.47448543
#> 20 5.421990e-09 0.83066000 1.6101142 0.89688302
#> 21 5.580907e-01 -0.48172984 0.2346303 -0.46336026
#> conf_high_bootstrap ci_boot_n ci_method equiv_margin p_tost_lower
#> 1 1.3999440 150 percentile 0.3 9.775301e-12
#> 2 1.5996103 150 percentile 0.3 3.472336e-15
#> 3 0.7689709 150 percentile 0.3 1.427939e-05
#> 4 1.2021396 150 percentile 0.3 2.656614e-10
#> 5 1.3911008 150 percentile 0.3 6.270789e-12
#> 6 0.2560018 150 percentile 0.3 1.373262e-01
#> 7 0.4711961 150 percentile 0.3 7.984382e-03
#> 8 1.3409121 150 percentile 0.3 1.698458e-11
#> 9 1.4247137 150 percentile 0.3 1.771967e-12
#> 10 1.3536815 150 percentile 0.3 2.216737e-12
#> 11 1.2207417 150 percentile 0.3 2.483885e-10
#> 12 0.4676582 150 percentile 0.3 1.628991e-02
#> 13 0.2497660 150 percentile 0.3 1.828655e-01
#> 14 0.5713496 150 percentile 0.3 3.928120e-03
#> 15 1.3625680 150 percentile 0.3 1.939109e-11
#> 16 0.8462612 150 percentile 0.3 2.253877e-05
#> 17 1.6492941 150 percentile 0.3 2.137554e-14
#> 18 -0.7545052 150 percentile 0.3 9.999394e-01
#> 19 0.2017524 150 percentile 0.3 1.454126e-01
#> 20 1.6796148 150 percentile 0.3 1.035591e-14
#> 21 0.1791578 150 percentile 0.3 1.671380e-01
#> p_tost_upper p_tost p_tost_adj p_difference p_difference_adj
#> 1 9.998473e-01 0.9998473 0.9999991 2.469525e-07 5.762226e-07
#> 2 9.999991e-01 0.9999991 0.9999991 3.309351e-10 2.316546e-09
#> 3 8.273275e-01 0.8273275 0.9999991 1.034256e-02 1.447959e-02
#> 4 9.989447e-01 0.9989447 0.9999991 3.452351e-06 6.041614e-06
#> 5 9.998835e-01 0.9998835 0.9999991 1.722654e-07 5.762226e-07
#> 6 1.419501e-02 0.1373262 0.6699840 5.825104e-01 5.825104e-01
#> 7 1.914240e-01 0.1914240 0.6699840 4.421997e-01 5.158997e-01
#> 8 9.997869e-01 0.9997869 0.9999467 3.859092e-07 9.004548e-07
#> 9 9.999467e-01 0.9999467 0.9999467 6.137844e-08 2.581127e-07
#> 10 9.999387e-01 0.9999387 0.9999467 7.374649e-08 2.581127e-07
#> 11 9.989840e-01 0.9989840 0.9999467 3.274390e-06 5.730183e-06
#> 12 1.256010e-01 0.1256010 0.6236705 6.206746e-01 6.206746e-01
#> 13 8.700635e-03 0.1828655 0.6236705 4.612382e-01 5.381112e-01
#> 14 2.672873e-01 0.2672873 0.6236705 3.084051e-01 4.317671e-01
#> 15 9.997693e-01 0.9997693 0.9999982 4.293959e-07 7.514428e-07
#> 16 7.981574e-01 0.7981574 0.9999982 1.399386e-02 1.959140e-02
#> 17 9.999970e-01 0.9999970 0.9999982 1.549140e-09 5.421990e-09
#> 18 2.176606e-12 0.9999394 0.9999982 7.265111e-08 1.695193e-07
#> 19 1.295117e-02 0.1454126 0.5849829 5.580907e-01 5.580907e-01
#> 20 9.999982e-01 0.9999982 0.9999982 8.387790e-10 5.421990e-09
#> 21 1.023370e-02 0.1671380 0.5849829 4.989992e-01 5.580907e-01
#> equivalent_local equivalent_adjusted state_local state_adjusted equivalent
#> 1 FALSE FALSE positive positive FALSE
#> 2 FALSE FALSE positive positive FALSE
#> 3 FALSE FALSE positive positive FALSE
#> 4 FALSE FALSE positive positive FALSE
#> 5 FALSE FALSE positive positive FALSE
#> 6 FALSE FALSE uncertain uncertain FALSE
#> 7 FALSE FALSE uncertain uncertain FALSE
#> 8 FALSE FALSE positive positive FALSE
#> 9 FALSE FALSE positive positive FALSE
#> 10 FALSE FALSE positive positive FALSE
#> 11 FALSE FALSE positive positive FALSE
#> 12 FALSE FALSE uncertain uncertain FALSE
#> 13 FALSE FALSE uncertain uncertain FALSE
#> 14 FALSE FALSE uncertain uncertain FALSE
#> 15 FALSE FALSE positive positive FALSE
#> 16 FALSE FALSE positive positive FALSE
#> 17 FALSE FALSE positive positive FALSE
#> 18 FALSE FALSE negative negative FALSE
#> 19 FALSE FALSE uncertain uncertain FALSE
#> 20 FALSE FALSE positive positive FALSE
#> 21 FALSE FALSE uncertain uncertain FALSE
#> state state_basis
#> 1 positive local
#> 2 positive local
#> 3 positive local
#> 4 positive local
#> 5 positive local
#> 6 uncertain local
#> 7 uncertain local
#> 8 positive local
#> 9 positive local
#> 10 positive local
#> 11 positive local
#> 12 uncertain local
#> 13 uncertain local
#> 14 uncertain local
#> 15 positive local
#> 16 positive local
#> 17 positive local
#> 18 negative local
#> 19 uncertain local
#> 20 positive local
#> 21 uncertain local
fit$trend
#> entity n_layers_trend trend_omics aligned_direction
#> 1 concordant_up 3 RNA;Protein;Metabolite 1
#> 2 attenuation 3 RNA;Protein;Metabolite 1
#> 3 amplification 3 RNA;Protein;Metabolite 1
#> 4 inversion 3 RNA;Protein;Metabolite 1
#> 5 buffering 3 RNA;Protein;Metabolite 1
#> 6 emergence 3 RNA;Protein;Metabolite 1
#> 7 null 3 RNA;Protein;Metabolite 1
#> same_sign_estimates trend_intercept trend_slope trend_slope_se trend_conf_low
#> 1 TRUE 0.9966243 -0.01104217 0.10131680 -0.2096195
#> 2 TRUE 1.3186526 -0.39865933 0.10145449 -0.5975065
#> 3 TRUE 0.5326097 0.37240866 0.11254276 0.1518289
#> 4 FALSE 1.1771754 -0.93562333 0.10686338 -1.1450717
#> 5 FALSE 0.8945462 -0.58189365 0.09207753 -0.7623623
#> 6 FALSE -0.2993101 0.59755433 0.09907455 0.4033718
#> 7 FALSE 0.2030749 -0.12964903 0.08458881 -0.2954401
#> trend_conf_high p_trend_zero p_meaningful_amplification
#> 1 0.18753511 9.132131e-01 9.440252e-01
#> 2 -0.19981217 8.514399e-05 1.000000e+00
#> 3 0.59298841 9.361596e-04 2.406523e-02
#> 4 -0.72617495 2.035213e-18 1.000000e+00
#> 5 -0.40142501 2.622319e-10 1.000000e+00
#> 6 0.79173688 1.625850e-09 3.130931e-06
#> 7 0.03614199 1.253505e-01 9.995268e-01
#> p_meaningful_attenuation p_flat_tost trajectory_margin covariance_mode_trend
#> 1 9.148932e-01 0.08510676 0.15 matched_bootstrap
#> 2 7.124097e-03 0.99287590 0.15 matched_bootstrap
#> 3 9.999983e-01 0.97593477 0.15 matched_bootstrap
#> 4 9.787955e-14 1.00000000 0.15 matched_bootstrap
#> 5 1.362401e-06 0.99999864 0.15 matched_bootstrap
#> 6 1.000000e+00 0.99999687 0.15 matched_bootstrap
#> 7 5.950624e-01 0.40493763 0.15 matched_bootstrap
#> trend_state_local p_meaningful_amplification_adj p_meaningful_attenuation_adj
#> 1 uncertain 1.000000e+00 1.000000e+00
#> 2 attenuation 1.000000e+00 1.662289e-02
#> 3 amplification 8.422831e-02 1.000000e+00
#> 4 not_applicable 1.000000e+00 6.851568e-13
#> 5 not_applicable 1.000000e+00 4.768405e-06
#> 6 not_applicable 2.191651e-05 1.000000e+00
#> 7 not_applicable 1.000000e+00 1.000000e+00
#> p_flat_tost_adj trend_state_adjusted
#> 1 0.5957473 uncertain
#> 2 1.0000000 attenuation
#> 3 1.0000000 uncertain
#> 4 1.0000000 not_applicable
#> 5 1.0000000 not_applicable
#> 6 1.0000000 not_applicable
#> 7 1.0000000 not_applicable
fit$classification
#> entity pattern pattern_status suggestive_pattern
#> 1 concordant_up concordant_increase direction_confirmed concordant_increase
#> 2 attenuation attenuation confirmed attenuation
#> 3 amplification amplification confirmed amplification
#> 4 inversion inversion confirmed inversion
#> 5 buffering uncertain unresolved buffering
#> 6 emergence uncertain unresolved emergence
#> 7 null no_detectable_effect no_evidence null_equivalent
#> interpretation_label
#> 1 concordant_increase (trajectory unresolved; geometry: concordant_increase)
#> 2 attenuation
#> 3 amplification
#> 4 inversion
#> 5 suggestive_buffering
#> 6 suggestive_emergence
#> 7 no_detectable_effect (geometry: null_equivalent)
#> confirmatory_basis
#> 1 all observed layers support one direction; magnitude trajectory is unresolved
#> 2 same-direction layers plus meaningful negative GLS trajectory
#> 3 same-direction layers plus meaningful positive GLS trajectory
#> 4 statistically supported effects occur in opposite directions
#> 5 partial or transient layer pattern does not satisfy a confirmatory braid rule
#> 6 partial or transient layer pattern does not satisfy a confirmatory braid rule
#> 7 joint-null omnibus test not rejected; equivalence not established
#> n_layers_observed n_positive n_negative n_equivalent n_uncertain
#> 1 3 3 0 0 0
#> 2 3 3 0 0 0
#> 3 3 3 0 0 0
#> 4 3 2 1 0 0
#> 5 3 1 0 0 2
#> 6 3 1 0 0 2
#> 7 3 0 0 0 3
#> omnibus_p_local omnibus_evidence_local trend_slope trend_slope_se
#> 1 9.902563e-09 TRUE -0.01104217 0.10131680
#> 2 1.450000e-10 TRUE -0.39865933 0.10145449
#> 3 3.005512e-11 TRUE 0.37240866 0.11254276
#> 4 2.234444e-23 TRUE -0.93562333 0.10686338
#> 5 5.066534e-10 TRUE -0.58189365 0.09207753
#> 6 3.334804e-12 TRUE 0.59755433 0.09907455
#> 7 2.895447e-01 FALSE -0.12964903 0.08458881
#> trend_conf_low trend_conf_high p_trend_zero p_meaningful_amplification
#> 1 -0.2096195 0.18753511 9.132131e-01 9.440252e-01
#> 2 -0.5975065 -0.19981217 8.514399e-05 1.000000e+00
#> 3 0.1518289 0.59298841 9.361596e-04 2.406523e-02
#> 4 -1.1450717 -0.72617495 2.035213e-18 1.000000e+00
#> 5 -0.7623623 -0.40142501 2.622319e-10 1.000000e+00
#> 6 0.4033718 0.79173688 1.625850e-09 3.130931e-06
#> 7 -0.2954401 0.03614199 1.253505e-01 9.995268e-01
#> p_meaningful_attenuation p_flat_tost trajectory_margin trend_state_local
#> 1 9.148932e-01 0.08510676 0.15 uncertain
#> 2 7.124097e-03 0.99287590 0.15 attenuation
#> 3 9.999983e-01 0.97593477 0.15 amplification
#> 4 9.787955e-14 1.00000000 0.15 not_applicable
#> 5 1.362401e-06 0.99999864 0.15 not_applicable
#> 6 1.000000e+00 0.99999687 0.15 not_applicable
#> 7 5.950624e-01 0.40493763 0.15 not_applicable
#> p_meaningful_amplification_adj p_meaningful_attenuation_adj p_flat_tost_adj
#> 1 1.000000e+00 1.000000e+00 0.5957473
#> 2 1.000000e+00 1.662289e-02 1.0000000
#> 3 8.422831e-02 1.000000e+00 1.0000000
#> 4 1.000000e+00 6.851568e-13 1.0000000
#> 5 1.000000e+00 4.768405e-06 1.0000000
#> 6 2.191651e-05 1.000000e+00 1.0000000
#> 7 1.000000e+00 1.000000e+00 1.0000000
#> trend_state_adjusted covariance_mode_trend uncertainty_mode_pattern
#> 1 uncertain matched_bootstrap concordant_increase
#> 2 attenuation matched_bootstrap attenuation
#> 3 uncertain matched_bootstrap amplification
#> 4 not_applicable matched_bootstrap inversion
#> 5 not_applicable matched_bootstrap buffering
#> 6 not_applicable matched_bootstrap emergence
#> 7 not_applicable matched_bootstrap null_equivalent
#> uncertainty_mode_support deterministic_pattern_support
#> 1 0.852 0.852
#> 2 0.790 0.790
#> 3 0.820 0.820
#> 4 1.000 1.000
#> 5 0.828 NA
#> 6 0.718 NA
#> 7 0.488 NA
#> suggestive_pattern_support pattern_entropy mode_agrees_with_deterministic
#> 1 0.852 0.4635762 TRUE
#> 2 0.790 0.7414827 TRUE
#> 3 0.820 0.4899206 TRUE
#> 4 1.000 0.0000000 TRUE
#> 5 0.828 0.4703161 NA
#> 6 0.718 0.6203956 NA
#> 7 0.488 0.6234601 NA
#> classification_stability
#> 1 direction_high
#> 2 moderate
#> 3 high
#> 4 high
#> 5 unresolved
#> 6 unresolved
#> 7 geometry_lowThe integrated table separates the multivariate all-zero omnibus test from the GLS consensus effect. This is important when opposite layer effects cancel in the consensus.
Robust interval reporting
Version 0.2.2 can display matched subject-bootstrap intervals without
changing the analytic SE/p-value inferential machinery.
fit$effects and fit$integrated retain analytic
interval columns alongside the selected percentile bootstrap intervals,
while fit$effect_intervals and
fit$consensus_intervals contain bootstrap diagnostics. BCa
layer intervals are available for targeted/prefiltered analyses through
bootstrap_effect_intervals(..., method = "bca").
head(fit$effect_intervals)
#> entity omic ci_method conf_level boot_n boot_mean boot_sd
#> 1 concordant_up RNA percentile 0.95 150 1.04352743 0.1900172
#> 2 attenuation RNA percentile 0.95 150 1.26530512 0.1727068
#> 3 amplification RNA percentile 0.95 150 0.48455419 0.1760240
#> 4 inversion RNA percentile 0.95 150 0.84351771 0.1840193
#> 5 buffering RNA percentile 0.95 150 1.01251424 0.1942016
#> 6 emergence RNA percentile 0.95 150 -0.09846206 0.1896144
#> boot_bias conf_low_boot conf_high_boot bca_z0 bca_acceleration
#> 1 0.044394338 0.68596798 1.3999440 NA NA
#> 2 0.010217105 0.90352480 1.5996103 NA NA
#> 3 0.009857210 0.08765197 0.7689709 NA NA
#> 4 -0.044785162 0.52332491 1.2021396 NA NA
#> 5 -0.001251129 0.65890251 1.3911008 NA NA
#> 6 0.001966149 -0.42269332 0.2560018 NA NA
#> bca_prob_low bca_prob_high
#> 1 0.025 0.975
#> 2 0.025 0.975
#> 3 0.025 0.975
#> 4 0.025 0.975
#> 5 0.025 0.975
#> 6 0.025 0.975
head(fit$consensus_intervals)
#> entity ci_method conf_level boot_n boot_mean boot_sd boot_bias
#> 1 concordant_up percentile 0.95 150 1.0225248 0.1526545 0.036575103
#> 2 attenuation percentile 0.95 150 0.8766985 0.1440815 0.015322377
#> 3 amplification percentile 0.95 150 0.9074674 0.1315093 0.019441312
#> 4 inversion percentile 0.95 150 0.2101759 0.1450974 -0.028450368
#> 5 buffering percentile 0.95 150 0.2010555 0.1556106 0.006325826
#> 6 emergence percentile 0.95 150 0.2663238 0.1561983 0.002930297
#> conf_low_boot conf_high_boot
#> 1 0.761730058 1.3096901
#> 2 0.594496249 1.1323254
#> 3 0.646029106 1.1503796
#> 4 -0.064689857 0.4800720
#> 5 -0.121630339 0.4642696
#> 6 0.005799899 0.5779128Ordered GLS trend test
fit$trend reports a covariance-aware slope over the
prespecified omic order. For same-direction layer effects, OmicsBraid
only calls attenuation or amplification when the slope exceeds the
user-specified practical trajectory margin with inferential support.
Otherwise the broader concordant direction can be retained with
pattern_status = "direction_confirmed".
Null-like outcomes
null_equivalent means all observed layers passed
practical-equivalence testing. no_detectable_effect means
the joint-null omnibus test was not rejected, but the data were not
precise enough to establish equivalence. These are different scientific
conclusions.
Interpretation
A significant Q_omics indicates that the effect vector
is poorly summarized by a single common effect after accounting for
estimated sampling covariance. The I2-like index is descriptive and has
no universal low/moderate/high cutoffs in this development version.
Braid order is descriptive/inferential, not causal. A pattern such as
inversion describes supported effects across a prespecified
layer order; it does not prove molecular propagation. Likewise,
suggestive_pattern describes effect geometry when
confirmatory precision is insufficient and must not be reported as a
confirmed result.

