示例#1
0
 def run(self):
     #Load the multi-cactus project
     project = MultiCactusProject()
     project.readXML(self.args[0])
     #Create jobs to create the output sequences
     configNode = ET.parse(project.getConfigPath()).getroot()
     ConfigWrapper(configNode).substituteAllPredefinedConstantsWithLiterals() #This is necessary..
     #Create the preprocessor
     self.addChildTarget(CactusPreprocessor(project.getInputSequencePaths(), 
                                            CactusPreprocessor.getOutputSequenceFiles(project.getInputSequencePaths(), project.getOutputSequenceDir()),
                                            configNode))
     #Now build the progressive-down target
     schedule = Schedule()
     schedule.loadProject(project)
     schedule.compute()
     if self.options.event == None:
         self.options.event = project.mcTree.getRootName()
     assert self.options.event in project.expMap
     leafNames = [ project.mcTree.getName(i) for i in project.mcTree.getLeaves() ]
     self.options.globalLeafEventSet = set(leafNames)
     self.setFollowOnTarget(ProgressiveDown(self.options, project, self.options.event, schedule))