Protein Preparation

Python API · stjames · API example

How it works

Prepare an experimental protein structure for docking, molecular dynamics, or FEP. Rowan rebuilds missing atoms and residues, assigns protonation states at the requested pH, and improves the hydrogen-bond network through Asn/Gln side-chain flips and hydrogen-position minimization. The result is a prepared protein that can be downloaded or used directly in another workflow.

Settings

  • Sequence overrides: supply the full amino-acid sequence for each chain if the structure lacks sequence records covering unresolved residues. Overrides take precedence over the input sequence; exclude terminal caps.
  • Add missing atoms: "Boltz-2" is the default and uses PATCHR inpainting to reconstruct missing regions around the existing structure. "PDBFixer" repairs missing atoms and residues without refolding the protein. "None" skips repair; sequence overrides then have no effect.
  • Cap residues: "ACE/NME caps" is the default, adding neutral caps at uncapped termini. It requires a repair method and is unavailable with "protonate_utils." Alternatives are "Terminal residue templates" or "None." Choose termini appropriate to your experimental construct.
  • Retain non-polymer residues: select ligands, cofactors, ions, and waters to keep. By default, only Na, Cl, and Mg are retained. Supply SMILES for organic ligands; recognized ions and waters do not require them. Residue names select all matching instances; residue numbers select individual instances.
  • Pocket ligand: optionally identify a bound ligand to save a docking box around it. The ligand can define the pocket even when it is removed during preparation. Leaving this blank preserves an existing saved pocket.
  • Protonation method and pH: the web form defaults to "PROPKA 3" at pH 7.4, using predicted residue pKa values to assign protonation states. "OpenMM" uses standard residue protonation rules; "protonate_utils" uses residue-aware charge assignment and Hydride hydrogen placement.
  • Retain existing protonation?: enabled by default. Preserve states explicitly encoded in residue names, such as HIE or HIP, rather than reassigning them from pH. This preserves the state, rather than the original hydrogen coordinates.
  • Retain noncanonical residues?: currently disabled in the web form. Modified amino acids are replaced by their standard parents, including MSE → MET.

Notes

Inspect repaired loops, ligand geometry, and metal sites before downstream modeling. Metal coordination recorded in the input informs nearby protonation and restraints. Workflow warnings flag substantial structural changes or abnormal backbone connections; successful preparation does not guarantee a correct biological structure.

The Python API defaults to "OpenMM" protonation. Numeric residue selections are 1-based in the web form and 0-based in the API.

Benchmarks and validation

Rowan's preparation case studies compare PDBFixer, Boltz-2 inpainting, and the earlier templated approach. For 2E32, with 192 unresolved residues, inpainting produced no backbone breaks versus two with PDBFixer. These tests used PROPKA 3, ACE/NME caps, pH 7.4, and retained protonation. Difficult reconstructed regions still require inspection.

Further reading