Skip to main content

🔶 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


Made with ⚛️ by the QPHAROS Team

Accelerating drug discovery with quantum computing

Metadata

Release files for qpharos 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qpharos 2.0.1
File Size Uploaded Provenance Actions
qpharos-2.0.1.tar.gz 48.4 kB Without provenance Details for qpharos-2.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qpharos 2.0.1
File Interpreter ABI Platform Actions
qpharos-2.0.1-py3-none-any.whl Python 3 none any Details for qpharos-2.0.1-py3-none-any.whl

Total release size: 99.2 kB

Release files / qpharos-2.0.1.tar.gz

Download URL qpharos-2.0.1.tar.gz
Size 48.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f11c9839c3db5dd54581624aaf41fd0fd0f835b172b1478743dfe1b8a5eab62b
BLAKE2b-256 checksum
How to use checksums
7428ec3a510162482ec4772b08697a4285771bf9cb486aff23e5d1f28429a1bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / qpharos-2.0.1-py3-none-any.whl

Download URL qpharos-2.0.1-py3-none-any.whl
Size 50.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a7211412bc55e645089bf3c18adcf01e04421e722639bd858d5c5648bce7707
BLAKE2b-256 checksum
How to use checksums
664ad13426492a62047bc2d246e3a93c73be12afdbac4b570187f9d9a6cfa188
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for qpharos 2.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page