schrodinger.application.desmond.system_builder_util module

The script truncates protein beyond truncate_distance from ligand atoms, restrain remaining protein heavy atoms beyond restrain_distance from ligand atoms, and solvate it by solvent_buffer distance. The truncation is done by residue based ASL.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.desmond.system_builder_util.DesmondBoxSize(**kwargs)

Bases: object

__init__(**kwargs)
update(**kwargs)
getStructureSize(st)

Returns the a, b, & c absolute coordinates, even when the user specified buffer distances Returns None if there are no atoms in the Workspace

getBoxVectors(st)

Returns the vectors representing the box. Origin is the back face bottom left. Returns None on error (after displaying a dialog box)

calculateVolume(st)

Will return 0 on error (after showing dialog)

findMinVolume(st)
static translateCentroidToOrigin(strucs: list[Structure], skip_solvent: bool = True, solvent_asl: str | None = None) → None

Re-zero strucs by translating their combined centroid to the origin.

Reference coordinates (stored in COORD_PROP_SETS_THAT_TRANSFORM) are translated along with the atoms.

Parameters:
  • strucs – the structures to re-zero, modified in place.

  • skip_solvent – if True, solvent atoms are excluded from the centroid calculation.

  • solvent_asl – solvent ASL (relevant when skip_solvent is True).

minimizeVolume(strucs: list[Structure]) → float

Reorient strucs to minimize the bounding-box volume, then re-zero.

The solute is rigidly rotated to the orientation (from a coarse Euler grid) that yields the smallest box. Reference coordinates (stored in COORD_PROP_SETS_THAT_TRANSFORM) are carried through both the rotation and the recentering.

Parameters:

strucs – the structures to reorient, modified in place.

Returns:

the minimized volume.

schrodinger.application.desmond.system_builder_util.truncateProtein(protein_st, ligand_st, retain_ligand=False, truncate_distance=0, restrain_distance=-1, truncation_site_flag: Optional[str] = None)

Given a receptor and ligand, truncate the receptor beyond the provided distance from the ligand. Any cut bonds will be replaced with a bond to hydrogen.

Parameters:
  • restrain_distance – -1 means no restrain, 0 means restrain all atoms

  • truncation_site_flag – If provided, corresponds to a string for an atom-property that will be set to 1 for the atoms where bonds are removed during truncation.

schrodinger.application.desmond.system_builder_util.truncate_solvate_protein(opt)
schrodinger.application.desmond.system_builder_util.find_equivalent_st(my_st, st_list, pname)

Find a equivalent st of my_st from iterable st_list Copy the pname values to ‘r_ffio_custom_charge’ of my_st