def test_genome_empty(self): epidb = DeepBlueClient(address="localhost", port=31415) self.init(epidb) hg18_genome_info = None with open("data/genomes/hg18", 'r') as f: hg18_genome_info = f.read().replace(",", "") mm9_genome_info = None with open("data/genomes/mm9", 'r') as f: mm9_genome_info = f.read().replace(",", "") res = epidb.add_genome("hg18", "Human genome 18", hg18_genome_info, self.admin_key) self.assertSuccess(res) res = epidb.add_genome("mm9", "Mouse genome 9", mm9_genome_info, self.admin_key) self.assertSuccess(res) (res, genomes) = epidb.list_genomes(self.admin_key) self.assertEqual(len(genomes), 2) genome_names = [x[1] for x in genomes] self.assertTrue("hg18" in genome_names) self.assertTrue("mm9" in genome_names)
def test_remove_genome(self): epidb = DeepBlueClient(address="localhost", port=31415) self.init(epidb) genome_info = None with open("data/genomes/hg19", 'r') as f: genome_info = f.read().replace(",", "") res = epidb.add_genome("A1", "ANGELICA", genome_info, self.admin_key) self.assertSuccess(res) genome_id = res[1] res, user = epidb.add_user("user1", "*****@*****.**", "test", self.admin_key) self.assertSuccess(res, user) res = epidb.remove(genome_id, user[1]) self.assertFailure(res) res = epidb.add_genome("A1", "XUXA", genome_info, self.admin_key) self.assertFailure(res) (res, genomes) = epidb.list_genomes(self.admin_key) self.assertEqual(len(genomes), 1) self.assertEqual(genomes[0][0], genome_id) self.assertEqual(genomes[0][1], "A1") res = epidb.remove(genome_id, self.admin_key) self.assertSuccess(res) res = epidb.add_genome("A1", "XUXA", genome_info, self.admin_key) self.assertSuccess(res) status, found = epidb.search("XUXA", "", self.admin_key) self.assertEqual(len(found), 2) status, found = epidb.search("ANGELICA", "", self.admin_key) self.assertEqual(len(found), 0) status, genomes = epidb.list_genomes(self.admin_key) self.assertSuccess(status, genomes) for genome in genomes: res = epidb.remove(genome[0], self.admin_key) self.assertSuccess(res) res, anns = epidb.list_annotations(genome[1], self.admin_key) self.assertEqual(len(anns), 0)
def test_misc_formats(self): epidb = DeepBlueClient(address="localhost", port=31415) self.init_base(epidb) files = ["chr_s_e_name.bed", "chr_s_e_score.bed", "bed10.bed"] print epidb.list_genomes(self.admin_key) for f in files: print f content = open("data/bed/" + f).read() res, q1 = epidb.input_regions("hg19", content, self.admin_key) print epidb.info(q1, self.admin_key) fmt = epidb.info(q1, self.admin_key)[1][0]['args']['format'] self.assertSuccess(res, q1) print fmt r, r1 = epidb.get_regions(q1, fmt, self.admin_key) self.assertSuccess(r, r1) for l in self.get_regions_request(r1).split("\n"): print l print len(l.split("\t"))
def test_genome_hg19(self): epidb = DeepBlueClient(address="localhost", port=31415) self.init(epidb) genome_info = None with open("data/genomes/hg19", 'r') as f: genome_info = f.read().replace(",", "") res = epidb.add_genome("hg19", "Human genome 19", genome_info, self.admin_key) self.assertSuccess(res) (res, genomes) = epidb.list_genomes(self.admin_key) self.assertEqual(len(genomes), 1) self.assertEqual(genomes[0][1], "hg19") r1 = epidb.chromosomes("hg19", self.admin_key) r2 = epidb.chromosomes("g1", self.admin_key) self.assertEqual(len(r1[1]), 93) self.assertEqual(r1[1][0][0], "chr1") self.assertEqual(r1[1][0][1], 249250621)
def test_remove_annotation(self): epidb = DeepBlueClient(address="localhost", port=31415) self.init_base(epidb) file_data = None with open("data/cpgIslandExt.txt", 'r') as f: file_data = f.read() res = epidb.add_annotation( "Cpg Islands", "hg19", "CpG islands are associated ...", file_data, "", { "url": "genome.ucsc.edu/cgi-bin/hgTables?db=hg19&hgta_group=regulation&hgta_track=cpgIslandExt&hgta_table=cpgIslandExt&hgta_doSchema=describe+table+schema" }, self.admin_key) self.assertSuccess(res) annotation_id = res[1] res, user = epidb.add_user("user1", "*****@*****.**", "test", self.admin_key) self.assertSuccess(res, user) res = epidb.remove(annotation_id, user[1]) self.assertFailure(res) res = epidb.remove(annotation_id, self.admin_key) self.assertSuccess(res) res = epidb.add_annotation( "Cpg Islands", "hg19", "CpG islands are associated ...", file_data, "", { "url": "genome.ucsc.edu/cgi-bin/hgTables?db=hg19&hgta_group=regulation&hgta_track=cpgIslandExt&hgta_table=cpgIslandExt&hgta_doSchema=describe+table+schema" }, self.admin_key) self.assertSuccess(res) annotation_id = res[1] res, genomes = epidb.search("hg19", "genomes", self.admin_key) res, anns = epidb.remove(genomes[0][0], self.admin_key) self.assertFailure(res, anns) self.assertEqual(anns, "This genome is being used by annotations.") res = epidb.add_annotation( "Cpg Islands", "hg19", "CpG islands are associated ...", file_data, "", { "url": "genome.ucsc.edu/cgi-bin/hgTables?db=hg19&hgta_group=regulation&hgta_track=cpgIslandExt&hgta_table=cpgIslandExt&hgta_doSchema=describe+table+schema" }, self.admin_key) self.assertFailure(res) res = epidb.remove(annotation_id, self.admin_key) self.assertSuccess(res) res = epidb.add_annotation( "Cpg Islands", "hg19", "CpG islands are associated ...", file_data, "", { "url": "genome.ucsc.edu/cgi-bin/hgTables?db=hg19&hgta_group=regulation&hgta_track=cpgIslandExt&hgta_table=cpgIslandExt&hgta_doSchema=describe+table+schema" }, self.admin_key) self.assertSuccess(res) res = epidb.remove(res[1], self.admin_key) self.assertSuccess(res) res, genomes = epidb.list_genomes(self.admin_key) for genome in genomes: res = epidb.remove(genome[0], self.admin_key) self.assertSuccess(res) res, anns = epidb.list_annotations("hg18", self.admin_key) self.assertSuccess(res, anns) self.assertEqual(len(anns), 0) res, anns = epidb.list_annotations("hg19", self.admin_key) self.assertSuccess(res, anns) self.assertEqual(len(anns), 0)