AdsPro — Physics-Based Protein Adsorption Simulator¶
AdsPro computes the adsorbed conformation and free energy of adsorption (ΔG_ads) of a protein on a nanoparticle surface using coarse-grained molecular dynamics and Potential of Mean Force (PMF) calculations.
It is the single-protein adsorption engine that powers SurfCo — the protein corona composition simulator. For each protein-NP pair, AdsPro answers: In what orientation does this protein adsorb, and how strongly?
Why AdsPro?¶
When a nanoparticle enters a biological fluid — blood, lung fluid, cellular cytoplasm — it is immediately coated by a layer of proteins called the protein corona. This corona fundamentally changes the biological identity of the nanoparticle: it masks the intended surface chemistry, alters biodistribution, and determines how cells and immune components interact with the particle.
Predicting corona composition requires knowing the adsorption free energy of every relevant protein on the nanoparticle surface. The dominant computational approach, full atomistic MD, requires weeks to months per protein on supercomputing clusters. AdsPro compresses this to hours on a workstation by using a physics-based coarse-grained model parameterized directly from experiment.
The Simulation Pipeline¶
┌─────────────────────────────────────────────────────────┐
│ INPUT: Protein PDB + config.yaml │
│ (NP radius, zeta potential, ionic strength, pH) │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ STEP 1–3: Coarse-Graining + Initialization │
│ • Parse PDB → one CG sphere per residue (Cα model) │
│ • Assign charges via Henderson-Hasselbalch at given pH │
│ • Build native contact map (Gō model) │
│ • Detect initial non-covalent bonds │
│ • Compute initial internal energy baseline │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ STEP 4: Phase 0 — Orientation Screening │
│ • Score 100 rigid-body orientations (Morse + DH) │
│ • Add 3 protected orientations (affinity-patch, │
│ charge-complementary, dipole-toward-surface) │
│ • Select top N for Phase 1 │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ STEP 5: Phase 1 — Langevin MD Relaxation │
│ • Run full MD on each selected orientation │
│ • Velocity-Verlet Langevin, constant NVT │
│ • Harmonic backbone restraints, Gō + Morse force field │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ STEP 6: Best Orientation Selection │
│ • Rank by final Morse adsorption energy │
│ • Select lowest-energy adsorbed conformation │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ STEP 7: Phase 2 — PMF via Umbrella Sampling │
│ • Steered MD: pull protein from ξ_ads outward │
│ • Smart window detection: scan trajectory for last │
│ Morse-active distance → set ξ_max automatically │
│ • N umbrella windows → biased sampling │
│ • WHAM: reconstruct G(ξ) → ΔG_ads │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ STEP 8–9: Output + Visualization │
│ • 3D interactive HTML viewer (Three.js) │
│ • summary_report.txt, summary.json, bond_report.csv │
│ • pmf_result.json — full PMF curve G(ξ) │
│ • Validation: tilt angle, contact map, │
│ native contact retention, COM distance │
└─────────────────────────────────────────────────────────┘
Key Features¶
- Physics-based — no machine learning, no empirical fitting beyond surface parameterization
- CG Molecular Dynamics — one bead per residue, Gō model, Debye-Hückel electrostatics, Morse surface potential
- Free energy from WHAM — thermodynamically rigorous ΔG_ads via umbrella sampling
- Experimental parameterization — surface ε values from chromatography experiments (Henry coefficients)
- Extensible — add any new surface from one day of lab experiments
- Fast — ~hours per protein on a workstation vs. weeks on HPC clusters
- SurfCo integration — JSON output consumed directly by the corona simulator
Quick Start¶
# Clone and install
git clone https://github.com/DanaResearchGroup/AdsPro.git
cd AdsPro
chmod +x install.sh && ./install.sh
# Activate the environment
source ~/adspro-venv/bin/activate
# Run the example (Lysozyme on silica NP)
python -m adspro --project example
# Open the result
# projects/example/Lysozyme/adspro_result.html
See Installation and Quick Start for full instructions.
Example Result¶
Lysozyme on a silica nanoparticle (R = 71.3 nm, ζ = −50 mV, 20 mM NaCl, pH 7.4):
| Metric | Value |
|---|---|
| ΔG_ads | −28.8 kJ/mol |
| WHAM converged | Yes |
| ξ_min (adsorbed COM distance) | 1.65 nm |
| Contact residues | 31 (9 ARG/LYS/HIS) |
| Native contact retention | 73.5% |
| Tilt angle | 51° |
The dominant contacts are ARG and LYS residues — consistent with charge-complementary binding to a negatively charged silica surface.
Documentation Structure¶
| Section | Contents |
|---|---|
| Installation | System requirements, install script, manual install |
| Quick Start | Running your first simulation, project setup |
| Configuration | Complete parameter reference |
| Methods | Physics, mathematics, algorithms |
| New Surfaces | Chromatography protocol, adding surface data files |
| Output & Validation | All output files, how to interpret results |
| SurfCo Integration | Using AdsPro as a subprocess |
| Contributing | Running tests, linting, development guide |
Citation¶
If you use AdsPro in your research, please cite:
Shugaev, B.; Dana, A.G. AdsPro: A Physics-Based Coarse-Grained Framework for Protein Adsorption Free Energy Calculation. Dana Research Group, Technion, 2024.
AdsPro is developed at the Dana Research Group, Technion — Israel Institute of Technology.