Esempio n. 1
0
    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)
Esempio n. 2
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)
Esempio n. 3
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"))
Esempio n. 4
0
    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)
Esempio n. 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)