schrodinger.application.desmond.packages.polygrow module

This script reads a cms/trajectory files generated by Desmond λ-Dynamics workflow to generate a ‘polygrow’ cms/trajectory that can be read in by Maestro.

Desmond λ-Dynamics is used for Constant pH (CpH) and Protein Scanning workflows. As in both cases, protein sites may contain different states, ie. protonation states of HIS, GLU, ASP residues, or even different residues entirely.

The resulting cms/trajectory files will contain coordinates for all states (multiple sidechains hanging off a single C-alpha atoms).

schrodinger.application.desmond.packages.polygrow.get_all_sites(cms_model_ld: cms.Cms) List[str]

Find the titratable sites in the system.

class schrodinger.application.desmond.packages.polygrow.MacroState(cms_model: cms.Cms, ld_gids: List[int], sites: List[str])

Bases: object

This object stores structure and AID -> GID mapping information between the λD and MD trajecotires.

__init__(cms_model: cms.Cms, ld_gids: List[int], sites: List[str])
sidechain_struc(site: str) schrodinger.structure._structure.Structure
sidechain_ld_gids(site: str) List[int]
property sites: List[str]
property solute_ld_gids: List[int]
property solvent_ld_gids: List[int]

Return GIDs matching solvent atoms

TODO: Better handling for TIP4/5 waters, to offset virtual sites when number ffio component is 1.

property pdb_states
property res_states
schrodinger.application.desmond.packages.polygrow.get_gids_to_keep(states: List[schrodinger.application.desmond.packages.polygrow.MacroState], solute_only: bool) List[int]

Return gids of all particles to retain in the output cms/trajectory.

schrodinger.application.desmond.packages.polygrow.get_mutation_site(wt_state: schrodinger.application.desmond.packages.polygrow.MacroState, mut_state: schrodinger.application.desmond.packages.polygrow.MacroState) Optional[str]

Given a wild type (WT) state and a mutated state, we figure out what site from the titration residue list is being mutated. We compare the residue names, number of atoms, chi1, chi2, chi3 angles and finally coordinates to determine if the corresponding residues in both sites are different.

schrodinger.application.desmond.packages.polygrow.main(argv=None)