def trans(self, filename, format): original_records = list(SeqIO.parse(open(filename, "rU"), format)) # now open a connection to load the database server = BioSeqDatabase.open_database(driver = DBDRIVER, user = DBUSER, passwd = DBPASSWD, host = DBHOST, db = TESTDB) db_name = "test_trans1_%s" % filename # new namespace! db = server.new_database(db_name) count = db.load(original_records) self.assertEqual(count, len(original_records)) server.commit() #Now read them back... biosql_records = [db.lookup(name=rec.name) for rec in original_records] #And check they agree self.assertTrue(compare_records(original_records, biosql_records)) #Now write to a second name space... db_name = "test_trans2_%s" % filename # new namespace! db = server.new_database(db_name) count = db.load(biosql_records) self.assertEqual(count, len(original_records)) #Now read them back again, biosql_records2 = [db.lookup(name=rec.name) for rec in original_records] #And check they also agree self.assertTrue(compare_records(original_records, biosql_records2)) #Done server.close()
def trans(self, filename, format): original_records = list(SeqIO.parse(filename, format)) # now open a connection to load the database server = BioSeqDatabase.open_database(driver=DBDRIVER, user=DBUSER, passwd=DBPASSWD, host=DBHOST, db=TESTDB) db_name = "test_trans1_%s" % filename # new namespace! db = server.new_database(db_name) count = db.load(original_records) self.assertEqual(count, len(original_records)) server.commit() # Now read them back... biosql_records = [db.lookup(name=rec.name) for rec in original_records] # And check they agree self.assertTrue(compare_records(original_records, biosql_records)) # Now write to a second name space... db_name = "test_trans2_%s" % filename # new namespace! db = server.new_database(db_name) count = db.load(biosql_records) self.assertEqual(count, len(original_records)) # Now read them back again, biosql_records2 = [ db.lookup(name=rec.name) for rec in original_records ] # And check they also agree self.assertTrue(compare_records(original_records, biosql_records2)) # Done server.close()
def loop(self, filename, format): original_records = list(SeqIO.parse(open(filename, "rU"), format)) # now open a connection to load the database server = BioSeqDatabase.open_database(driver = DBDRIVER, user = DBUSER, passwd = DBPASSWD, host = DBHOST, db = TESTDB) db_name = "test_loop_%s" % filename # new namespace! db = server.new_database(db_name) count = db.load(original_records) self.assertEqual(count, len(original_records)) server.commit() #Now read them back... biosql_records = [db.lookup(name=rec.name) for rec in original_records] #And check they agree self.assertTrue(compare_records(original_records, biosql_records)) #Now write to a handle... handle = StringIO() SeqIO.write(biosql_records, handle, "gb") #Now read them back... handle.seek(0) new_records = list(SeqIO.parse(handle, "gb")) #And check they still agree self.assertEqual(len(new_records), len(original_records)) for old, new in zip(original_records, new_records): #TODO - remove this hack because we don't yet write these (yet): for key in ["comment", "references", "db_source"]: if key in old.annotations and key not in new.annotations: del old.annotations[key] self.assertTrue(compare_record(old, new)) #Done server.close()
def loop(self, filename, format): original_records = list(SeqIO.parse(filename, format)) # now open a connection to load the database server = BioSeqDatabase.open_database(driver=DBDRIVER, user=DBUSER, passwd=DBPASSWD, host=DBHOST, db=TESTDB) db_name = "test_loop_%s" % filename # new namespace! db = server.new_database(db_name) count = db.load(original_records) self.assertEqual(count, len(original_records)) server.commit() # Now read them back... biosql_records = [db.lookup(name=rec.name) for rec in original_records] # And check they agree self.assertTrue(compare_records(original_records, biosql_records)) # Now write to a handle... handle = StringIO() SeqIO.write(biosql_records, handle, "gb") # Now read them back... handle.seek(0) new_records = list(SeqIO.parse(handle, "gb")) # And check they still agree self.assertEqual(len(new_records), len(original_records)) for old, new in zip(original_records, new_records): # TODO - remove this hack because we don't yet write these (yet): for key in ["comment", "references", "db_source"]: if key in old.annotations and key not in new.annotations: del old.annotations[key] self.assertTrue(compare_record(old, new)) # Done handle.close() server.close()