Uncertainty-aware drug candidate screening via Bayesian MCMC with permanent Arweave archiving
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcmcscreen-0.1.0.tar.gz.
File metadata
- Download URL: mcmcscreen-0.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c0b5af3664fc13648b4251c7338c8fde3a6fd73345c32588ef6c63f78097653
|
|
| MD5 |
0cd82cf2bfa2547dee787861c0006d1d
|
|
| BLAKE2b-256 |
00f9384f6f4004bf0f8d968d3fb09ed6697de6c6de0c99174749d0c0f9d1a766
|
File details
Details for the file mcmcscreen-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mcmcscreen-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bfaac3ddcb3fe2c6edda6e64105121bc3652cc3c0f90527ae2995fe2023e356
|
|
| MD5 |
2f1661a504ac586902cc994b418484d7
|
|
| BLAKE2b-256 |
beae07c4ef58c10d365693feed2a5fa028054fe96b2cc06af5e2c97c776b7757
|