示例#1
0
 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)))
示例#2
0
 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)))
示例#3
0
    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
示例#4
0
 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")
示例#5
0
 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")