Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcmcscreen-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcmcscreen-0.1.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

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

Hashes for mcmcscreen-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1c0b5af3664fc13648b4251c7338c8fde3a6fd73345c32588ef6c63f78097653
MD5 0cd82cf2bfa2547dee787861c0006d1d
BLAKE2b-256 00f9384f6f4004bf0f8d968d3fb09ed6697de6c6de0c99174749d0c0f9d1a766

See more details on using hashes here.

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

Hashes for mcmcscreen-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3bfaac3ddcb3fe2c6edda6e64105121bc3652cc3c0f90527ae2995fe2023e356
MD5 2f1661a504ac586902cc994b418484d7
BLAKE2b-256 beae07c4ef58c10d365693feed2a5fa028054fe96b2cc06af5e2c97c776b7757

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page