Beispiel #1
0
    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']])
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
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)
Beispiel #5
0
    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)