def test_01_getdata(self): data = dbaccess.getdata() self.failUnless(len(data.executables.keys()) > 0) for sequences in data.executables.values(): for seq in sequences: self.assertEquals(len(seq), config.SEQUENCE_LENGTHS)
def test_02_putdata(self): # fail if fake executable is present BEFORE putdata data = dbaccess.getdata() self.failIf("no such executable" in data.executables) # adding fake executable data.executables["no such executable"] = [ ('no', 'such', 'sequence'), ] dbaccess.putdata(data) # fail if NOT present AFTER putdata data = dbaccess.getdata() self.failUnless("no such executable" in data.executables) # removing del data.executables["no such executable"] dbaccess.putdata(data) # fail if fake executable is present after removing it data = dbaccess.getdata() self.failIf("no such executable" in data.executables)
def main(): data = dbaccess.getdata() dbaccess.check_seq_length_consistency(data.sequence_lengths) while True: input_line = sys.stdin.readline() if not input_line: break execname, uid, calls = reader.line2data(input_line) if execname not in data.executables: continue known_seqs = tuple(data.executables[execname]) minimum = min_distance(calls, known_seqs) if minimum > config.ALLOWED_MISMATCHES: print minimum, execname, calls
#!/usr/bin/python import os import config import dbaccess print "Database size:", os.stat(config.FILENAME).st_size / 1024, "KB\n" reader = dbaccess.getdata() execnames = reader.executables.keys() print len(execnames), "executables\n" with_counts = [ (len(reader.executables[execname]), execname) for execname in execnames ] print "Top 10:" for data in sorted(with_counts, reverse=True)[:10]: print data[1], data[0] print print round((reader.ending - reader.starting) / 60), "minutes"
#!/usr/bin/python import os import config import dbaccess print "Database size:", os.stat(config.FILENAME).st_size / 1024, "KB\n" reader = dbaccess.getdata() execnames = reader.executables.keys() print len(execnames), "executables\n" with_counts = [(len(reader.executables[execname]), execname) for execname in execnames] print "Top 10:" for data in sorted(with_counts, reverse=True)[:10]: print data[1], data[0] print print round((reader.ending - reader.starting) / 60), "minutes"
def test_02_min_distance_real_data(self): data = dbaccess.getdata() known_seqs = tuple(data.executables[data.executables.keys()[0]]) self.__min_distance_best_case(known_seqs) self.__min_distance_worst_case(known_seqs)