schrodinger.application.desmond.stage.deprecate module

This module allows for the removal and renaming of multisim concrete stage classes. These stages may still be present in legacy checkpoint files, which is allowed provided that the stage is before the restore point.

When deprecating stages, update the picklejar.py script such that it will look for the class in this module rather than in its original module. In addition, since tests which load checkpoint files containing these deprecated stages will raise warnings, and in the mmshare directory tests that raise warnings fail, those checkpoint files will need to be updated to remove deprecated stages.

Copyright Schrodinger, LLC. All rights reserved.

exception schrodinger.application.desmond.stage.deprecate.RemovedStageError

Bases: Exception

class schrodinger.application.desmond.stage.deprecate.MustSkip(should_pack=True)

Bases: schrodinger.application.desmond.cmj.StageBase

This stage functionality is no longer supported and cannot be executed (ie must be skipped or be before the restore point in a checkpoint)

NAME = None
migrate_param(param)

Because the original class is removed, any non-base class params will result in errors on parsing, even though they will not be used as the class is never executed. To fix this we remove any param attributes not defined in cmj.StageBase, excepting protected fields. param.should_skip must be false if the stage is executed, which is verified in `self.crunch. :param param: a param corresponding to this stage class to migrate

crunch()

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

class schrodinger.application.desmond.stage.deprecate.ForcefieldBuilder(should_pack=True)

Bases: schrodinger.application.desmond.stage.deprecate.MustSkip

NAME = 'ffbuilder'
class schrodinger.application.desmond.stage.deprecate.AlignCore(should_pack=True)

Bases: schrodinger.application.desmond.stage.deprecate.MustSkip

NAME = 'align_core'
class schrodinger.application.desmond.stage.deprecate.SolvatePocket(should_pack=True)

Bases: schrodinger.application.desmond.stage.deprecate.MustSkip

NAME = 'solvate_pocket'
class schrodinger.application.desmond.stage.deprecate.VacuumReport(should_pack=True)

Bases: schrodinger.application.desmond.stage.deprecate.MustSkip

NAME = 'vacuum_report'
class schrodinger.application.desmond.stage.deprecate.FepMapperReport(should_pack=True)

Bases: schrodinger.application.desmond.stage.deprecate.MustSkip

NAME = 'fep_mapper_report'