LUCID with Multiple Omics Data
Overview
Implements Latent Unknown Clusters By Integrating Multi-omics Data (LUCID; Peng (2019) doi:10.1093/bioinformatics/btz667) for integrative clustering with exposures, multi-omics data, and health outcomes. Supports three integration strategies: early, parallel, and serial. Provides model fitting and tuning, lasso-type regularization for exposure and omics feature selection, handling of missing data, including both sporadic and complete-case patterns, prediction, and g-computation for estimating causal effects of exposures, bootstrap inference for uncertainty estimation, and S3 summary and plot methods. For the multi-omics integration framework, see Jia (2024) https://journal.r-project.org/articles/RJ-2024-012/RJ-2024-012.pdf. For the missing-data imputation mechanism, see Jia (2024) doi:10.1093/bioadv/vbae123.
A correctness follow-up to 3.2.0, focused on boot_lucid() and summary().
**Bootstrap CIs now align cluster labels.** Each bootstrap replicate is an
independent refit whose latent cluster *k* need not be the point estimate's
cluster *k*. Replicate coefficient vectors were stacked by name/position anyway,
so any coefficient whose canonical cluster ordering was weakly identified -- a
parallel layer with a near-null cluster-to-outcome effect, an upstream serial
stage ordered by a single omics feature -- could get a bimodal or sign-split
interval spanning orders of magnitude. boot_lucid() now permutes every
replicate's clusters to match the reference fit (by posterior-probability
overlap on the resampled subjects) before extracting coefficients, so each
interval brackets its own point estimate. The point estimate (bootstrap$t0)
is unchanged.
Show all changes in 3.2.1Hide the rest of the changes in 3.2.1
**summary() bootstrap CI tables.**
- The exposure/transition (
(3) E) and binary-outcome ((1) Y) CI tables now carry an odds-ratio view --OR,OR_lower,OR_upper=exp()of the coefficient-scale estimate and interval bounds -- alongside the coefficient-scale columns.sigis still computed on the coefficient scale (null = 0). - Headers match the printed scale: the no-CI table says "odds ratio" (an
ORcolumn is shown), the CI table says the columns are coefficients on the log-odds scale with a bootstrap interval. - The
(3) ECI table now shows the intercept and every covariate (CoG) row, so it has the same coefficient rows assummary(fit)without a bootstrap -- previously those rows silently vanished whenboot.sewas supplied. The covariate row is also now shown in the no-CI(3) Etable for the parallel and serial models, matching the early model. f.binary.earlyjoins the bootstrap CI to the point estimate by row name rather than by position.
**Log-likelihood labeling.** The "Finished LUCID ... model: penalized
log-likelihood = X" completion message printed the *unpenalized* observed-data
value; it now says "observed-data log-likelihood". em_control$loglik_trace is
the unpenalized observed-data log-likelihood for every model type (it was the
penalized objective for a penalized early fit), so its last value equals
$likelihood; the penalized objective still drives the internal
convergence/dip check.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-05-10
- WARNING12 OK, 1 WARNING2026-05-09
- OK14 OK2026-03-10
Documentation
- Help pages
- 25
- Examples that run
- 65%11 run in a plain check · 5 only when donttest examples are enabled (R CMD check --as-cran) · 1 never run
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 0%
- LUCID Early Tutorial: Sankey Plot with Balanced Top Omics HTML
- LUCID Serial Tutorial: 6 Consecutive Parallel Stages with Monotone Missingness HTML
- LUCID's Three Model Architectures: Early, Parallel, and Serial -- Binary Outcome (HELIX Example)
- LUCID's Three Model Architectures: Early, Parallel, and Serial -- Continuous Outcome (HELIX Example)
- LUCIDus Comprehensive Guide: Models, APIs, and End-to-End Functionality HTML
Downloads
Dependencies
Installing LUCIDus adds 57 packages (27 with compiled code, 58 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, bslib 5.6 MB.
Code & Tests
Datasets
People & History
Previously maintained by Yinqi Zhao (2.0.0 to 2.2.1) and Cheng Peng (0.9.0 to 1.0.0).
Show 3 peopleHide 3 people
Pick two releases to compare their code metrics.
- 3.2.1Latest
- 3.2.02026-09-01 · diff ↗ ·
removed 7 exports
check_and_stabilize_sigma, check_convergence, fill_data, plot, safe_log_sum_exp, safe_normalize, safe_solveadded 5 exports
get_cluster_assignment, get_selected_G, get_selected_Z, get_top_omics_features, plot_cluster_omic_profile - RR 4.6.0 released · 2026-04-24
- 3.1.02026-03-11 · diff ↗ ·
added 11 exports
analyze_missing_pattern, check_and_stabilize_sigma, check_convergence, check_imputation_quality, check_na, fill_data, safe_impute, safe_log_sum_exp, safe_normalize, safe_solve, summary_lucid - RR 4.5.0 released · 2025-04-11
- 3.0.32024-09-23 · diff ↗
- 3.0.2
- RR 4.4.0 released · 2024-04-24
- 3.0.12023-10-31 · diff ↗ ·
removed 3 exports
boot.lucid, est.lucid, est_lucidadded 2 exports
estimate_lucid, print.sumlucid - RR 4.3.0 released · 2023-04-21
- 2.2.12022-11-08 · diff ↗
- 2.2
- 2.1.5-22022-06-01 · diff ↗
- RR 4.2.0 released · 2022-04-22
- 2.1.5-12022-04-06 · diff ↗
- 2.1.52022-03-28 · diff ↗
Show 9 earlier eventsHide 9 earlier events
- 2.1.42022-03-03 · diff ↗ ·
removed 3 exports
def.control, def.tune, tune.lucidadded 4 exports
lucid, plot_lucid, predict_lucid, summary_lucid - RR 4.1.0 released · 2021-05-18
- 2.1.02020-07-22 · diff ↗
- 2.0.02020-05-18 · diff ↗ ·
removed 10 exports
boot_lucid, def_initial, def_tol, def_tune, est_lucid, plot_lucid, pred_lucid, sem_lucid, summary_lucid, tune_lucidadded 5 exports
boot.lucid, def.control, def.tune, est.lucid, tune.lucid - RR 4.0.0 released · 2020-04-24
- 1.0.0
- RR 3.6.0 released · 2019-04-26
- 0.9.02018-12-21
- RR 3.5.0 released · 2018-04-23
Package metadata
- First published
- 2018-12-21
- Total releases
- 16 / 8 yrs
- License
- MIT + file LICENSE OSI · relicensed from GPL-3 in 3.0.1
- Minimum R
- ≥ 3.6.0
- Bundled data
- 451 KB / 2 files
- Download size
- 2.9 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("LUCIDus")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.