def run(self): previousOutputFile = None previousOutputFile2 = None blanchettePath = os.path.join(TestStatus.getPathToDataSets(), "blanchettesSimulation") for i in xrange(self.options.blanchetteRepeats): trueAlignmentMFA = os.path.join(os.path.join(blanchettePath, "%.2i.job" % i), "true.mfa") trueAlignmentMAF = os.path.join(self.getLocalTempDir(), "temp.maf") treeFile = os.path.join(blanchettePath, "tree.newick") system("mfaToMaf --mfaFile %s --outputFile %s --treeFile %s" % (trueAlignmentMFA, trueAlignmentMAF, treeFile)) trueRenamedMAF = trueAlignmentMAF + ".renamed" expPath = os.path.join(self.outputDir, str(i), "experiment.xml") applyNamingToMaf(expPath, trueAlignmentMAF, trueRenamedMAF) trueAlignmentMAF = trueRenamedMAF if self.params.vanilla == False: predictedAlignmentMaf = os.path.join(self.outputDir, str(i), "progressiveCactusAlignment", "Anc0", "Anc0.maf") else: predictedAlignmentMaf = os.path.join(self.outputDir, str(i), "cactusVanilla.maf") outputFile = os.path.join(self.getLocalTempDir(), "temp%i" % i) system("mafComparator --mafFile1 %s --mafFile2 %s --outputFile %s" % (trueAlignmentMAF, predictedAlignmentMaf, outputFile)) system("cp %s %s" % (outputFile, os.path.join(self.outputDir, str(i), "mafComparison.xml"))) if previousOutputFile != None: system("mergeMafComparatorResults.py --results1 %s --results2 %s --outputFile %s" % (outputFile, previousOutputFile, outputFile)) previousOutputFile = outputFile system("mv %s %s" % (previousOutputFile, os.path.join(self.outputDir, "mafComparison.xml")))
def run(self): if not os.path.exists(self.outputFile): outputFile = os.path.join(self.getLocalTempDir(), "temp.xml") trueRenamedMAF = os.path.join(self.getLocalTempDir(), "true_renamed.maf") outputDir = os.path.split(self.outputFile)[0] expPath = os.path.join(outputDir, "experiment.xml") applyNamingToMaf(expPath, self.trueMaf, trueRenamedMAF) self.trueMaf = trueRenamedMAF system("mafComparator --mafFile1 %s --mafFile2 %s --outputFile %s" % (self.trueMaf, self.predictedMaf, outputFile)) system("mv %s %s" % (outputFile, self.outputFile))