Integrative Bayesian Multiple Regression for Multi-Platform Biomarkers.
IntegMultiReg implements the integrative multi-regression (IMR) model of
Chekouo, Stingo, Doecke and Do (2017, Biometrics) and extends it from
time-to-event outcomes to continuous (Gaussian) and binary (probit) outcomes.
Given several molecular platforms measured on overlapping but partially missing sets of subjects, IMR partitions subjects into the availability subgroups of a Venn diagram, fits one regression per subgroup, and shares information across availability subgroups through
- non-local (product moment) priors on the regression coefficients, and
- a Markov random field (MRF) prior on the variable-selection indicators,
so that no subject with partially observed platforms is discarded and the same biomarkers tend to be selected across availability subgroups.
The package contains C code that links against the GNU Scientific Library (GSL), which must be installed first:
- macOS:
brew install gsl - Debian/Ubuntu:
sudo apt-get install libgsl-dev - Windows: GSL is provided by Rtools.
Once available on CRAN, install the package with:
install.packages("IntegMultiReg")Alternatively, install a local source tarball:
install.packages("IntegMultiReg_0.1.0.tar.gz", repos = NULL, type = "source")The CRAN checking tools checkbashisms and qpdf are not runtime
dependencies. Package users do not need them. Maintainers running
R CMD check --as-cran locally can install them with
brew install checkbashisms qpdf on macOS or
sudo apt-get install devscripts qpdf on Debian/Ubuntu.
library(IntegMultiReg)
data("simIMR")
fit <- imr(
platform_data_list = simIMR$platforms,
outcome = simIMR$outcome.binary,
cov = simIMR$covariates,
type_outcome = "binary",
nu = c(-4, -3, -4),
sample_mcmc = c(2000, 1000),
ssize = 30,
seed = 1
)
fit # short summary
summary(fit) # selected biomarkers per platform
coef(fit) # per-platform mPIP matrices
plot(fit, type = "selection")
plot_top_features(fit) # ranked biomarker bar chart
predict(fit, newdata = simIMR$platforms[1:2], covariates = simIMR$covariates)
cv_imr(fit) # fold-split predictive assessment using fitted sampleskircIMR is a reduced public UCSC Xena TCGA-KIRC survival example aligned with
the Biometrics kidney cancer case study: mRNA expression, miRNA expression, DNA
methylation, clinical covariates and right-censored survival. It is derived
from public UCSC Xena TCGA-KIRC sampleMap files, not from controlled-access
TCGA/GDC files, and contains only a reduced Cox-screened feature panel.
The package replaces TCGA barcodes with package-internal IDs such as KIRC001
and does not distribute a barcode mapping. Users should not attempt
participant re-identification or linkage to external resources.
data("kircIMR")
sapply(kircIMR$platforms, dim)
kircIMR$model_subgroup_sizes
kirc_fit <- imr(
kircIMR$platforms,
kircIMR$outcome.survival,
cov = kircIMR$covariates,
type_outcome = "right.censored",
nu = c(-4, -3, -4),
sample_mcmc = c(4000, 1000),
ssize = 30,
seed = 1
)See the package vignette vignette("IntegMultiReg") for a complete walk-through.
Chekouo T, Stingo FC, Doecke JD, Do K-A (2017). "A Bayesian Integrative Approach for Multi-Platform Genomic Data: A Kidney Cancer Case Study." Biometrics, 73(2), 615–624. https://doi.org/10.1111/biom.12587
When using kircIMR, please also acknowledge TCGA, the National Cancer
Institute Genomic Data Commons, and UCSC Xena as the public data sources.