Пример #1
0
 def __init__(self,
              db=DEFUALT_DB_DIRECTORY,
              cachesize=1,
              nproc=0,
              mode="c"):
     self.mode = mode
     self.nproc = nproc
     self.db = db
     try:
         self.metadata = self.load_metadata(mode)
     except (bsddb3.db.DBNoSuchFileError, bsddb3.db.DBError) as e:
         print(e)
         if isinstance(e, bsddb3.db.DBError):
             raise OSError(
                 "You don't have permission to access this directory %s ." %
                 self.db)
         else:
             raise OSError(
                 "Cannot find a BIGSI at %s. Run `bigsi init` or BIGSI.create()"
                 % db)
     else:
         self.metadata = self.load_metadata(mode=mode)
         self.bloom_filter_size = int.from_bytes(
             self.metadata['bloom_filter_size'], 'big')
         self.num_hashes = int.from_bytes(self.metadata['num_hashes'],
                                          'big')
         self.kmer_size = int.from_bytes(self.metadata['kmer_size'], 'big')
         self.scorer = Scorer(self.get_num_colours())
         self.graph = ProbabilisticBerkeleyDBStorage(
             filename=self.graph_filename,
             bloom_filter_size=self.bloom_filter_size,
             num_hashes=self.num_hashes,
             mode=mode)
         self.graph.sync()
         self.metadata.sync()
Пример #2
0
 def __init__(self, config=None):
     if config is None:
         config = DEFAULT_CONFIG
     self.config = config
     self.storage = get_storage(config)
     SampleMetadata.__init__(self, self.storage)
     KmerSignatureIndex.__init__(self, self.storage)
     self.min_unique_kmers_in_query = (
         MIN_UNIQUE_KMERS_IN_QUERY
     )  ## TODO this can be inferred and set at build time
     self.scorer=Scorer(self.num_samples)
Пример #3
0
def test_score():
    s = "1111111111111111111111111111111111111111110000000000000000000000000000001111111111111111111111100000000000000000000100000010001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000100000000010001111111111000000000000100000000000000000000000000000000100000000000010000000010000001000000000010000000000000000010001111111100000000000001100010000000000000000000001000000000000110000000000000000000000100000000000000000000100000000000000001010001111111111100000000000000000000100100010011111111111111111100000000001001000001000000000000000000000000000001000000010100000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111100000010110001000100000000000000000000000000000000000001000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100010000000100000000001010000001111111111111111111111111111111111111111111111111111111111111111100100000000010000000010000000001111111111111111111111111111111111111111111111111111111111111111111111100000100000000000010000000000000010000000011111111000000100010"
    scorer = Scorer(5*10**5)
    assert scorer.score(s) == {'length': 1174,
                               'max_mismatches': 269,
                               'max_nident': 1156,
                               'max_pident': 98.46678023850085,
                               'max_score': 1119.98,
                               'min_mismatches': 18,
                               'min_nident': 905,
                               'min_pident': 77.08688245315162,
                               'min_score': 96.04,
                               'mismatches': 33,
                               'nident': 1141,
                               'pident': 97.18909710391823,
                               'score': 1064.89,
                               'evalue': 0.0,
                               'pvalue': 0.0,
                               'log_evalue': -1407.74,
                               'log_pvalue': -1407.74}
Пример #4
0
def test_score():
    s = "1111111111111111111111111111111111111111110000000000000000000000000000001111111111111111111111100000000000000000000100000010001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000100000000010001111111111000000000000100000000000000000000000000000000100000000000010000000010000001000000000010000000000000000010001111111100000000000001100010000000000000000000001000000000000110000000000000000000000100000000000000000000100000000000000001010001111111111100000000000000000000100100010011111111111111111100000000001001000001000000000000000000000000000001000000010100000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111100000010110001000100000000000000000000000000000000000001000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100010000000100000000001010000001111111111111111111111111111111111111111111111111111111111111111100100000000010000000010000000001111111111111111111111111111111111111111111111111111111111111111111111100000100000000000010000000000000010000000011111111000000100010"
    scorer = Scorer(5 * 10**5)
    assert scorer.score(s) == {
        "length": 1174,
        "max_mismatches": 269,
        "max_nident": 1156,
        "max_pident": 98.46678023850085,
        "max_score": 1119.98,
        "min_mismatches": 18,
        "min_nident": 905,
        "min_pident": 77.08688245315162,
        "min_score": 96.04,
        "mismatches": 33,
        "nident": 1141,
        "pident": 97.18909710391823,
        "score": 1064.89,
        "evalue": 0.0,
        "pvalue": 0.0,
        "log_evalue": -1407.74,
        "log_pvalue": -1407.74,
    }