MCMCScreen
Uncertainty-aware drug candidate screening via Bayesian MCMC with permanent Arweave archiving.
MCMCScreen applies Bayesian Markov Chain Monte Carlo (MCMC) inference to dose-response data, quantifies prediction uncertainty for each drug candidate, and permanently archives screening results on the Arweave decentralized network.
Why MCMCScreen?
AI-driven drug discovery pipelines generate thousands of candidate molecules — but most tools report point estimates without uncertainty. MCMCScreen addresses this gap by:
- Fitting a Bayesian Hill equation model to dose-response data via MCMC
- Ranking candidates by posterior IC50 estimates
- Flagging unreliable predictions (high uncertainty CV)
- Archiving all results permanently on Arweave (immutable, verifiable)
Installation
pip install mcmcscreen
Quick Start
from mcmcscreen import MCMCScreener, ArweaveUploader
# Define candidates
candidates = [
{
"id": "compound_A",
"concentrations": [0.1, 0.3, 1.0, 3.0, 10.0, 30.0],
"responses": [2, 8, 25, 55, 80, 92],
},
{
"id": "compound_B",
"concentrations": [0.1, 0.3, 1.0, 3.0, 10.0, 30.0],
"responses": [1, 3, 10, 30, 60, 85],
},
]
# Screen and rank
screener = MCMCScreener(n_samples=1000, n_chains=2, random_seed=42)
ranked = screener.screen(candidates)
for r in ranked:
print(f"{r['compound_id']}: IC50={r['ic50_mean']:.2f} uM, reliable={r['reliable']}")
# Archive to Arweave
screener.fit(
candidates[0]["concentrations"],
candidates[0]["responses"],
compound_id="compound_A"
)
manifest = screener.to_manifest()
uploader = ArweaveUploader() # mock mode without wallet
result = uploader.upload(manifest)
print(result)
Features
- Bayesian Hill equation dose-response modeling (PyMC 5)
- Posterior IC50 estimation with HDI (highest density interval)
- Uncertainty coefficient of variation (CV) flagging
- Multi-candidate ranking
- Arweave permanent archiving (mock mode available)
- Fully reproducible (fixed random seed)
Citation
If you use MCMCScreen, please cite:
Kim, D. (2026). MCMCScreen: Uncertainty-aware drug candidate screening via Bayesian MCMC with permanent Arweave archiving. Promptgenix LLC.
License
MIT License. Copyright (c) 2026 Dohoon Kim, Promptgenix LLC.
Metadata
Release files for mcmcscreen 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcmcscreen-0.1.0.tar.gz | 5.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcmcscreen-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / mcmcscreen-0.1.0.tar.gz
| Download URL | mcmcscreen-0.1.0.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c0b5af3664fc13648b4251c7338c8fde3a6fd73345c32588ef6c63f78097653
|
|
BLAKE2b-256 checksum How to use checksums |
00f9384f6f4004bf0f8d968d3fb09ed6697de6c6de0c99174749d0c0f9d1a766
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / mcmcscreen-0.1.0-py3-none-any.whl
| Download URL | mcmcscreen-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3bfaac3ddcb3fe2c6edda6e64105121bc3652cc3c0f90527ae2995fe2023e356
|
|
BLAKE2b-256 checksum How to use checksums |
beae07c4ef58c10d365693feed2a5fa028054fe96b2cc06af5e2c97c776b7757
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|