The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Quantum Toxic Burden Index (QTBI) — encode correlated environmental exposures into a single, reproducible mixture burden score using a fixed quantum-inspired circuit.
QTBI is designed for environmental mixture epidemiology: you specify the exposure panel and (optionally) external potency benchmarks before outcome modeling. The encoder does not reweight components from the disease outcome.
| Step | What QTBI does |
|---|---|
| 1. Normalize | Each exposure becomes a within-cohort percentile on
[0, 1] |
| 2. Encode | Percentiles pass through a fixed entanglement circuit controlled by
synergy s |
| 3. Read out | Marginal toxic probabilities sum to one scalar QTBI on
[0, n] |
| 4. Analyze | Use the scalar in standard regression (logistic, linear, etc.) |
Optional potency-weighted readout applies external
oral reference doses at the final step only, with automatic rescaling so
weighted QTBI stays on the same [0, n] scale as the
unweighted index.
install.packages("qtbi") # after CRAN acceptance
# or:
# install.packages("remotes")
remotes::install_github("january-msemakweli/qtbi")From a local clone of this repository:
install.packages(".", repos = NULL, type = "source")Requirements: R (>= 4.1.0). No compiled code. No non-base runtime dependencies.
library(qtbi)
# Example exposure data (complete cases only)
df <- data.frame(
LBXBPB = c(0.8, 1.2, 2.1, 0.9), # blood lead
URXIAS = c(3.5, 8.2, 4.1, 12.0), # urinary inorganic As + metabolites
LBXBCD = c(0.2, 0.4, 0.3, 0.6), # blood cadmium
LBXTHG = c(0.5, 1.1, 2.0, 0.7) # blood mercury
)
# Unweighted QTBI (equal readout weights)
processed <- estimate_qtbi(
df,
chemicals = c("LBXBPB", "URXIAS", "LBXBCD", "LBXTHG"),
exposure_names = c("Pb", "As", "Cd", "Hg"),
synergy_strength = 0.6
)
processed$qtbi
diagnose_qtbi(processed)Supply oral reference doses in mg/kg/day (one per
exposure). The package derives potency ratios, rescales weights to sum
to n, and applies them at readout only.
ref <- c(
Pb = 6.3e-4, # external benchmark (mg/kg/day)
As = 6.0e-5,
Cd = 5.0e-4,
Hg = 1.0e-4
)
weighted <- estimate_qtbi(
df,
chemicals = c("LBXBPB", "URXIAS", "LBXBCD", "LBXTHG"),
exposure_names = c("Pb", "As", "Cd", "Hg"),
synergy_strength = 0.6,
reference_doses = ref,
reference_index = "Pb"
)
qtbi_meta(weighted)$potency_weightsInspect weights explicitly:
raw <- potency_weights_from_reference_doses(ref, c("Pb", "As", "Cd", "Hg"), "Pb")
normalize_potency_weights(raw)Important: align each biomarker with the chemical form used in its benchmark, and review absolute cohort distributions before applying potency weights. A high regulatory weight on a background-level exposure can dominate the index.
library(qtbi)
# 1. Prepare a complete-case analytic frame (no missing exposures)
# 2. Choose panel members (known/suspected toxicants, same direction)
# 3. Encode unweighted and (optionally) potency-weighted QTBI
processed_unw <- estimate_qtbi(
df,
chemicals = exposure_cols,
exposure_names = metal_names,
synergy_strength = 0.6
)
processed_wgt <- estimate_qtbi(
df,
chemicals = exposure_cols,
exposure_names = metal_names,
synergy_strength = 0.6,
reference_doses = reference_doses,
reference_index = "Pb"
)
# 4. Encoder diagnostics (exposure-only; no outcome)
diagnose_qtbi(processed_unw)
synergy_sensitivity(processed_unw, synergy_grid = seq(0, 1, by = 0.1))
# 5. Outcome modeling with standard tools
# glm(ckd ~ qtbi + covariates, data = processed_unw, family = binomial())diagnose_qtbi()
/ synergy_sensitivity() over s ∈ [0, 1]
without the outcome.| Function | Purpose |
|---|---|
estimate_qtbi() |
Percentile encoding + index computation |
diagnose_qtbi() |
Synergy sensitivity and monotonicity checks |
potency_weights_from_reference_doses() |
Raw potency ratios from oral benchmarks |
normalize_potency_weights() |
Rescale weights to the unweighted [0, n] scale |
qtbi_meta() |
Chemicals, synergy, weights, column names |
qtbi_help() |
Interactive help index |
Advanced exports include build_statevector(),
qtbi_from_pcts(), and
synergy_diagnostics().
qtbi/
├── R/ # Package source
├── man/ # Documentation
├── tests/ # testthat suite
├── DESCRIPTION
├── NAMESPACE
├── NEWS.md
├── LICENSE
└── README.md
See the illustration/ folder in the GitHub repository
for a minimal NHANES metal mixture example.
R CMD build .
R CMD check qtbi_0.1.2.tar.gz --as-cran --no-manualRun tests in R:
testthat::test_local()If you use this package, please cite the methods specification and this software:
Msemakweli JG (2026). The Quantum Toxic Burden Index: Mathematical Specification.
Zenodo. https://doi.org/10.5281/zenodo.20476574
Msemakweli JG (2026). qtbi: Quantum Toxic Burden Index. R package version 0.1.2.
https://github.com/january-msemakweli/qtbi
MIT © January G. Msemakweli
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.