schrodinger.application.desmond.stage.prepare.structure module

class schrodinger.application.desmond.stage.prepare.structure.BuildGeometry(*arg, **kwarg)

Bases: schrodinger.application.desmond.cmj.StageBase

NAME = 'build_geometry'
BG_CMD = '/scr/buildbot/savedbuilds/2024-3/NB/build-133/utilities/system_builder'
SOLVENT = {'DMSO': 'dmso.box.mae', 'METHANOL': 'methanol.box.mae', 'OCTANOL': 'octanol.box.mae', 'SPC': 'spc.box.mae', 'SPCE': 'spce.box.mae', 'SPCFW': 'spcfw.box.mae', 'TIP3P': 'tip3p.box.mae', 'TIP4P': 'tip4p.box.mae', 'TIP4P2005': 'tip4p2005.box.mae', 'TIP4PD': 'tip4pd.box.mae', 'TIP4PEW': 'tip4pew.box.mae', 'TIP5P': 'tip5p.box.mae', 'WATER': 'spc.box.mae'}
DEFAULT_ALCHEMICAL_EXCLUDE_DIST = 5
PARAM = <schrodinger.utils.sea.sea.Map object>
__init__(*arg, **kwarg)
crunch()
hook_captured_successful_job(job)
class schrodinger.application.desmond.stage.prepare.structure.LambdaDynamicsBuildGeometry(*arg, **kwarg)

Bases: schrodinger.application.desmond.stage.prepare.structure.BuildGeometry

A build geometry stage that is exclusive for the lambda dynamics workflow.

Subclassing this stage is needed to correctly use the build geometry infrastructure, but make sure the correct input files are copied to the stage directory. These input files are no longer just named after the previous stage’s jobname, but also have a structure type associated with them based on whether they are just the mutation chain or a binding complex.

DESMOND-14405: refactor this stage to use the BuildGeometry stage if possible

NAME = 'lambda_dynamics_build_geometry'
crunch()
class schrodinger.application.desmond.stage.prepare.structure.ExtractStructures(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

This extracts one or more structures from an input mae file, adds some structure and atom properties, and passes the structures to the next stage.

NAME = 'extract_structures'
TAG = 'EXTRACT_STRUCTURES'
PARAM = <schrodinger.utils.sea.sea.Map object>
run(jobname: str, input_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.

schrodinger.application.desmond.stage.prepare.structure.clear_user_restraints(st: schrodinger.structure._structure.Structure)

Clear structure and atom property user restraint values that may be present from previous simulations.

Parameters

sts – structure to clear the restraints from

class schrodinger.application.desmond.stage.prepare.structure.ExtractSoluteStructure(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

This extracts a solute structure from the output cms of an MD run, and clears the simulation box if present.

NAME = 'extract_solute_structure'
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.prepare.structure.HashStructureTitle(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

This stores the structure title and corresponding hash id for one or more structures from an input mae file and passes it to the next stage.

NAME = 'hash_structure_title'
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.prepare.structure.DisorderedSystemBuilder(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

This sets up and runs the disordered system builder, which takes in a ct and creates a disordered solid system for it.

NAME = 'disordered_system_builder'
N_MOLECULES = 64
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.prepare.structure.ProteinMutationGenerator(should_pack=True)

Bases: schrodinger.application.desmond.cmj.StageBase

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

We will either read the mutations from a file or directly from the msj where mutations are defined as a list of space seperated strings

mutations = [“C:23->ALA” “C:23->SER”]

class schrodinger.application.desmond.stage.prepare.structure.ReplicateStructure(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

This takes the output structure from the previous stage and replicates it, so it has the same number of molecules as the input mae_file. Then it copies the coordinates and structure properties from mae_file.

PARAM = <schrodinger.utils.sea.sea.Map object>
NAME = 'replicate_structure'
run(jobname: str, input_fname: str) 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.prepare.structure.GroupWaters(*args, **kwargs)

Bases: schrodinger.application.desmond.cmj.StructureStageBase

Set the FEP_ABSOLUTE_ENERGY property on waters, optionally selecting only non-crystal waters

NAME = 'group_waters'
PARAM = <schrodinger.utils.sea.sea.Map object>
run(jobname, input_fname)
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.