openfold.np.relax.cleanup

Cleans up a PDB file using pdbfixer in preparation for OpenMM simulations.

fix_pdb uses a third-party tool. We also support fixing some additional edge cases like removing chains of length one (see clean_structure).

Functions

clean_structure(pdb_structure, alterations_info)

Applies additional fixes to an OpenMM structure, to handle edge cases.

fix_pdb(pdbfile, alterations_info)

Apply pdbfixer to the contents of a PDB file; return a PDB string result.

clean_structure(pdb_structure, alterations_info)

Applies additional fixes to an OpenMM structure, to handle edge cases.

Parameters:
  • pdb_structure – An OpenMM structure to modify and fix.

  • alterations_info – A dict that will store details of changes made.

fix_pdb(pdbfile, alterations_info)

Apply pdbfixer to the contents of a PDB file; return a PDB string result.

  1. Replaces nonstandard residues.

  2. Removes heterogens (non protein residues) including water.

  3. Adds missing residues and missing atoms within existing residues.

  4. Adds hydrogens assuming pH=7.0.

  5. KeepIds is currently true, so the fixer must keep the existing chain and residue identifiers. This will fail for some files in wider PDB that have invalid IDs.

Parameters:
  • pdbfile – Input PDB file handle.

  • alterations_info – A dict that will store details of changes made.

Returns:

A PDB string representing the fixed structure.