def run(self):
        logger.info('StatsStep4 object running, %s' % self.thisDir)
        lsc.verifyDirExists(self.thisDir)
        lsc.createTimestamp(os.path.join(self.thisDir, 'xml', 'stats.step4.start.xml'))
        
        cmds, pipes = lsc.statsStep4Cmds(self.thisDir, self.thisParentDir, self.options)
        lsc.runCommands(cmds, self.getLocalTempDir(), outPipes = pipes)

        lsc.createTimestamp(os.path.join(self.thisDir, 'xml', 'stats.step4.end.xml'))
        if lsc.isLeaf(self.thisDir):
            lsc.lastOneOutTurnOffTheLightsSimulation(self.options.simDir, self.options)
 def run(self):
     logger.info('TransalignStep object running, thisDir: %s thisParentDir: %s' 
                 % (self.thisDir, self.thisParentDir))
     lsc.verifyDirExists(self.thisDir)
     lsc.createTimestamp(os.path.join(self.thisDir, 'xml', 'transalign.start.xml'))
     
     cmds, pipes = lsc.transalignStepCmds_1(self.thisDir, self.thisParentDir, self.options)
     lsc.runCommands(cmds, self.getLocalTempDir(), outPipes = pipes)
     
     lsc.runTransalignStepCmds_2(self.thisDir, self.thisParentDir, 
                                  self.getLocalTempDir(), self.options)
     
     lsc.createTimestamp(os.path.join(self.thisDir, 'xml', 'transalign.end.xml'))
     lsc.lastOneOutTurnOffTheLightsCycle(self.thisDir)
     if lsc.isLeaf(self.thisDir):
         lsc.lastOneOutTurnOffTheLightsSimulation(self.options.simDir, self.options)