Package: DeCovarT 2.2.3

DeCovarT: Covariance-Aware Deconvolution of Bulk Transcriptomic Samples

Estimates cell-type proportions in bulk transcriptomic samples with a probabilistic convolution model that integrates the gene-gene covariance structure of purified reference profiles. Cellular ratios are recovered by maximum likelihood under a multivariate Gaussian convolution, using analytic gradients and Hessians, an additive log-ratio reparametrisation that enforces the simplex constraint, and Marquardt-Levenberg or Newton-type optimisers. The methodology is described in Chassagnol, Nuel and Becht (2023) <doi:10.48550/arXiv.2309.09557>.

Authors:Bastien Chassagnol [aut, cre, cph]

DeCovarT_2.2.3.tar.gz
DeCovarT_2.2.3.zip(r-4.7-any)DeCovarT_2.2.3.zip(r-4.6-any)DeCovarT_2.2.3.zip(r-4.5-any)
DeCovarT_2.2.3.tgz(r-4.6-any)DeCovarT_2.2.3.tgz(r-4.5-any)
DeCovarT_2.2.3.tar.gz(r-4.7-any)DeCovarT_2.2.3.tar.gz(r-4.6-any)
DeCovarT_2.2.3.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
DeCovarT/json (API)

# Install 'DeCovarT' in R:
install.packages('DeCovarT', repos = c('https://bastienchassagnol.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/bastienchassagnol/decovart/issues

Pkgdown/docs site:https://bastienchassagnol.github.io

On CRAN:

Conda:

quarto

4.41 score 1 stars 6 scripts 46 exports 46 dependencies

Last updated from:59a6d880c2. Checks:7 NOTE, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develNOTE238
source / vignettesOK266
linux-releaseNOTE165
macos-releaseNOTE187
macos-oldrelNOTE168
windows-develNOTE135
windows-releaseNOTE139
windows-oldrelNOTE136
wasm-releaseOK150

Exports:.compute_global_variance.inner_product.jeffreys_gaussian.map_gaussian_convolution.sigma_p_factorisationadditive_log_ratioadditive_logisticassign_iid_signed_weightsbenchmark_bivariate_gaussian_convolutionsbuild_covariance_array_from_precisionbuild_normalised_precisioncheck_true_thetacompute_average_jeffreyscompute_average_overlapcompute_benchmark_metricscompute_glmnet_gene_scorescompute_mean_profile_objectivescompute_shannon_entropydeconvolute_ratiosdeconvolute_ratios_cibersortdeconvolute_ratios_deconrnaseqdeconvolute_ratios_gradient_descentdeconvolute_ratios_L_BFGS_Bdeconvolute_ratios_lsfitdeconvolute_ratios_Marquardt_Levenbergdeconvolute_ratios_Newton_Raphsondeconvolute_ratios_nnlsdeconvolute_ratios_rlmdeconvolute_ratios_simulated_annealingexpected_fisher_unconstrainedfit_decovartgenerate_mean_signature_matrixgenerate_random_network_skeletongradient_loglik_constrainedgradient_loglik_unconstrainedhessian_additive_logistichessian_loglik_constrainedhessian_loglik_unconstrainedjacobian_additive_logisticloglik_multivariateloglik_multivariate_constrainedplot_correlation_Heatmaprepair_simplexsimulate_bulk_mixturesimulate_hierarchical_grn_momentsvcov_alr_delta

Dependencies:classclicodetoolscpp11doParalleldplyre1071foreachgenericsglmnetglueigraphiteratorslatticelifecyclelimSolvelpSolvemagrittrmarqLevAlgMASSMatrixMetricsMixSimnnlspillarpkgconfigproxypurrrquadprogR6rbibutilsRcppRcppEigenRdpackrlangshapestringistringrsurvivaltensortibbletidyrtidyselectutf8vctrswithr

Deconvolution use cases with DeCovarT
Bivariate toy model: when covariance hurts mean-only deconvolution | Generative design | How to run it | High-dimensional hybrid scenario and deconvolution | Gene and cell-type design | $$\underbrace{\mathcal{G}{12}}{30\text{ genes}}\ \cup\underbrace{\mathcal{G}{3}}{10\text{ genes}}\ \cup\underbrace{\mathcal{G}{\mathrm{eq}}}{10\text{ genes}},\qquad\boldsymbol{\Omega}_j | Deconvolution on imbalanced mixtures | Related literature | References

Last update: 2026-08-26
Started: 2026-04-23

Derivatives of the DeCovarT generative model under simplex transforms
Notation | Matrix calculus reminders | First-order matrix calculus | $$\begin{aligned}\frac{\partial\det(\boldsymbol{A})}{\partial p}&=\det(\boldsymbol{A}),\mathrm{tr}!\left(\boldsymbol{A}^{-1}\frac{\partial\boldsymbol{A}}{\partial p}\right),\\frac{\partial(\boldsymbol{U}\boldsymbol{A}\boldsymbol{V})}{\partial p}&=\boldsymbol{U}\frac{\partial\boldsymbol{A}}{\partial p}\boldsymbol{V},\\frac{\partial\boldsymbol{A}^{-1}}{\partial p}&= | $$\frac | \mathrm | $$\frac{\partial}{\partial p}\bigl((\boldsymbol{y}-\boldsymbol{x}p)^{\top}\boldsymbol{\Theta}(\boldsymbol{y}-\boldsymbol{x}p)\bigr) | Second-order matrix calculus | $$\frac | \boldsymbol | $$\frac | Inner products in the score | Unconstrained score and Hessian | $$\ell_{\boldsymbol{y}\mid\boldsymbol{\zeta}}(\boldsymbol{p}) | \log\det\boldsymbol{\Theta}(\boldsymbol{p}) | What “unconstrained” means here | Unconstrained gradient | Unconstrained Hessian | $$\begin | \underbrace | \boldsymbol | $$\begin | \underbrace | \boldsymbol | Constrained optimisation on the simplex | Log-sum-exp and softmax | $$s_ | \frac | e^{z_{i}-\operatorname{LSE}(\boldsymbol{z})},\qquad\operatorname{LSE}(\boldsymbol{z}) | $$H_ | s_{i}\bigl[(\delta_{ij}-s_{j})(\delta_{ik}-s_{k}) | Additive log-ratio map | $$p_ | \frac | \frac | ALR is a $C^{2}$ diffeomorphism | Efficient derivatives of $\boldsymbol | $$\frac | Change of variables: ambient $\boldsymbol | Constrained score and Hessian | $$\frac | Implementation map | Expected Fisher information and Wald inference | Unconstrained expected Fisher information | $$I(\boldsymbol | Observed versus expected information | Constrained case: ALR delta method | $$I_ | Numerical speed-ups and solver safeguards | Cache a Cholesky factorisation of $\boldsymbol{\Sigma}(\boldsymbol{p})$ | Guard the box-constrained L-BFGS-B path | marqLevAlg Hessian sign under minimize = FALSE | marqLevAlg(minimize = FALSE) does not flip hess | References

Last update: 2026-08-26
Started: 2026-08-26

Readme and manuals

Help Manual

Help pageTopics
Additive logistic transform (unconstrained coordinates to the simplex)additive_logistic additive_log_ratio
Benchmark bivariate Gaussian convolutionsbenchmark_bivariate_gaussian_convolutions
Validate generative-model parameters thetacheck_true_theta
Average pairwise Jeffreys divergence of a Gaussian mixturecompute_average_jeffreys
Average pairwise overlap of a Gaussian mixturecompute_average_overlap
Compute summary metrics for estimated proportionscompute_benchmark_metrics
Gene scores from multinomial elastic-net cell-type classificationcompute_glmnet_gene_scores
Normalised Shannon entropy of a discrete distributioncompute_shannon_entropy
Parallel deconvolution of a bulk expression matrixdeconvolute_ratios
DeCovarT MLE of cellular proportions for one bulk sampledeconvolute_ratios_cibersort deconvolute_ratios_deconrnaseq deconvolute_ratios_gradient_descent deconvolute_ratios_lsfit deconvolute_ratios_L_BFGS_B deconvolute_ratios_Marquardt_Levenberg deconvolute_ratios_Newton_Raphson deconvolute_ratios_nnls deconvolute_ratios_rlm deconvolute_ratios_simulated_annealing
Fit the DeCovarT Gaussian-convolution modelcoef.decovart_fit confint.decovart_fit fitted.decovart_fit fit_decovart nobs.decovart_fit plot.decovart_fit print.decovart_fit print.summary.decovart_fit residuals.decovart_fit summary.decovart_fit vcov.decovart_fit
Generate mean profiles with a target pairwise cosinegenerate_mean_signature_matrix
Plot deconvolution metric heatmapsplot_correlation_Heatmap
Repair a numeric vector onto the unit simplexrepair_simplex
Simulate bulk mixtures from a multivariate Gaussian convolutionsimulate_bulk_mixture
Simulate GRN first- and second-order momentssimulate_hierarchical_grn_moments