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()
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)
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}
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, }