Package schrodinger :: Package application :: Package desmond :: Module extend_fep :: Class Workflow
[hide private]
[frames] | no frames]

Class Workflow

object --+
         |
        Workflow
Known Subclasses:

Here we assume the user launches the workflow from the top level directory of a mapper job. We then expect the individual perturbation files to be in <jobname>_PERTURBATION_STAGE directory

Each edge will have a unique msj created from the top-level complex/solvent msj

Instance Methods [hide private]
 
__init__(self, work_list, prep_only=False, force=False)
x.__init__(...) initializes x; see help(type(x)) for signature
 
initPrepDir(self, wu)
 
crunch(self)
This will execute the workflow
 
multisimLogPresent(self)
This will check for the presence of the multisim log file.
bool
stageThree(self)
Launch it @return : We return True if we successfully launch a job, False otherwise
 
prepForRemoteRun(self)
This prepares all the necessary files for running the remote job.
 
preparePerturbDir(self, remote_run_dir)
This prepares the perturbation directory which contains the subjob stages.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, work_list, prep_only=False, force=False)
(Constructor)

 

x.__init__(...) initializes x; see help(type(x)) for signature

Parameters:
  • work_list (list of Workunit objects) - List containg Workunit objects to be sent to jobDJ
  • prep_only (bool) - This option can be used to prepare the launch file only
  • force (bool) - If set this will ignore the fact that a log is not present in the cwd and launch the job
Overrides: object.__init__

multisimLogPresent(self)

 

This will check for the presence of the multisim log file. When we launch a workflow we backup the original by moving it, therfore, if we launch a second workflow before the first is done the file will not be found and we will not allow the second job to be launched.

prepForRemoteRun(self)

 

This prepares all the necessary files for running the remote job. This will generate a tgz file which is tx to the remote host for running. If the prep_only option is given to the workflow the tgz file generated can be manually tx and run.

preparePerturbDir(self, remote_run_dir)

 

This prepares the perturbation directory which contains the subjob stages. This is the stage 3 directory in the master workflow. This really just does a lot of file massaging.

Parameters:
  • remote_run_dir (string) - The directory name of remote_run_dir