schrodinger.application.desmond.stage.app.absolute_binding.stage module

class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingStructurePrimer(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

For the ligand with the matching ligand_hash_id, prepare the Absolute Binding structures for MD if the leg is not specified, otherwise prepare the structures for FEP. All other ligands will be ignored.

NAME = 'fep_absolute_binding_structure_primer'
PARAM = <schrodinger.utils.sea.sea.Map object>
run(jobname: str, mae_fname: str) Optional[str]
Parameters
  • jobname – Jobname for this stage.

  • input_fname – Filename for the input structure.

Returns

Filename for the output structure or None if there was an error generating the output.

class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingFepPrimer(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

NAME = 'fep_absolute_binding_fep_primer'
PARAM = <schrodinger.utils.sea.sea.Map object>
run(jobname: str, cms_fname: str) Optional[str]
Parameters
  • jobname – Jobname for this stage.

  • input_fname – Filename for the input structure.

Returns

Filename for the output structure or None if there was an error generating the output.

class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingLauncherBase(should_pack=True)

Bases: schrodinger.application.desmond.stage.launcher.FepLauncher

NAME = 'fep_absolute_binding_launcher_base'
get_edge_from_struct_file(struct_file: Union[str, pathlib.Path], g: graph.Graph)
PARAM = <schrodinger.utils.sea.sea.Map object>
class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingMdLauncher(should_pack=True)

Bases: schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingLauncherBase

Launches the absolute binding FEP workflow.

NAME = 'fep_absolute_binding_md_launcher'
PARAM = <schrodinger.utils.sea.sea.Map object>
crunch()

Don’t make output jobs since they will be created in poststage with the new Graph object.

check_param()
collect_inputfile(*args)

Returns a list of input fnames for the given jobs. If jobs is passed in, use it instead of the job associated with this object. This is used for subclasses to override the jobs list used.

Parameters

jobs – List of jobs to include.

Returns

The filenames needed to run this stage.

poststage()

For any md jobs that showed a high RMSD for the ligand, mark the corresponding edge in the graph to skip FEP

get_md_jobs()
class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingFepLauncher(should_pack=True)

Bases: schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingLauncherBase

Launches the absolute binding FEP workflow.

NAME = 'fep_absolute_binding_fep_launcher'
PARAM = <schrodinger.utils.sea.sea.Map object>
check_param()
schrodinger.application.desmond.stage.app.absolute_binding.stage.get_csv_header() str
class schrodinger.application.desmond.stage.app.absolute_binding.stage.AbsoluteBindingResult(ligand_st: schrodinger.structure._structure.Structure = None, complex_st: schrodinger.structure._structure.Structure = None, complex_dg: schrodinger.application.desmond.measurement.Measurement = None, complex_dg_correction: float = None, solvent_dg: schrodinger.application.desmond.measurement.Measurement = None, high_rmsd: bool = False)

Bases: object

ligand_st: schrodinger.structure._structure.Structure = None
complex_st: schrodinger.structure._structure.Structure = None
complex_dg: schrodinger.application.desmond.measurement.Measurement = None
complex_dg_correction: float = None
solvent_dg: schrodinger.application.desmond.measurement.Measurement = None
high_rmsd: bool = False
property is_complete: bool
property final_dg: Optional[schrodinger.application.desmond.measurement.Measurement]
__init__(ligand_st: schrodinger.structure._structure.Structure = None, complex_st: schrodinger.structure._structure.Structure = None, complex_dg: schrodinger.application.desmond.measurement.Measurement = None, complex_dg_correction: float = None, solvent_dg: schrodinger.application.desmond.measurement.Measurement = None, high_rmsd: bool = False) None
schrodinger.application.desmond.stage.app.absolute_binding.stage.get_results_by_ligand(sts_list: List[List[schrodinger.structure._structure.Structure]]) DefaultDict[str, schrodinger.application.desmond.stage.app.absolute_binding.stage.AbsoluteBindingResult]

Given a list of list of structures (each list corresponds to output structure from each FEP leg), return the result for each ligand.

Returns

dict with keys of [“complex_st”, “complex_dg”, “solvent_dg”, “complex_dg_correction”, “final_dg”]. final_dg is None if any values are missing.

schrodinger.application.desmond.stage.app.absolute_binding.stage.get_csv(results_by_ligand: dict) str

Return the csv content report energies for each ligand. :param: results_by_ligand is got from get_results_by_ligand

schrodinger.application.desmond.stage.app.absolute_binding.stage.get_csv_row(ligand: str, smiles: str, complex_dg: Optional[schrodinger.application.desmond.measurement.Measurement] = None, solvent_dg: Optional[schrodinger.application.desmond.measurement.Measurement] = None, complex_dg_correction: Optional[float] = None, final_dg: Optional[schrodinger.application.desmond.measurement.Measurement] = None) str

Given the results for a ligand, return a formatted row.

class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingAnalysis(should_pack=True)

Bases: schrodinger.application.desmond.cmj.StageBase

NAME = 'fep_absolute_binding_analysis'
TAG = 'FEP_ABSOLUTE_BINDING_ANALYSIS'
PARAM = <schrodinger.utils.sea.sea.Map object>
check_param()
collect_inputfile()
crunch()

This is where jobs of this stage are created. This function should be overriden by the subclass.

class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingMdPrimer

Bases: object

class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingPrimer

Bases: object

class schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingLauncher

Bases: object