def test_gmapCreateDB_case1(self): """Test _gmapCreateDB(refFile, isWithinRepository, tempRootDir). Condition: the reference is not within a reference repository. """ # Case 1: the reference is not within a reference repository files = PBAlignFiles() parser = argparse.ArgumentParser() argumentList = [self.queryFofn, self.refFa, self.outSam, '--algorithm', 'gmap'] parser, options, _info = parseOptions(argumentList=argumentList, parser=parser) service = GMAPService(options, files) dbRoot, dbName = service._gmapCreateDB(self.refFa, False, self.outDir) self.assertTrue(path.exists(dbRoot)) self.assertTrue(path.exists(path.join(dbRoot, dbName)))
def test_gmapCreateDB_case1(self): """Test _gmapCreateDB(refFile, isWithinRepository, tempRootDir). Condition: the reference is not within a reference repository. """ # Case 1: the reference is not within a reference repository files = PBAlignFiles() parser = argparse.ArgumentParser() argumentList = [ self.queryFofn, self.refFa, self.outSam, '--algorithm', 'gmap' ] parser, options, _info = parseOptions(argumentList=argumentList, parser=parser) service = GMAPService(options, files) dbRoot, dbName = service._gmapCreateDB(self.refFa, False, self.outDir) self.assertTrue(path.exists(dbRoot)) self.assertTrue(path.exists(path.join(dbRoot, dbName)))
def _createAlignService(self, name, args, fileNames, tempFileManager): """ Create and return an AlignService by algorithm name. Input: name : an algorithm name such as blasr fileNames : an PBAlignFiles object args : pbalign options tempFileManager: a temporary file manager Output: an object of AlignService subclass (such as BlasrService). """ if name not in ALGORITHM_CANDIDATES: errMsg = "ERROR: unrecognized algorithm {algo}".format(algo=name) logging.error(errMsg) raise ValueError(errMsg) service = None if name == "blasr": service = BlasrService(args, fileNames, tempFileManager) elif name == "bowtie": service = BowtieService(args, fileNames, tempFileManager) elif name == "gmap": service = GMAPService(args, fileNames, tempFileManager) else: errMsg = "Service for {algo} is not implemented.".\ format(algo=name) logging.error(errMsg) raise ValueError(errMsg) service.checkAvailability() return service
def test_gmapCreateDB_case2(self): """Test _gmapCreateDB(refFile, isWithinRepository, tempRootDir). Condition: the reference is within a reference repository. """ # Case 2: the reference is within a reference repository files = PBAlignFiles() parser = argparse.ArgumentParser() argumentList = [self.queryFofn, self.repoPath, self.outSam, '--algorithm', 'gmap'] parser, options, _info = parseOptions(argumentList=argumentList, parser=parser) service = GMAPService(options, files) dbRoot, dbName = service._gmapCreateDB(files.targetFileName, True, self.outDir) self.assertEqual(path.abspath(dbRoot), path.abspath(self.repoPath)) self.assertEqual(dbName, "gmap_db")
def test_gmapCreateDB_case2(self): """Test _gmapCreateDB(refFile, isWithinRepository, tempRootDir). Condition: the reference is within a reference repository. """ # Case 2: the reference is within a reference repository files = PBAlignFiles() parser = argparse.ArgumentParser() argumentList = [ self.queryFofn, self.repoPath, self.outSam, '--algorithm', 'gmap' ] parser, options, _info = parseOptions(argumentList=argumentList, parser=parser) service = GMAPService(options, files) dbRoot, dbName = service._gmapCreateDB(files.targetFileName, True, self.outDir) self.assertEqual(path.abspath(dbRoot), path.abspath(self.repoPath)) self.assertEqual(dbName, "gmap_db")