iphasimulator.amber_complex

Inputs for an Amber/OpenMM enzyme + polymer system built from a docked complex.

The same complex PDB used for CHARMM-GUI (protein + polymer pose, e.g. from docking) is split into a protein PDB for tleap/ff19SB and a posed copy of the 05A GAFF2 polymer mol2, so both force-field routes start from the same structure. Nothing here runs tleap or OpenMM.

Attributes

CHARMM_TO_AMBER_HISTIDINE

HISTIDINE_NAMES

SOLVENT_AND_IONS

Classes

ProteinPdbSummary

PoseTransferResult

Functions

read_charmm_histidine_states(→ dict[int, str])

Residue number -> Amber histidine name (HID/HIE/HIP) from a CHARMM-GUI PROA.itp.

write_protein_pdb(→ ProteinPdbSummary)

Write the protein part of a complex PDB for tleap (ff19SB).

pose_polymer_mol2(→ PoseTransferResult)

Copy the docked polymer pose onto the 05A GAFF2 mol2.

Module Contents

iphasimulator.amber_complex.CHARMM_TO_AMBER_HISTIDINE
iphasimulator.amber_complex.HISTIDINE_NAMES = ('HIS', 'HSD', 'HSE', 'HSP', 'HID', 'HIE', 'HIP')
iphasimulator.amber_complex.SOLVENT_AND_IONS = ('HOH', 'WAT', 'TIP3', 'SOL', 'SOD', 'CLA', 'NA', 'CL', 'POT', 'K')
class iphasimulator.amber_complex.ProteinPdbSummary
output_path: pathlib.Path
residues: int
removed_hydrogens: int
histidines: dict[int, str]
class iphasimulator.amber_complex.PoseTransferResult
output_mol2: pathlib.Path
heavy_atoms: int
hydrogens_placed: int
stereocentres: list[tuple[str, str]]
iphasimulator.amber_complex.read_charmm_histidine_states(protein_itp: str | pathlib.Path) → dict[int, str]

Residue number -> Amber histidine name (HID/HIE/HIP) from a CHARMM-GUI PROA.itp.

iphasimulator.amber_complex.write_protein_pdb(complex_pdb: str | pathlib.Path, output_pdb: str | pathlib.Path, *, ligand_resname: str = 'LIG', histidine_states: dict[int, str] | None = None) → ProteinPdbSummary

Write the protein part of a complex PDB for tleap (ff19SB).

Drops the ligand, water, ions and hydrogens (tleap adds hydrogens), and renames histidines to HID/HIE/HIP from histidine_states (residue number -> name). Histidines without a state stay HIS, which tleap treats as HIE.

iphasimulator.amber_complex.pose_polymer_mol2(mol2_path: str | pathlib.Path, template_sdf: str | pathlib.Path, complex_pdb: str | pathlib.Path, output_mol2: str | pathlib.Path, *, ligand_resname: str = 'LIG') → PoseTransferResult

Copy the docked polymer pose onto the 05A GAFF2 mol2.

template_sdf is the antechamber input written by 05A (same atom order as the mol2; it carries bond orders and stereochemistry). Heavy atoms are matched to the pose by element and connectivity; hydrogens are placed from the posed heavy atoms. Atom names, types and charges in the mol2 are unchanged.