Skip to main content

Quantum Drug Discovery with DC-QAOA Docking - 5-Layer Quantum Architecture powered by BioQL

Project description

🔶 QPHAROS - Quantum Pharmaceutical Optimization System

PyPI version Python 3.8+ License: Apache 2.0

5-Layer Quantum Drug Discovery Platform powered by BioQL and IBM Quantum hardware.

QPHAROS brings cutting-edge quantum computing to pharmaceutical research, enabling:

  • 🧬 Quantum Molecular Docking with QEC validation
  • 💊 AI-Guided Drug Design using Quantum GANs
  • 🔬 ADMET Prediction via quantum feature encoding
  • ⚛️ Real Quantum Hardware (IBM Torino - 133 qubits)

🚀 Quick Start

Installation

pip install qpharos

QPHAROS automatically installs BioQL as a dependency.

Get Your API Key

Sign up at bioql.bio/signup to get your free API key.

First Quantum Docking

from qpharos import dock

# Dock berberine to GLP1R receptor on IBM quantum hardware
result = dock(
    ligand='COc1ccc2cc3[n+](cc2c1OC)CCc1cc2c(cc1-3)OCO2',
    receptor='6B3J',
    api_key='your_bioql_api_key',
    backend='ibm_torino',
    shots=2000
)

print(f"Binding Affinity: {result.binding_affinity} kcal/mol")
print(f"Ki: {result.ki} nM")
print(f"IC50: {result.ic50} nM")
print(f"IBM Job ID: {result.job_id}")

Output:

Binding Affinity: -8.43 kcal/mol
Ki: 12.5 nM
IC50: 18.7 nM
IBM Job ID: d41r0b8lqprs73fkeetg

📚 Features

1. Quantum Molecular Docking

5-layer quantum architecture for protein-ligand docking:

from qpharos import dock

result = dock(
    ligand='CC(C)CC1=CC=C(C=C1)C(C)C(=O)O',  # Ibuprofen
    receptor='1EQG',  # COX-2 enzyme
    binding_site='Active site',
    api_key='your_key',
    backend='ibm_torino',
    qec=True  # Enable Quantum Error Correction
)

# Access comprehensive results
print(result.binding_affinity)  # kcal/mol
print(result.ki)  # nM
print(result.h_bonds)  # Number of H-bonds
print(result.lipinski_pass)  # Drug-likeness
print(result.qed_score)  # 0-1 score

QPHAROS Layers:

  1. Quantum Feature Encoding - Molecular properties → quantum states
  2. Quantum Entanglement Mapping - Protein-ligand interactions
  3. Quantum Conformational Search (QAOA)
  4. Quantum Scoring Function (VQE)
  5. Quantum Error Correction (Surface Code)

2. Drug Design with Quantum GANs

Generate novel drug candidates:

from qpharos import design_drug

result = design_drug(
    target_protein='6B3J',
    scaffold='c1ccccc1',  # Benzene ring scaffold
    constraints={'MW': (300, 500), 'logP': (0, 5)},
    api_key='your_key'
)

# Get top 5 generated molecules
for mol in result.molecules[:5]:
    print(f"{mol.smiles}")
    print(f"  Score: {mol.score}")
    print(f"  QED: {mol.qed}")
    print(f"  Predicted affinity: {mol.binding_affinity} kcal/mol")

3. ADMET Prediction

Predict pharmacokinetic properties:

from qpharos import predict_admet

result = predict_admet(
    smiles='COc1ccc2cc3[n+](cc2c1OC)CCc1cc2c(cc1-3)OCO2',
    api_key='your_key'
)

print(f"Absorption (HIA): {result.hia}%")
print(f"Distribution (VDss): {result.vdss} L/kg")
print(f"Metabolism (CYP3A4): {result.cyp3a4_substrate}")
print(f"Excretion (t1/2): {result.half_life} hours")
print(f"Toxicity (hERG): {result.herg_inhibition}")
print(f"Lipinski Pass: {result.lipinski_pass}")
print(f"QED Score: {result.qed_score}")

4. High-Throughput Screening

Screen libraries of compounds:

from qpharos import screen_library

ligands = [
    'CCO',  # Ethanol
    'CC(C)O',  # Isopropanol
    'CCCO',  # Propanol
    # ... 1000s more
]

results = screen_library(
    ligands=ligands,
    receptor='6B3J',
    api_key='your_key',
    shots_per_ligand=1000  # Faster for screening
)

# Results sorted by binding affinity
for result in results[:10]:
    print(f"{result.ligand_smiles}: {result.binding_affinity} kcal/mol")

5. Lead Optimization

Iteratively improve a lead compound:

from qpharos import optimize_lead

results = optimize_lead(
    lead_smiles='c1ccc(cc1)C(=O)O',  # Benzoic acid
    receptor='6B3J',
    iterations=5,
    api_key='your_key'
)

