Skip to content

Aadarsh-Sankar/quantum-protein-folding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quantum Protein Folding with VQE

Overview

This project demonstrates how quantum algorithms on quantum simulators can tackle protein folding by treating it as an energy minimization problem on a rugged landscape—a task where quantum exploration of state spaces offers advantages over classical optimization methods when no structural templates exist.

Using a simplified HP (Hydrophobic-Polar) model, we apply Variational Quantum Eigensolver (VQE) to find low-energy conformations, demonstrating quantum computing's potential for de novo protein structure prediction.

Motivation

Current protein structure prediction methods face challenges:

  • AlphaFold excels when structural homologs exist but struggles with novel sequences
  • Physics-based methods (molecular dynamics, Monte Carlo) are computationally expensive for complex energy landscapes
  • Quantum computing offers potential advantages in exploring the exponentially large conformational space

This project targets scenarios where classical methods fall short: sequences lacking structural templates, requiring true physics-based energy minimization.

Quantum Advantage

  • State space exploration: Quantum superposition allows parallel exploration of conformational states
  • Energy landscape navigation: Quantum tunneling can escape local minima that trap classical optimizers
  • Scalability: VQE provides a NISQ-era approach viable on current quantum hardware

Project Structure

quantum-protein-folding/
├── README.md                    # This file
├── FRONTEND_LAUNCH.md           # Quick start guide for frontend
├── requirements.txt             # Python dependencies
├── backend/
│   ├── src/
│   │   ├── hp_model.py          # HP protein model implementation
│   │   ├── hamiltonian.py       # Energy Hamiltonian construction
│   │   ├── vqe_optimizer.py     # VQE-based optimization
│   │   ├── visualization.py     # Results visualization
│   │   └── utils.py             # Helper functions
│   └── examples/
│       ├── quick_start.py       # CLI demo
│       ├── test_small.py        # Quick test
│       └── demo_notebook.ipynb  # Interactive notebook
├── frontend/
│   ├── app.py                   # Streamlit web application
│   ├── requirements.txt         # Frontend dependencies
│   └── README.md                # Frontend documentation
├── results/                     # Experimental results
└── docs/                        # Additional documentation

Qiskit Components Used

  • qiskit: QuantumCircuit, quantum gates
  • qiskit.quantum_info: SparsePauliOp for Hamiltonian representation
  • qiskit_algorithms: VQE, optimizers (COBYLA, SLSQP)
  • qiskit.circuit.library: TwoLocal, EfficientSU2 ansätze
  • qiskit.primitives: Estimator for expectation values
  • qiskit_aer: AerSimulator for quantum simulation
  • qiskit.visualization: Circuit and results visualization

Installation

pip install -r requirements.txt

Quick Start

Option 1: Web Interface (Recommended)

cd frontend
streamlit run app.py

Opens interactive web application at http://localhost:8501

Option 2: Command Line

cd backend/examples
python quick_start.py

Option 3: Python API

from backend.src.hp_model import HPModel
from backend.src.vqe_optimizer import VQEProteinFolder

# Define a simple HP sequence
sequence = "HPHPPHHPHH"

# Create model and run VQE
model = HPModel(sequence)
optimizer = VQEProteinFolder(model)
result = optimizer.optimize()

print(f"Lowest energy: {result.eigenvalue}")
print(f"Best conformation: {result.conformation}")

Option 4: Jupyter Notebook

cd backend/examples
jupyter notebook demo_notebook.ipynb

Scientific Scope

This is a toy but scientifically meaningful prototype due to:

  • Current quantum hardware limitations (noise, qubit count)
  • Simplified HP model vs. full atomic physics
  • Focus on proof-of-concept for quantum advantage

However, it demonstrates core principles applicable to real quantum protein folding once hardware scales.

Comparison Baseline

We compare against:

  • Classical VQE simulation: Same algorithm, classical computer
  • Random search: Baseline optimization
  • Greedy optimization: Local search methods
  • (Future) Molecular dynamics simulation for small sequences

Future Directions

Near-term Extensions

  • Extend to 3D cubic lattice (6 directions, 3 qubits/move)
  • Implement Q-score and contact order validation
  • Test on HP benchmark sequences
  • Add radius of gyration analysis

Mid-term Goals

  • FCC lattice for more realistic geometry (12 directions)
  • Incorporate more amino acid types beyond H/P
  • Full atomic reconstruction with side chains
  • RMSD validation against known structures

Long-term Vision

  • Incorporate realistic force fields (AMBER, CHARMM)
  • Hybrid quantum-classical pipeline (coarse-grained → all-atom)
  • Error mitigation for real quantum hardware
  • Integration with existing tools (AlphaFold, Rosetta)

See detailed discussions in:

  • LATTICE_MODELS.md - Lattice selection and trade-offs
  • VALIDATION_METRICS.md - Validation approaches and metrics

References

  • Perdomo-Ortiz et al., "Finding low-energy conformations of lattice protein models by quantum annealing" (2012)
  • Robert et al., "Resource-efficient quantum algorithm for protein folding" (2019)
  • Qiskit documentation: https://qiskit.org/documentation/

License

MIT License

Authors

IBM Qiskit Fall Fest Hackathon Project

About

This project applies quantum computing to protein folding using the Hydrophobic-Polar (HP) model and Qiskit’s Variational Quantum Eigensolver. It encodes fold directions into qubits, builds the system Hamiltonian, and compares classical and quantum solutions to identify low-energy structures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors