schrodinger.application.desmond.stage.utils module

schrodinger.application.desmond.stage.utils.check_cms_file(fname)
class schrodinger.application.desmond.stage.utils.SystemBuilder(*arg, **kwarg)

Bases: schrodinger.application.desmond.cmj.StageBase

NAME = 'system_builder'
SOLVENT = {'SPC': 'spc.box.mae', 'SPCFW': 'spcfw.box.mae', 'TIP3P': 'tip3p.box.mae', 'TIP4P': 'tip4p.box.mae', 'TIP4PD': 'tip4pd.box.mae', 'TIP4PEW': 'tip4pew.box.mae', 'TIP5P': 'tip5p.box.mae'}
SB_CMD = '/scr/buildbot/savedbuilds/2020-2/NB/build-063/utilities/system_builder'
PARAM = <schrodinger.utils.sea.Map object>
static merge_restrain(model: schrodinger.application.desmond.cms.Cms, param: schrodinger.utils.sea.Map, new_restr: List[schrodinger.application.desmond.cms.RestrainGroupContainer], old_restr: List[schrodinger.application.desmond.cms.RestrainGroupContainer])

Create restrain arrays/objects corresponding to the settings in param and merge them into new_restr. If the ‘ref’ or ‘reference_pos’ field of param equals ‘retain’, the reference positions from any matching restraints in old_restr are copied to the created restrain objects before they are merged into new_restr. :param model: the input cms model. It is not modified. :param param: The restrain parameters. ‘atom’, ‘fc’ or ‘force_constant’, ‘ref’ or ‘reference_position’, and ‘sigma’ are allowed :param new_restr: The collection of restrains that the new restrains will be merged into. :param old_restr: The collection of restrains to pull any corresponding reference positions from if ‘ref’ or ‘reference_position’ field == ‘retain’.

static gen_restraint(model, setting, job)

Generates restraints.

static check_update_legacy_permanent_restrain(job: schrodinger.application.desmond.stage.jobs.DesmondJob, model: schrodinger.application.desmond.cms.Cms)
static set_restrain(model: schrodinger.application.desmond.cms.Cms, setting: Union[schrodinger.utils.sea.List, schrodinger.utils.sea.Map], permanent_restr: Optional[List[schrodinger.application.desmond.cms.RestrainGroupContainer]] = None, job=None)

Set ffio_restrain block in cms model given the ‘restrain’ setting and any existing permanent restraints :param model: the cms model to add restraints to :param setting: the ‘restrain’ setting, as a sea.Map. :param permanent_restr: any optional ‘permanent’ restrain that is passed along with the job object and persists throughout the workflow. It can :param job: the job object

static merge_atom_group(model, group_key)
static set_atom_group(model, group, permanent_group=None)
__init__(*arg, **kwarg)
crunch()
hook_captured_successful_job(job)
prestage()
poststage()
capture(job)
check_param()
count = 0
describe()
determine()
pack_stage(force=False)
push(job)
release(is_restarting=False)

Calls the ‘crunch’ method to generate new jobs objects and submits them to the ‘QUEUE’.

restart_subjobs(jobs)

Subclass should override this if it supports subjob restarting.

stage_cls = {'aacg_sitemap': <class 'schrodinger.application.desmond.stage.app.matsci.Aacg_SiteMap_Multijob'>, 'align_core': <class 'schrodinger.application.desmond.stage.deprecate.AlignCore'>, 'analysis': <class 'schrodinger.application.desmond.stage.analysis.Analysis'>, 'assign_custom_charge': <class 'schrodinger.application.desmond.stage.prepare.forcefield.AssignCustomCharge'>, 'assign_forcefield': <class 'schrodinger.application.desmond.stage.prepare.forcefield.AssignForcefield'>, 'assign_lambda_schedule': <class 'schrodinger.application.desmond.stage.prepare.forcefield.AssignLambdaSchedule'>, 'average_cell': <class 'schrodinger.application.desmond.stage.app.matsci.AverageCell'>, 'binding_pose_fep_primer': <class 'schrodinger.application.desmond.stage.deprecate.BindingPoseFepPrimer'>, 'build_geometry': <class 'schrodinger.application.desmond.stage.prepare.structure.BuildGeometry'>, 'calc_ddg': <class 'schrodinger.application.desmond.stage.fep_mapper.CalcDdg'>, 'concatenate': <class 'schrodinger.application.desmond.stage.simulate.Concatenate'>, 'concluder': <class 'schrodinger.application.desmond.stage.workflow.Concluder'>, 'covalent_fep_mapper': <class 'schrodinger.application.desmond.stage.fep_mapper.CovalentFepMapper'>, 'desmond_extend': <class 'schrodinger.application.desmond.stage.simulate.DesmondExtend'>, 'disordered_system_builder': <class 'schrodinger.application.desmond.stage.prepare.structure.DisorderedSystemBuilder'>, 'extern': <class 'schrodinger.application.desmond.stage.workflow.Extern'>, 'extract_solute_structure': <class 'schrodinger.application.desmond.stage.prepare.structure.ExtractSoluteStructure'>, 'extract_structures': <class 'schrodinger.application.desmond.stage.prepare.structure.ExtractStructures'>, 'fep_absolute_binding_analysis': <class 'schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingAnalysis'>, 'fep_absolute_binding_fep_launcher': <class 'schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingFepLauncher'>, 'fep_absolute_binding_fep_primer': <class 'schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingFepPrimer'>, 'fep_absolute_binding_md_launcher': <class 'schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingMdLauncher'>, 'fep_absolute_binding_structure_primer': <class 'schrodinger.application.desmond.stage.app.absolute_binding.stage.FepAbsoluteBindingStructurePrimer'>, 'fep_analysis': <class 'schrodinger.application.desmond.stage.analysis.FepAnalysis'>, 'fep_binding_pose_primer': <class 'schrodinger.application.desmond.stage.app.binding_pose.FepBindingPosePrimer'>, 'fep_launcher': <class 'schrodinger.application.desmond.stage.launcher.FepLauncher'>, 'fep_mapper': <class 'schrodinger.application.desmond.stage.fep_mapper.FepMapper'>, 'fep_mapper_cleanup': <class 'schrodinger.application.desmond.stage.fep_mapper.FepMapperCleanup'>, 'fep_mapper_report': <class 'schrodinger.application.desmond.stage.fep_mapper.FepMapperReport'>, 'fep_vrun': <class 'schrodinger.application.desmond.stage.simulate.FepVrun'>, 'ffbuilder': <class 'schrodinger.application.desmond.stage.deprecate.ForcefieldBuilder'>, 'fragment_linking_primer': <class 'schrodinger.application.desmond.stage.app.fragment_linking.stage.FragmentLinkingPrimer'>, 'generate_solubility_fep_structures': <class 'schrodinger.application.desmond.stage.app.solubility.GenerateSolubilityFepStructures'>, 'generic': <class 'schrodinger.application.desmond.stage.simulate.GCMCCapable'>, 'hash_structure_title': <class 'schrodinger.application.desmond.stage.prepare.structure.HashStructureTitle'>, 'lambda_hopping': <class 'schrodinger.application.desmond.stage.simulate.LambdaHopping'>, 'load_restraints_from_structure': <class 'schrodinger.application.desmond.stage.prepare.forcefield.LoadRestraintsFromStructure'>, 'matsci_analysis': <class 'schrodinger.application.desmond.stage.app.matsci.MatSciAnalysis'>, 'minimize': <class 'schrodinger.application.desmond.stage.deprecate.Minimize'>, 'mixed_solvent_analysis': <class 'schrodinger.application.desmond.stage.app.mxmd.MixedSolventAnalysis'>, 'mixed_solvent_cleanup': <class 'schrodinger.application.desmond.stage.app.mxmd.MixedSolventCleanup'>, 'mixed_solvent_setup': <class 'schrodinger.application.desmond.stage.app.mxmd.MixedSolventSetup'>, 'multisim': <class 'schrodinger.application.desmond.stage.launcher.Multisim'>, 'pl_analysis': <class 'schrodinger.application.desmond.stage.analysis.PLAnalysis'>, 'primer': <class 'schrodinger.application.desmond.stage.workflow.Primer'>, 'protein_fep_mapper': <class 'schrodinger.application.desmond.stage.fep_mapper.ProteinFepMapper'>, 'protein_mutation_generator': <class 'schrodinger.application.desmond.stage.prepare.structure.ProteinMutationGenerator'>, 'replica_exchange': <class 'schrodinger.application.desmond.stage.simulate.ReplicaExchange'>, 'replicate_structure': <class 'schrodinger.application.desmond.stage.prepare.structure.ReplicateStructure'>, 'simulate': <class 'schrodinger.application.desmond.stage.simulate.Simulate'>, 'solubility_fep_analysis': <class 'schrodinger.application.desmond.stage.app.solubility.SolubilityFepAnalysis'>, 'solubility_fep_launcher': <class 'schrodinger.application.desmond.stage.app.solubility.SolubilityFepLauncher'>, 'solubility_md_launcher': <class 'schrodinger.application.desmond.stage.app.solubility.SolubilityMdLauncher'>, 'solvate_pocket': <class 'schrodinger.application.desmond.stage.deprecate.SolvatePocket'>, 'stop': <class 'schrodinger.application.desmond.stage.workflow.Stop'>, 'system_builder': <class 'schrodinger.application.desmond.stage.utils.SystemBuilder'>, 'task': <class 'schrodinger.application.desmond.stage.workflow.Task'>, 'trim': <class 'schrodinger.application.desmond.stage.workflow.Trim'>, 'vacuum_report': <class 'schrodinger.application.desmond.stage.fep_mapper.VacuumReport'>, 'vrun': <class 'schrodinger.application.desmond.stage.simulate.Vrun'>, 'watermap_cluster': <class 'schrodinger.application.desmond.stage.app.watermap.WaterMapCluster'>, 'watermap_post_analysis': <class 'schrodinger.application.desmond.stage.app.watermap.WaterMapPostAnalysis'>}
stage_obj = {}
time_stage()