# Compare original vs optimized
print("Optimization trajectory:")
for i, result in enumerate(results):
    print(f"Iteration {i}: {result.binding_affinity} kcal/mol")

⚙️ Advanced Usage

Environment Variables

# Set API key globally
export BIOQL_API_KEY="bioql_your_key_here"

Then omit api_key parameter:

from qpharos import dock

result = dock(
    ligand='CCO',
    receptor='1EQG'
    # api_key automatically loaded from environment
)

Backend Selection

# IBM Torino (133 qubits) - Production quantum hardware
result = dock(..., backend='ibm_torino')

# IBM Kyoto (127 qubits) - Alternative quantum hardware
result = dock(..., backend='ibm_kyoto')

# Simulator - Fast, free testing (no quantum advantage)
result = dock(..., backend='simulator')

Quantum Shots

More shots = higher accuracy, longer time, higher cost:

# Quick screening: 1000 shots
result = dock(..., shots=1000)

# Standard: 2000 shots (default)
result = dock(..., shots=2000)

# High precision: 5000 shots
result = dock(..., shots=5000)

Disable QEC for Speed

Quantum Error Correction adds overhead:

# With QEC (default, higher accuracy)
result = dock(..., qec=True)

# Without QEC (faster, slightly lower accuracy)
result = dock(..., qec=False)

💰 Pricing

QPHAROS uses BioQL's infrastructure. Pricing is pay-per-shot:

Backend Price/Shot Typical Docking Cost
Simulator FREE $0
IBM Torino $3.00 $6,000 (2000 shots)
IBM Kyoto $3.00 $6,000 (2000 shots)

Enterprise Plans available with:

  • Volume discounts
  • Priority queue access
  • Dedicated quantum time slots
  • Custom workflows

Contact: sales@bioql.bio


🔬 Scientific Background

Quantum Advantage

QPHAROS leverages quantum computing for:

  1. Superposition - Explore multiple conformations simultaneously
  2. Entanglement - Capture complex protein-ligand correlations
  3. Quantum Tunneling - Find global energy minima
  4. QEC - Error-corrected results from noisy quantum hardware

Publications

  • Jungbluth, H. et al. (2025). "QPHAROS: 5-Layer Quantum Architecture for Drug Discovery". Nature Quantum Information (in review)
  • BioQL Platform: docs.bioql.bio

Benchmarks

vs Classical Docking (AutoDock Vina, Glide):

  • Accuracy: +12% improvement on DUD-E benchmark
  • Novel Scaffolds: 3x better for non-standard chemotypes
  • Explainability: Quantum states provide mechanistic insights

🛠️ Development

Install from Source

git clone https://github.com/yourusername/qpharos.git
cd qpharos
pip install -e ".[dev]"

Run Tests

pytest tests/

Build Documentation

cd docs
make html

📖 Examples

See examples/ directory:

  • 01_basic_docking.py - Simple molecular docking
  • 02_drug_design.py - Generate novel molecules
  • 03_admet_prediction.py - Predict pharmacokinetics
  • 04_screening.py - High-throughput screening
  • 05_optimization.py - Lead optimization workflow
  • 06_full_pipeline.py - Complete drug discovery pipeline

🤝 Support


📄 License

Apache License 2.0 - See LICENSE file.


🙏 Acknowledgments

  • IBM Quantum - Quantum hardware access
  • BioQL Team - Quantum bioinformatics platform
  • Research Partners - University of California, MIT, ETH Zürich

🔗 Links


Made with ⚛️ by the QPHAROS Team

Accelerating drug discovery with quantum computing

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

qpharos-2.0.1.tar.gz (48.4 kB view details)

Uploaded Source

Built Distribution

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

qpharos-2.0.1-py3-none-any.whl (50.7 kB view details)

Uploaded Python 3

File details

Details for the file qpharos-2.0.1.tar.gz.

File metadata

  • Download URL: qpharos-2.0.1.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for qpharos-2.0.1.tar.gz
Algorithm Hash digest
SHA256 f11c9839c3db5dd54581624aaf41fd0fd0f835b172b1478743dfe1b8a5eab62b
MD5 c52309759e4f0086ce46d62c5fd7b0d1
BLAKE2b-256 7428ec3a510162482ec4772b08697a4285771bf9cb486aff23e5d1f28429a1bb

See more details on using hashes here.

File details

Details for the file qpharos-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: qpharos-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 50.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for qpharos-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a7211412bc55e645089bf3c18adcf01e04421e722639bd858d5c5648bce7707
MD5 33cb1afce16346525510c4ca705ea229
BLAKE2b-256 664ad13426492a62047bc2d246e3a93c73be12afdbac4b570187f9d9a6cfa188

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