A real quantum-classical workflow. The same pipeline a medicinal chemist would run — from raw ligand structure to a binding affinity score — orchestrated across classical and quantum hardware automatically.
You're testing whether a small molecule — say, a kinase inhibitor — binds tightly enough to its target protein (e.g., EGFR) to be worth advancing in the pipeline. Tight binding means the drug stays on the target. Loose binding means it probably won't work in vivo.
Classical computers approximate the quantum-mechanical interaction between drug and protein using force fields — educated guesses. A quantum computer can simulate those interactions from first principles using the Variational Quantum Eigensolver (VQE), giving you the actual ground-state energy of the binding interaction. More accurate energy = more accurate binding affinity prediction.
You call one function. OrchestralOS handles ligand preparation, active-site identification, circuit generation, QPU selection, and post-processing. You get back a ΔG (binding free energy) value in kcal/mol — the number your computational chemist already understands.
3D conformer generation, protonation state assignment at physiological pH, and energy minimization using MMFF94. Produces a cleaned mol2 structure ready for docking.
Pocket detection on the EGFR kinase crystal structure (PDB: 1IEP). Identifies binding cavity, extracts the residue shell within 6Å, and prepares the binding site for quantum simulation.
The binding interaction Hamiltonian is mapped to a 12-qubit quantum circuit. VQE iteratively optimizes a parameterized ansatz (UCCSD) to find the minimum eigenvalue — the true ground-state energy of the drug-target interaction.
VQE energy output feeds into the MM-PBSA post-processor. Entropic corrections and solvation terms are added classically. Final output: ΔG binding free energy in kcal/mol.
A ΔG below −9 kcal/mol with sub-10 nM predicted Kd places this compound in the top 5% of kinase inhibitor candidates. Worth advancing to in vitro validation.
One workflow call. OrchestralOS handles everything else — circuit compilation, QPU routing, error mitigation, and result parsing.
import orchestral from orchestral.bio import load_ligand, load_protein # Load your molecules — standard mol2 and PDB formats ligand = load_ligand("erlotinib.mol2") protein = load_protein("egfr_1iep.pdb", chain="A") # Define the quantum subroutine — runs on the best available QPU @orchestral.quantum_step(backend="auto", qubits=12, shots=4096) def compute_binding_energy(ligand, protein): # OrchestralOS builds the fermionic Hamiltonian and maps it to qubits hamiltonian = orchestral.chem.build_hamiltonian( ligand, protein, method="uccsd", active_space=(4, 4) # 4 electrons in 4 orbitals ) return orchestral.algorithms.vqe( hamiltonian, optimizer="cobyla", max_iter=500 ) # Build and run the full classical-quantum workflow workflow = orchestral.workflow( name="egfr-erlotinib-binding", steps=[ orchestral.steps.PrepLigand(ligand, ph=7.4), orchestral.steps.FindActiveSite(protein, radius_angstrom=6), compute_binding_energy, # <-- the quantum step orchestral.steps.ScoreBindingAffinity(method="mmpbsa"), ] ) result = workflow.run() # Results are plain Python objects — no quantum expertise needed print(f"ΔG = {result.delta_g:.1f} kcal/mol") print(f"Predicted Kd = {result.kd_nM:.1f} nM") print(f"QPU used: {result.qpu_backend}") print(f"Circuit depth: {result.circuit_depth}, Qubits: {result.qubit_count}") # Example output: # ΔG = -9.4 kcal/mol # Predicted Kd = 2.3 nM # QPU used: ionq_aria # Circuit depth: 148, Qubits: 12
Every quantum job is profiled before dispatch. The routing engine scores available backends in real time across three dimensions and picks the optimal machine — automatically.
Deep circuits need low-noise hardware. For UCCSD at depth 148, ion trap backends (IonQ, Quantinuum) outperform superconducting chips because gate fidelity degrades more slowly with circuit depth.
12-qubit problems fit on any modern QPU. Routing prioritizes hardware where those 12 qubits have the highest measured two-qubit gate fidelity, not just availability.
IonQ Aria had a 2-minute queue vs. 18 minutes on IBM and 34 on Quantinuum at dispatch time. Scoring combines all three signals — queue time broke the tie here.
The router re-evaluates every 30 seconds. A job re-dispatched an hour later may land on a different backend — and that's by design.
OrchestralOS is in private beta with select pharma R&D teams. Request access to run your own protein-ligand screen on real QPU hardware.