Package: DeCovarT 2.3.1

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 isometric log-ratio reparametrisation (Helmert basis) 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.3.1.tar.gz
DeCovarT_2.3.1.zip(r-4.7-any)DeCovarT_2.3.1.zip(r-4.6-any)DeCovarT_2.3.1.zip(r-4.5-any)
DeCovarT_2.3.1.tgz(r-4.6-any)DeCovarT_2.3.1.tgz(r-4.5-any)
DeCovarT_2.3.1.tar.gz(r-4.7-any)DeCovarT_2.3.1.tar.gz(r-4.6-any)
DeCovarT_2.3.1.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.88 score 1 stars 21 scripts 83 exports 40 dependencies

Last updated from:5245f2cf91. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK250
source / vignettesOK293
linux-releaseOK243
macos-releaseOK311
macos-oldrelOK350
windows-develOK253
windows-releaseOK182
windows-oldrelOK185
wasm-releaseOK160

Exports:.compute_global_variance.inner_product.jeffreys_gaussian.sigma_p_factorisationadditive_log_ratioadditive_logisticalgorithm_similarityassign_iid_signed_weightsbootstrap_decovartboundary_diagnosticsbuild_covariance_array_from_precisionbuild_normalised_precisioncheck_true_thetachi_bar_square_pvaluecomposition_from_entropycompute_average_jeffreyscompute_average_overlapcompute_average_riemanniancompute_benchmark_metricscompute_glmnet_gene_scorescompute_mean_profile_objectivescompute_shannon_entropyconfint_profile_decovartcovariance_structure_from_graph_modelcoverage_mc_intervaldeconvolute_ratiosdeconvolute_ratios_cibersortdeconvolute_ratios_deconrnaseqdeconvolute_ratios_glsdeconvolute_ratios_gradient_descentdeconvolute_ratios_L_BFGS_Bdeconvolute_ratios_Marquardt_Levenbergdeconvolute_ratios_Newton_Raphsondeconvolute_ratios_nnlsdeconvolute_ratios_rlmdeconvolute_ratios_simulated_annealingdescribe_simulation_scenarioequicorrelation_gramequivariance_check_decovartexpected_fisher_unconstrainedfit_decovartfixed_gls_covariancegenerate_mean_signature_matrixgenerate_random_network_skeletongradient_loglik_constrainedgradient_loglik_unconstrainedhelmert_basishessian_additive_logistichessian_isometric_logistichessian_loglik_constrainedhessian_loglik_unconstrainedisometric_log_ratioisometric_logisticjacobian_additive_logisticjacobian_isometric_logisticloglik_multivariateloglik_multivariate_constrainedlrt_decovartmultistart_decovartnew_decovart_covarianceoverlap_gaussian_mcpivot_mc_estimatesplot_algorithm_similarityplot_correlation_Heatmapplot_mc_forestplot_mc_metric_dotsplot_mc_raincloudprofile_loglik_decovartreference_bootstrap_decovartrepair_simplexrestricted_mle_decovartrun_simulation_benchmarkscale_covariance_arraysigma_logdetsigma_quadformsigma_solvesigma_trace_precision_timessimulate_bulk_mixturesimulate_hierarchical_grn_momentsspd_affine_invariant_distancestarting_simplextheme_decovart_facetsvcov_ilr_delta

