schrodinger.application.desmond.solubility_utils module

schrodinger.application.desmond.solubility_utils.extract_solute_ct(cms_model: schrodinger.application.desmond.cms.Cms) → Optional[schrodinger.structure.Structure]

Returns a structure representing the solute component of the input cms file. The solute should come before the solvent if there are custom charges present.

Parameters:cms_model – Input cms object to extract the solute from.
Returns:Solute structure object or None if no solute is found
schrodinger.application.desmond.solubility_utils.get_transfer_free_energy(cms_model: schrodinger.application.desmond.cms.Cms) → Optional[schrodinger.application.desmond.measurement.Measurement]

Returns the transfer free energy as a Measurement or None if the propery could not be found

Parameters:cms_model – Input cms object to extract the transfer free energy from.
schrodinger.application.desmond.solubility_utils.median_sublimation_free_energy(sublimation_dgs: List[schrodinger.application.desmond.measurement.Measurement]) → schrodinger.application.desmond.measurement.Measurement

Returns the median sublimation free energy. For an odd number this is the median, for an even number this is the one closest to the average.

Parameters:sublimation_dgs – List of sublimation transfer free energy measurements.
schrodinger.application.desmond.solubility_utils.calculate_solubility_free_energy(hydration_dg: schrodinger.application.desmond.measurement.Measurement, sublimation_dg: schrodinger.application.desmond.measurement.Measurement) → schrodinger.application.desmond.measurement.Measurement

Returns the solubility transfer free energy.

Parameters:
  • hydration_dg – Hydration transfer free energy measurement.
  • sublimation_dg – Sublimation transfer free energy measurement.
schrodinger.application.desmond.solubility_utils.set_structure_soluble(ct: schrodinger.structure.Structure) → None

Update the fep solubility property to mark the structure as being soluble. The input ct is modified in place.

Parameters:ct – Structure to mark as soluble.
schrodinger.application.desmond.solubility_utils.is_structure_soluble(ct: schrodinger.structure.Structure) → bool

Return True if the structure has been marked as soluble, False otherwise.

Parameters:ct – Structure to check if marked as soluble.
schrodinger.application.desmond.solubility_utils.is_soluble(exposures: List[float]) → bool

If more than 10% of the solute molecules have a exposure greater than 90.0, flag the molecule as soluble (< 5 kcal/mol transfer energy).

Parameters:exposures – List of exposure for each molecule in the structure.
Returns:True if this molecule is considered soluble, False otherwise.
schrodinger.application.desmond.solubility_utils.get_molecule_exposures(baseline_ct: schrodinger.structure.Structure, exposure_ct: schrodinger.structure.Structure, delete_h_atoms=True) → List[float]

Calculates the exposure of each molecule in a structure based on SASA and returns a list of exposure of each molecule by index of each molecule in the structure - 1 (since structure.molecule is a 1-indexed list). By default this functiion deletes all H atoms from the specified structure. To retain H atoms set delete_h_atoms to False.

Parameters:
  • baseline_ct – Structure of an individual molecule used as the reference.
  • exposure_ct – Structure used for the list of molecule exposures.
  • delete_h_atoms – Set to True to delete all H atoms from the structure when calculating SASA.
Returns:

List of exposure for each molecule in the structure.

schrodinger.application.desmond.solubility_utils.extract_most_exposed_solute_molecules(solute_ct: schrodinger.structure.Structure, exposures: List[float], extract_count=5) → List[schrodinger.structure.Structure]

Takes the solute component of an input system and returns the extract_count most exposed molecules ordered by exposure.

If less than extract_count solute molecules are present, the returned list contains all solute molecules sorted by exposure.

Parameters:
  • solute_ct – Input ct file containing the system to process.
  • exposures – Input ct file containing the system to process.
  • extract_count – The number of molecules to extract.
Returns:

List of extract_count most exposed solute mols.

schrodinger.application.desmond.solubility_utils.get_report(title: str, hydration_dg: Optional[schrodinger.application.desmond.measurement.Measurement] = None, sublimation_dgs: Optional[List[schrodinger.application.desmond.measurement.Measurement]] = None, is_soluble: bool = False) → str

Returns the formatted results as csv file contents.

Parameters:
  • title – Title of the ligand.
  • hydration_dg – Hydration transfer free energy measurement. Must be specified if is_soluble is False.
  • sublimation_dgs – List of sublimation transfer free energy measurements. Must be specified if is_soluble is False.
  • is_soluble – Set to True if this ligand was determined to be soluble in the MD stage.