iphasimulator.amber_complex =========================== .. py:module:: iphasimulator.amber_complex .. autoapi-nested-parse:: 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 ---------- .. autoapisummary:: iphasimulator.amber_complex.CHARMM_TO_AMBER_HISTIDINE iphasimulator.amber_complex.HISTIDINE_NAMES iphasimulator.amber_complex.SOLVENT_AND_IONS Classes ------- .. autoapisummary:: iphasimulator.amber_complex.ProteinPdbSummary iphasimulator.amber_complex.PoseTransferResult Functions --------- .. autoapisummary:: iphasimulator.amber_complex.read_charmm_histidine_states iphasimulator.amber_complex.write_protein_pdb iphasimulator.amber_complex.pose_polymer_mol2 Module Contents --------------- .. py:data:: CHARMM_TO_AMBER_HISTIDINE .. py:data:: HISTIDINE_NAMES :value: ('HIS', 'HSD', 'HSE', 'HSP', 'HID', 'HIE', 'HIP') .. py:data:: SOLVENT_AND_IONS :value: ('HOH', 'WAT', 'TIP3', 'SOL', 'SOD', 'CLA', 'NA', 'CL', 'POT', 'K') .. py:class:: ProteinPdbSummary .. py:attribute:: output_path :type: pathlib.Path .. py:attribute:: residues :type: int .. py:attribute:: removed_hydrogens :type: int .. py:attribute:: histidines :type: dict[int, str] .. py:class:: PoseTransferResult .. py:attribute:: output_mol2 :type: pathlib.Path .. py:attribute:: heavy_atoms :type: int .. py:attribute:: hydrogens_placed :type: int .. py:attribute:: stereocentres :type: list[tuple[str, str]] .. py:function:: 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``. .. py:function:: 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. .. py:function:: 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.