def run(self): cmd = self.args.subCommand try: if cmd == 'merge': cmpH5Merge(self.args.inCmps, self.args.outCmp, self.args.referencesFile) elif cmd == 'sort': cmpH5Sort(self.args.inCmp, self.args.outCmp, self.args.tmpdir, deep = self.args.deepsort, useNative = not self.args.usePythonIndexer, inPlace = self.args.inPlace) elif cmd == 'select': cmpH5Select(self.args.inCmp, self.args.outCmp, idxs = self.args.idxs, whereStr = self.args.where, groupByStr = self.args.groupBy, groupByCsv = self.args.groupByCsv, outDir = self.args.outDir) elif cmd == 'stats': cmpH5Stats(self.args.inCmp, whatStr = self.args.what, whereStr = self.args.where, groupByStr = self.args.groupBy, sortByStr = self.args.sortBy, limit = self.args.limit, outFile = self.args.outCsv) elif cmd == 'listMetrics': print '--- Metrics:' print "\t\n".join(DocumentedMetric.list()) print '\n--- Statistics:' print "\t\n".join(DocumentedStatistic.list()) elif cmd == 'equal': ret = cmpH5Equal(self.args.inCmp1, self.args.inCmp2) if not ret[0]: print >> sys.stderr, ret[1] return 1 else: return 0 elif cmd == 'summarize': for inCmp in self.args.inCmps: print "".join(["-"] * 40) print cmpH5Summarize(inCmp) elif cmd == 'validate': if cmpH5Validate(self.args.inCmp): return 0 else: return 1 else: raise PBH5ToolsException("", "Unkown command passed to cmph5tools.py:" + self.args.subName) return 0 except PBH5ToolsException as pbe: logging.exception(pbe) return 1
def test_basic(self): inputFiles = [_CMP_H5] outputFile = self._getTempFile(suffix="_merge_basic.cmp.h5") cmpH5Merge(inputFiles, outputFile) n = _getNAlignments(outputFile) correctNAlignments = 2764 self.assertEqual(n, correctNAlignments)
def run(self): cmd = self.args.subCommand try: if cmd == 'merge': cmpH5Merge(self.args.inCmps, self.args.outCmp, self.args.referencesFile) elif cmd == 'sort': cmpH5Sort(self.args.inCmp, self.args.outCmp, self.args.tmpdir, deep=self.args.deepsort, useNative=not self.args.usePythonIndexer, inPlace=self.args.inPlace) elif cmd == 'select': cmpH5Select(self.args.inCmp, self.args.outCmp, idxs=self.args.idxs, whereStr=self.args.where, groupByStr=self.args.groupBy, groupByCsv=self.args.groupByCsv, outDir=self.args.outDir) elif cmd == 'stats': cmpH5Stats(self.args.inCmp, whatStr=self.args.what, whereStr=self.args.where, groupByStr=self.args.groupBy, sortByStr=self.args.sortBy, limit=self.args.limit, outFile=self.args.outCsv) elif cmd == 'listMetrics': print '--- Metrics:' print "\t\n".join(DocumentedMetric.list()) print '\n--- Statistics:' print "\t\n".join(DocumentedStatistic.list()) elif cmd == 'equal': ret = cmpH5Equal(self.args.inCmp1, self.args.inCmp2) if not ret[0]: print >> sys.stderr, ret[1] return 1 else: return 0 elif cmd == 'summarize': for inCmp in self.args.inCmps: print "".join(["-"] * 40) print cmpH5Summarize(inCmp) elif cmd == 'validate': if cmpH5Validate(self.args.inCmp): return 0 else: return 1 else: raise PBH5ToolsException( "", "Unkown command passed to cmph5tools.py:" + self.args.subName) return 0 except PBH5ToolsException as pbe: logging.exception(pbe) return 1
def test_output_file_in_inputs(self): inputFiles = [_CMP_H5] outputFile = _CMP_H5 with self.assertRaises(ValueError) as e: cmpH5Merge(inputFiles, outputFile)