def test_list_annotations2(self): epidb = DeepBlueClient(address="localhost", port=31415) self.init(epidb) res = epidb.add_genome("GRCh38", "GRCh38", "chr1 1000000\nchr2 2000000", self.admin_key) self.assertSuccess(res) status, anns = epidb.list_annotations("GRCh38", self.admin_key) self.assertEqual(anns, [['a1', 'Chromosomes size for GRCh38']])
def test_list_annotations(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(",", "") file_data = None with open("data/cpgIslandExt.txt", 'r') as f: file_data = f.read() res = epidb.add_genome("hg19", "Human genome 19", genome_info, 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.add_genome("hg19a", "Human genome 19a", genome_info, self.admin_key) self.assertSuccess(res) res = epidb.add_annotation( "Cpg Islands", "hg19a", "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.add_genome("hg19b", "Human genome 19b", genome_info, self.admin_key) self.assertSuccess(res) res = epidb.add_annotation( "Cpg Islands", "hg19b", "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) expected = [ 'okay', [['a1', 'Chromosomes size for hg19'], ['a2', 'Cpg Islands'], ['a3', 'Chromosomes size for hg19a'], ['a4', 'Cpg Islands'], ['a5', 'Chromosomes size for hg19b'], ['a6', 'Cpg Islands']] ] result = epidb.list_annotations("", self.admin_key) self.assertEqual(expected, result)
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_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) res, annotations = epidb.list_annotations("hg19", self.admin_key) self.assertSuccess(res, annotations) self.assertEqual(len(annotations), 2) self.assertEqual(annotations[0][1], "Chromosomes size for hg19") self.assertEqual(annotations[1][1], "Cpg Islands") size = len(file_data.split("\n")) res, qid = epidb.select_annotations("Cpg Islands", "hg19", None, None, None, self.admin_key) self.assertSuccess(res, qid) res, req = epidb.count_regions(qid, self.admin_key) self.assertSuccess(res, req) count = self.count_request(req) self.assertEqual(size, count) res, req = epidb.get_regions(qid, "CHROMOSOME,START,END", self.admin_key) self.assertSuccess(res, req) regions = self.get_regions_request(req) self.assertEqual(regions, file_data)
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)