Dependencies:clicodetoolscpp11doParalleldplyrfarverforeachgenericsggplot2gluegtableisobanditeratorslabelinglatticelifecyclemagrittrmarqLevAlgMASSMatrixpillarpkgconfigpurrrR6rbibutilsRColorBrewerRdpackrlangS7scalesstringistringrtensortibbletidyrtidyselectutf8vctrsviridisLitewithr

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{\Omega}(\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}) | \tfrac{1}{2}\log\det\boldsymbol{\Omega}(\boldsymbol{p}) | The determinant term carries a factor $\tfrac{1}{2}$ | 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}) | Isometric log-ratio map | $$\boldsymbol | \mathbf | \mathbf | \operatorname{softmax}(\mathbf{V}\boldsymbol{\rho}) | ILR is a $C^{2}$ diffeomorphism | Why ILR is the default chart | Efficient derivatives of $\boldsymbol | $$\mathbf{J}_{\boldsymbol{\psi}}(\boldsymbol{\rho}) | \frac | $$\mathbf | Change of variables: ambient $\boldsymbol | Constrained score and Hessian | $$\nabla_{\boldsymbol{\rho}}\ell | \mathbf{J}{\boldsymbol{\psi}}^{\mathsf{T}}\nabla{\boldsymbol{p}}\ell | $$\mathbf | Implementation map | Expected Fisher information and Wald inference | Unconstrained expected Fisher information | $$I(\boldsymbol | Observed versus expected information | Constrained case: ILR delta method | $$I_ | \mathbf | Wald is the cheapest, not the safest, interval | 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 | Model objects and S3 accessors | Numerical consistency of the likelihood and its derivatives | Density against mvtnorm | Richardson extrapolation of the score and Hessian | Expected information versus Monte Carlo (\mathbb{E}[-\mathbf{H}]) | Structure-aware covariance backends | Decision tree | Computational complexity | Appendix: additive log-ratio chart | $$p_ | \frac | \frac | Why ALR is not the default | Structural zeros and folded simplex models | References

Last update: 2026-09-28
Started: 2026-09-04

§2.1 Bivariate toy model
Generative model | Factorial design (972 scenarios) | Scenario ID | Log-likelihood along the simplex | Inference | Visualisations | Other one-sample log-likelihood slices (not drawn) | Likelihood geometry and solver behaviour | What is being optimised | One bulk, $N=1$ | Reading the twelve meta-scenarios | What the heatmaps still add | See also | References

Last update: 2026-09-24
Started: 2026-09-04

Readme and manuals

Help Manual

Help pageTopics
Additive logistic transform (unconstrained coordinates to the simplex)additive_logistic additive_log_ratio
Algorithm-similarity correlation from a Monte Carlo benchmarkalgorithm_similarity
Parametric bootstrap for DeCovarT proportions and boundary testsbootstrap_decovart
Validate generative-model parameters thetacheck_true_theta
Chi-bar-square tail probability for boundary likelihood-ratio testschi_bar_square_pvalue
One-dominant composition with a target normalised Shannon entropycomposition_from_entropy
Average pairwise Jeffreys divergence of a Gaussian mixturecompute_average_jeffreys
Average pairwise overlap of a Gaussian mixturecompute_average_overlap
Mean pairwise AIRM distance of component covariancescompute_average_riemannian
Compute deconvolution benchmark metricscompute_benchmark_metrics
Gene scores from multinomial elastic-net cell-type classificationcompute_glmnet_gene_scores
Normalised Shannon entropy of a discrete distributioncompute_shannon_entropy
Profile-likelihood confidence intervals for cellular ratiosconfint_profile_decovart
Monte Carlo interval for an empirical coverage probabilitycoverage_mc_interval
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_L_BFGS_B deconvolute_ratios_Marquardt_Levenberg deconvolute_ratios_Newton_Raphson deconvolute_ratios_nnls deconvolute_ratios_rlm deconvolute_ratios_simulated_annealing
Generalised least squares with a fixed residual covariancedeconvolute_ratios_gls
Describe a Gaussian-convolution simulation scenariodescribe_simulation_scenario
Equicorrelation (constant-correlation) Gram matrixequicorrelation_gram
Expected Fisher information of unconstrained \boldsymbol{p}expected_fisher_unconstrained
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
Fixed residual covariance for a GLS competitorfixed_gls_covariance
Generate mean profiles from a target Gram matrixgenerate_mean_signature_matrix
Helmert contrast matrix for isometric log-ratio coordinateshelmert_basis
Hessian tensor of the isometric logistic maphessian_isometric_logistic
Isometric logistic transform (ILR coordinates to the simplex)isometric_logistic isometric_log_ratio
Jacobian of the isometric logistic mapjacobian_isometric_logistic
Likelihood-ratio test for cellular ratioslrt_decovart
Refit DeCovarT from several random starts to probe multimodalitymultistart_decovart
MixSim-style pairwise overlap via stratified Sobol Monte Carlooverlap_gaussian_mc
Pivot Monte Carlo proportion estimates to a long tablepivot_mc_estimates
Tile heatmap of algorithm-similarity correlationsplot_algorithm_similarity
Plot deconvolution metric heatmapsplot_correlation_Heatmap
Forest plot of ADEMP Monte Carlo summariesplot_mc_forest
Faceted dot plot of several ADEMP metricsplot_mc_metric_dots
Horizontal raincloud of Monte Carlo proportion estimatesplot_mc_raincloud
Reference-based bootstrap for signature and composition uncertaintyreference_bootstrap_decovart
Repair a numeric vector onto the unit simplexrepair_simplex
Simulate bulk mixtures and benchmark deconvolution algorithmsrun_simulation_benchmark
Scale component covariances, keeping precision zerosscale_covariance_array
Simulate bulk mixtures from a multivariate Gaussian convolutionsimulate_bulk_mixture
Simulate GRN first- and second-order momentssimulate_hierarchical_grn_moments
Affine-invariant Riemannian (AIRM) distance between two SPD matricesspd_affine_invariant_distance
Open-simplex start for ILR solversstarting_simplex
Faceted ggplot2 theme (black strips, panel border)theme_decovart_facets
Cramer-Rao / ILR delta-method covariance of \hat{\boldsymbol{p}}vcov_ilr_delta