schrodinger.application.desmond.stage.app.solubility module

class schrodinger.application.desmond.stage.app.solubility.GenerateSolubilityFepStructures(should_pack=True)

Bases: schrodinger.application.desmond.cmj.StageBase

This analyzes the results of an MD simulation containing a solvated disordered system and sets up the structures that will be used for sublimation and hydration fep.

If more than 10% of the molecules are over 90% solvent exposed, this marks the molecules as soluble and sublimation fep should not be run. The first structure is the baseline structure used for hydration fep. The num_sublimation_strucs strucutres after it are for sublimation fep.

NAME = 'generate_solubility_fep_structures'
TAG = 'GENERATE_SOLUBILITY_FEP_STRUCTURES'
PARAM = <schrodinger.utils.sea.sea.Map object>
crunch()

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

class schrodinger.application.desmond.stage.app.solubility.SolubilityMdLauncher(should_pack=True)

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

Launches the solubility md workflow.

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

Set up the simulation by extracting the structures for each job.

restart_subjobs(jobs: List[schrodinger.application.desmond.cmj.Job]) None

Prepare the subjobs for restart.

collect_inputfile(jobs: Optional[schrodinger.utils.sea.sea.List] = None) List[str]

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 determined the ligand to be soluble, mark the corresponding edge in the graph with is_soluble

get_md_jobs()
get_edge_from_struct_file(struct_file: Union[str, pathlib.Path], g: graph.Graph)
class schrodinger.application.desmond.stage.app.solubility.SolubilityFepLauncher(should_pack=True)

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

Launches the solubility fep workflow.

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

Bases: schrodinger.application.desmond.cmj.StageBase

This runs the solubility fep analysis.

NAME = 'solubility_fep_analysis'
TAG = 'SOLUBILITY_FEP_ANALYSIS'
PARAM = <schrodinger.utils.sea.sea.Map object>
collect_inputfile()
crunch()

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