def test_filter_regions(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init_full(epidb)

    res, qid = epidb.select_regions("hg19_chr1_1", "hg19", None, None, None,
                                 None, None, None, None, self.admin_key)
    self.assertSuccess(res, qid)

    res, qid2 = epidb.filter_regions(qid, "START",  ">=", "875400 ", "number", self.admin_key)
    self.assertSuccess(res, qid2)

    res, req = epidb.get_regions(qid2, "CHROMOSOME,START,END", self.admin_key)
    self.assertSuccess(res, req)
    regions = self.get_regions_request(req)

    # Test filter with string values
    expected_regions = helpers.get_result("filter_ge_875400")
    self.assertEqual(regions, expected_regions)

    res, qid3 = epidb.filter_regions(qid, "STRAND",  "==", "+", "string", self.admin_key)
    self.assertSuccess(res, qid3)

    res, req = epidb.get_regions(qid3, "CHROMOSOME,START,END,STRAND", self.admin_key)
    self.assertSuccess(res, req)
    regions = self.get_regions_request(req)
    self.assertEqual(regions, 'chr1\t713240\t713390\t+\nchr1\t713900\t714050\t+\nchr1\t714160\t714310\t+\nchr1\t714540\t714690\t+\nchr1\t715060\t715210\t+\nchr1\t762060\t762210\t+\nchr1\t839540\t839690\t+\nchr1\t840080\t840230\t+\nchr1\t860240\t860390\t+\nchr1\t875400\t875550\t+\nchr1\t876180\t876330\t+')

    res, qid3 = epidb.filter_regions(qid, "STRAND",  "!=", "+", "string", self.admin_key)
    self.assertSuccess(res, qid3)

    res, req = epidb.get_regions(qid3, "CHROMOSOME,START,END,STRAND", self.admin_key)
    self.assertSuccess(res, req)
    regions = self.get_regions_request(req)
    self.assertEqual(regions, 'chr1\t713520\t713670\t-\nchr1\t761180\t761330\t-\nchr1\t762420\t762570\t.\nchr1\t762820\t762970\t-\nchr1\t763020\t763170\t-\nchr1\t840600\t840750\t-\nchr1\t858880\t859030\t.\nchr1\t859600\t859750\t.\nchr1\t861040\t861190\t-\nchr1\t875900\t876050\t-')
Exemplo n.º 2
0
    def test_result(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        self.insert_experiment(epidb, "hg19_small")
        res, qid = epidb.select_regions("hg19_small", "hg19", None, None, None,
                                        None, "chrM", None, None,
                                        self.admin_key)
        self.assertSuccess(res, qid)
        fmt = "CHROMOSOME,START,END,@NAME,@SEQUENCE,@LENGTH,@EPIGENETIC_MARK,@PROJECT,@BIOSOURCE,@SAMPLE_ID"

        res, req = epidb.get_regions(qid, fmt, self.admin_key)
        self.assertSuccess(res, req)
        msg = self.get_regions_request_error(req)
        self.assertEquals(msg,
                          'Sequence file with name hg19.chrM was not found')

        sequence = open("data/genomes/chromosomes/chrM.fa").read()
        res = epidb.upload_chromosome("hg19", "chrM", sequence, self.admin_key)
        self.assertSuccess(res)
        fmt = "CHROMOSOME,START,END,@NAME,@SEQUENCE,@LENGTH,@EPIGENETIC_MARK,@PROJECT,@BIOSOURCE"
        res, req = epidb.get_regions(qid, fmt, self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)

        expected = """chrM\t0\t1\thg19_small\tG\t1\tH3K4me3\tENCODE\tK562
chrM\t1\t2\thg19_small\tA\t1\tH3K4me3\tENCODE\tK562
chrM\t2\t4\thg19_small\tTC\t2\tH3K4me3\tENCODE\tK562
chrM\t4\t8\thg19_small\tACAG\t4\tH3K4me3\tENCODE\tK562
chrM\t8\t16\thg19_small\tGTCTATCA\t8\tH3K4me3\tENCODE\tK562
chrM\t16\t32\thg19_small\tCCCTATTAACCACTCA\t16\tH3K4me3\tENCODE\tK562"""

        self.assertEquals(regions, expected)
Exemplo n.º 3
0
    def test_extend(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        (s, query_id) = epidb.tiling_regions(100000000, "hg18", "chr1",
                                             self.admin_key)
        (s, r_id) = epidb.get_regions(query_id, "CHROMOSOME,START,END",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         "chr1\t0\t100000000\nchr1\t100000000\t200000000")

        (s, f_id) = epidb.extend(query_id, 10000000, "FORWARD", False,
                                 self.admin_key)
        (s, r_id) = epidb.get_regions(f_id, "CHROMOSOME,START,END",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         "chr1\t0\t110000000\nchr1\t100000000\t210000000")

        (s, f_id) = epidb.extend(query_id, 10000000, "BACKWARD", False,
                                 self.admin_key)
        (s, r_id) = epidb.get_regions(f_id, "CHROMOSOME,START,END",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         "chr1\t0\t100000000\nchr1\t90000000\t200000000")

        (s, f_id) = epidb.extend(query_id, 10000000, "BOTH", False,
                                 self.admin_key)
        (s, r_id) = epidb.get_regions(f_id, "CHROMOSOME,START,END",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         "chr1\t0\t110000000\nchr1\t90000000\t210000000")
    def test_gene_retrieve(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)
        data = open("data/gtf/gencode.v23.basic.annotation_head.gtf").read()
        (s, ss) = epidb.add_gene_model("Test One", "hg19",
                                       "Test One Description", data, "GTF", {},
                                       self.admin_key)
        self.assertSuccess(s, ss)

        (s, query_id) = epidb.select_genes(
            ["ENSG00000223972.5", "ENSG00000223972.5", "DDX11L1"], "",
            "Test One", None, None, None, self.admin_key)
        (s, r_id) = epidb.get_regions(query_id, "CHROMOSOME,START,END",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEquals("chr1\t11869\t14409", regions)

        (s, r_id) = epidb.get_regions(
            query_id,
            "CHROMOSOME,START,END,@GENE_ATTRIBUTE(gene_id),@GENE_ATTRIBUTE(gene_name),@NAME",
            self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEquals(
            "chr1\t11869\t14409\tENSG00000223972.5\tDDX11L1\tTest One",
            regions)

        (s, r_id) = epidb.get_regions(
            query_id,
            "CHROMOSOME,START,END,@GENE_ATTRIBUTE(gene_id),@GENE_ATTRIBUTE(gene_name),@NAME,@GENE_ATTRIBUTE(noooo)",
            self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEquals(
            "chr1\t11869\t14409\tENSG00000223972.5\tDDX11L1\tTest One\t",
            regions)

        (s, r_id) = epidb.get_regions(
            query_id,
            "CHROMOSOME,SOURCE,FEATURE,START,END,GTF_SCORE,STRAND,FRAME,GTF_ATTRIBUTES,@GENE_ATTRIBUTE(gene_name)",
            self.admin_key)

        regions = self.get_regions_request(r_id)
        self.assertEquals(
            'chr1\tHAVANA\tgene\t11869\t14409\t.\t+\t.\tgene_id "ENSG00000223972.5"; gene_name "DDX11L1"; gene_status "KNOWN"; gene_type "transcribed_unprocessed_pseudogene"; havana_gene "OTTHUMG00000000961.2"; level "2"\tDDX11L1',
            regions)

        (s, query_id) = epidb.select_genes(None, "", "Test One", None, None,
                                           None, self.admin_key)
        (s, request_id) = epidb.count_regions(query_id, self.admin_key)

        (s, r_id) = epidb.get_regions(
            query_id,
            "CHROMOSOME,START,END,@GENE_ATTRIBUTE(gene_id),@GENE_ATTRIBUTE(gene_name),@NAME,@GENE_ID(Test One),@GENE_NAME(Test One)",
            self.admin_key)
        regions = self.get_regions_request(r_id)

        for line in regions.split("\n"):
            ls = line.split("\t")
            self.assertEquals(ls[3], ls[6])
            self.assertEquals(ls[4], ls[7])
Exemplo n.º 5
0
    def test_annotation_shuffle(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        cpg_island = ",".join([
            "CHROMOSOME", "START", "END", "NAME", "LENGTH", "NUM_CPG",
            "NUM_GC", "PER_CPG", "PER_CG", "OBS_EXP"
        ])

        file_data = None
        with open("data/cpgIslandExtFull.bed", 'r') as f:
            file_data = f.read()

        res = epidb.add_annotation(
            "Cpg Islands", "hg19", "CpG islands are associated ...", file_data,
            cpg_island, {
                "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, qid = epidb.select_annotations("Cpg Islands", "hg19", None, None,
                                            None, self.admin_key)
        self.assertSuccess(res, qid)

        res, req = epidb.get_regions(qid, "CHROMOSOME,START,END",
                                     self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)

        # ---

        file_data = None
        with open("data/cpgIslandExtShuffle.bed", 'r') as f:
            file_data = f.read()

        res = epidb.add_annotation(
            "Cpg Islands Shuffle", "hg19", "CpG islands are associated ...",
            file_data, cpg_island, {
                "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, qid_shuffle = epidb.select_annotations("Cpg Islands Shuffle",
                                                    "hg19", None, None, None,
                                                    self.admin_key)
        self.assertSuccess(res, qid)

        res, req_shuffle = epidb.get_regions(qid_shuffle,
                                             "CHROMOSOME,START,END",
                                             self.admin_key)
        self.assertSuccess(res, req)
        regions_shuffle = self.get_regions_request(req_shuffle)
        self.assertEqual(regions_shuffle, regions)

        self.assertEqual(regions, regions_shuffle)
Exemplo n.º 6
0
    def test_calculated_math(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)
        sample_id = self.sample_ids[0]

        # adding two experiments with the same data should work
        res = epidb.add_experiment(
            "test_exp1", "hg19", "Methylation", sample_id, "tech1", "ENCODE",
            "desc1", "", "wig",
            {"__local_file__": "../tests/data/wig/scores1.wig"},
            self.admin_key)
        self.assertSuccess(res)

        res, qid1 = epidb.select_regions("test_exp1", "hg19", None, None, None,
                                         None, None, None, None,
                                         self.admin_key)
        self.assertSuccess(res, qid1)

        res = epidb.create_column_type_calculated("calculated_error",
                                                  "description",
                                                  "return value_of('SCORE')",
                                                  self.admin_key)
        self.assertSuccess(res)
        (s, req) = epidb.get_regions(
            qid1, "CHROMOSOME,START,END,VALUE, calculated_error",
            self.admin_key)
        regions = self.get_regions_request(req)
        self.assertEqual(
            regions.split("\n")[0],
            "chr1\t0\t10\t8.1235\tInvalid column name SCORE")

        res = epidb.create_column_type_calculated(
            "calculated_dummy", "description",
            "return value_of('START') - value_of('END') * value_of('VALUE')",
            self.admin_key)
        self.assertSuccess(res)
        (s, req) = epidb.get_regions(
            qid1, "CHROMOSOME,START,END,VALUE, calculated_dummy",
            self.admin_key)
        regions = self.get_regions_request(req)
        r = regions.split("\n")[0].split("\t")[4]
        self.assertEqual(r, '-81.234570')

        res = epidb.create_column_type_calculated(
            "calculated_norm_by_length", "description",
            "return math.sqrt(value_of('VALUE') / (value_of('END') - value_of('START')))",
            self.admin_key)
        self.assertSuccess(res)
        (s, req) = epidb.get_regions(
            qid1, "CHROMOSOME,START,END,VALUE, calculated_norm_by_length",
            self.admin_key)
        regions = self.get_regions_request(req)
        r = regions.split("\n")[0].split("\t")[4]
        self.assertEqual(r, '0.901302')
Exemplo n.º 7
0
    def test_flank_genes(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        data = open("data/gtf/gencode.v23.basic.annotation_head.gtf").read()

        (s, ss) = epidb.add_gene_model("Test One", "hg19",
                                       "Test One Description", data, "GTF", {},
                                       self.admin_key)
        self.assertSuccess(s, ss)

        (info, ss) = epidb.info(ss, self.admin_key)

        print ss

        (s, query_id) = epidb.select_genes([
            "ENSG00000223972.5", "ENSG00000223972.5", "DDX11L1", "RP11-34P13.7"
        ], "", "Test One", None, None, None, self.admin_key)
        (s, r_id) = epidb.get_regions(query_id, "CHROMOSOME,START,END,STRAND",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         "chr1\t11869\t14409\t+\nchr1\t89295\t133723\t-")

        (s, f_id) = epidb.flank(query_id, -2500, 2000, False, self.admin_key)
        (s, r_id) = epidb.get_regions(f_id, "CHROMOSOME,START,END,STRAND",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         "chr1\t9369\t11369\t+\nchr1\t86795\t88795\t-")

        (s, f_id) = epidb.flank(query_id, -2500, 2000, True, self.admin_key)
        (s, r_id) = epidb.get_regions(f_id, "CHROMOSOME,START,END,STRAND",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         'chr1\t9369\t11369\t+\nchr1\t134223\t136223\t-')

        (s, f_id) = epidb.flank(query_id, 2500, 2000, False, self.admin_key)
        (s, r_id) = epidb.get_regions(f_id, "CHROMOSOME,START,END,STRAND",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         "chr1\t16909\t18909\t+\nchr1\t136223\t138223\t-")

        (s, f_id) = epidb.flank(query_id, 2500, 2000, True, self.admin_key)
        (s, r_id) = epidb.get_regions(f_id, "CHROMOSOME,START,END,STRAND",
                                      self.admin_key)
        regions = self.get_regions_request(r_id)
        self.assertEqual(regions,
                         'chr1\t16909\t18909\t+\nchr1\t84795\t86795\t-')
Exemplo n.º 8
0
    def test_load_bedgraph(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        sample_id = self.sample_ids[0]
        regions_data = gzip.open("data/bedgraph/chr19.txt.gz").read()

        # adding two experiments with the same data should work
        res = epidb.add_experiment(
            "S0022IH2.ERX300681.H3K36me3.bwa.GRCh38.20150528.bedgraph", "hg19",
            "Methylation", sample_id, "tech1", "ENCODE", "desc1", regions_data,
            "bedgraph", {"md5sum": "afd4af5afd5afd4af5afd5afd4af5afd5"},
            self.admin_key)
        self.assertSuccess(res)

        (status, query_id) = epidb.select_regions(
            "#afd4af5afd5afd4af5afd5afd4af5afd5", None, None, None, None, None,
            "chr19", 49388217, 49417994, self.admin_key)

        self.assertSuccess(status, query_id)

        (status, input) = epidb.input_regions("hg19",
                                              "chr19\t49388217\t49417994",
                                              self.admin_key)
        self.assertSuccess(status, input)

        (status, query_overlap) = epidb.intersection(query_id, input,
                                                     self.admin_key)
        self.assertSuccess(status, query_overlap)

        (status, request_id) = epidb.get_regions(query_id,
                                                 "CHROMOSOME,START,END,VALUE",
                                                 self.admin_key)
        self.assertSuccess(status, request_id)
        (status,
         overlap_request_id) = epidb.get_regions(query_id,
                                                 "CHROMOSOME,START,END,VALUE",
                                                 self.admin_key)
        self.assertSuccess(status, overlap_request_id)

        by_select = self.get_regions_request(request_id)
        by_overlap = self.get_regions_request(overlap_request_id)

        self.assertEqual(by_overlap, by_select)
        self.assertTrue(len(by_select) > 0)

        (status, info) = epidb.info("#afd4af5afd5afd4af5afd5afd4af5afd5",
                                    self.admin_key)
        self.assertEquals(info[0]["_id"], "e1")
Exemplo n.º 9
0
    def test_multiple_genomes_2(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base()

        sample_id = self.sample_ids[0]

        format = "CHROMOSOME,START,END"

        self.insert_experiment(epidb, "hg18_chr1_1", sample_id)
        self.insert_experiment(epidb, "hg19_chr1_1", sample_id)
        self.insert_experiment(epidb, "hg19_chr1_2", sample_id)

        # retrieve every paired combination
        combinations = [(["hg18_chr1_1", "hg19_chr1_2"], "multiple_genomes"),
                        (["hg18_chr1_1", "hg19_chr1_1"], "multiple_genomes_2"),
                        (["hg19_chr1_1",
                          "hg19_chr1_2"], "multiple_experiments")]

        for (experiments, result_regions) in combinations:
            res, qid = epidb.select_regions(experiments, ["hg18", "hg19"],
                                            None, None, None, None, None, None,
                                            None, self.admin_key)
            self.assertSuccess(res, qid)
            res, req = epidb.get_regions(qid, format, self.admin_key)
            self.assertSuccess(res, req)
            regions = self.get_regions_request(req)

            regions_expected = helpers.get_result(result_regions)
            self.assertEqual(regions, regions_expected)
Exemplo n.º 10
0
    def test_multiple_genomes(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base()

        sample_id = self.sample_ids[0]

        format = "CHROMOSOME,START,END"

        self.insert_experiment(epidb, "hg18_chr1_1", sample_id)
        self.insert_experiment(epidb, "hg19_chr1_2", sample_id)

        multiple_genomes_regions = helpers.get_result("multiple_genomes")

        # there was a bug in internal merge procedure triggered by the order of genomes
        for genomes in [["hg19", "hg18"], ["hg18", "hg19"]]:

            res, qid = epidb.select_regions(["hg18_chr1_1", "hg19_chr1_2"],
                                            genomes, None, None, None, None,
                                            None, None, None, self.admin_key)
            self.assertSuccess(res, qid)

            res, req = epidb.get_regions(qid, format, self.admin_key)
            self.assertSuccess(res, req)
            regions = self.get_regions_request(req)

            self.assertEqual(regions, multiple_genomes_regions)
Exemplo n.º 11
0
    def test_malformed_format(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base()

        self.insert_experiment(epidb, "hg19_chr1_1")

        # test various bad format strings that should fail
        bad_formats = [
            ",",
            "chr,start,,",
            "chr,start:0:,end",
            "chr,start:0:foo,end",
            "CHROMOSOME,START,,",
            "CHROMOSOME,START:0:,end",
            "CHROMOSOME,START:0:foo,end",
        ]

        res, qid = epidb.select_regions("hg19_chr1_1", "hg19", None, None,
                                        None, None, None, None, None,
                                        self.admin_key)
        self.assertSuccess(res, qid)

        for fmt in bad_formats:
            res, req = epidb.get_regions(qid, fmt, self.admin_key)
            self.assertFailure(res, req)
Exemplo n.º 12
0
    def test_error_maximum_number_of_instructions(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)
        sample_id = self.sample_ids[0]

        # adding two experiments with the same data should work
        res = epidb.add_experiment(
            "test_exp1", "hg19", "Methylation", sample_id, "tech1", "ENCODE",
            "desc1", "", "wig",
            {"__local_file__": "../tests/data/wig/scores1.wig"},
            self.admin_key)
        self.assertSuccess(res)

        res, qid1 = epidb.select_regions("test_exp1", "hg19", None, None, None,
                                         None, None, None, None,
                                         self.admin_key)
        self.assertSuccess(res, qid1)

        # missing math. before log
        (s, req) = epidb.get_regions(
            qid1,
            "CHROMOSOME,START,END,VALUE,@CALCULATED(while 1 do math.log(value_of('VALUE')) end return 'never')",
            self.admin_key)
        self.assertSuccess(s, req)

        msg = self.get_regions_request_error(req)
        self.assertEqual(
            msg, 'The maximum number of instructions has been reached')
Exemplo n.º 13
0
    def test_add_with_out_of_bound_region(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        sample_id = self.sample_ids[0]
        regions_data = helpers.load_bed("hg18_out_of_bounds")
        _format = data_info.EXPERIMENTS["hg19_chr1_1"]["format"]

        res = epidb.add_experiment("test_exp1", "hg19", "Methylation",
                                   sample_id, "tech1", "ENCODE", "desc1",
                                   regions_data, _format, None, self.admin_key)
        self.assertFailure(res)

        res = epidb.add_experiment("test_exp1", "hg19", "Methylation",
                                   sample_id, "tech1", "ENCODE", "desc1",
                                   regions_data, _format,
                                   {"__trim_to_chromosome_size__": True},
                                   self.admin_key)
        self.assertSuccess(res)

        res, q_exp = epidb.select_regions("test_exp1", "hg19", None, None,
                                          None, None, None, None, None,
                                          self.admin_key)
        res, req = epidb.get_regions(q_exp, _format, self.admin_key)

        data = self.get_regions_request(req)

        regions_data_okay = helpers.load_bed("hg18_out_of_bounds_okay")

        self.assertEqual(data, regions_data_okay)
Exemplo n.º 14
0
    def test_long_sequence_content(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        sequence = open("data/genomes/chromosomes/hg19.chr19").read()
        res = epidb.upload_chromosome("hg19", "chr19", sequence,
                                      self.admin_key)
        self.assertSuccess(res)

        join_seq = "".join(sequence.split("\n"))

        data = "chr19\t0\t59128983"
        ann_name = "Full chr19"
        (s, aid) = epidb.add_annotation(ann_name, "hg19", None, data, None,
                                        None, self.admin_key)
        (s, sid) = epidb.select_annotations(ann_name, "hg19", None, None, None,
                                            self.admin_key)

        fmt = "@SEQUENCE"
        (s, req) = epidb.get_regions(sid, fmt, self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)

        self.assertEqual(len(regions), len(join_seq))
        self.assertEqual(regions, join_seq)
Exemplo n.º 15
0
    def test_get_sequences(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        sequence = open("data/genomes/chromosomes/chrM.fa").read()
        res = epidb.upload_chromosome("hg19", "chrM", sequence, self.admin_key)

        data = """chrM\t1\t30
chrM\t2\t31
chrM\t2340\t2377"""
        ann_name = "Interesting Regions at chrM"
        (s, aid) = epidb.add_annotation(ann_name, "hg19", None, data, None,
                                        None, self.admin_key)
        self.assertSuccess(s, aid)
        (s, sid) = epidb.select_annotations(ann_name, "hg19", None, None, None,
                                            self.admin_key)
        self.assertSuccess(s, sid)

        fmt = "CHROMOSOME,START,END,@NAME,@SEQUENCE,@LENGTH"
        (s, req) = epidb.get_regions(sid, fmt, self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)

        expected = """chrM\t1\t30\tInteresting Regions at chrM\tATCACAGGTCTATCACCCTATTAACCACT\t29
chrM\t2\t31\tInteresting Regions at chrM\tTCACAGGTCTATCACCCTATTAACCACTC\t29
chrM\t2340\t2377\tInteresting Regions at chrM\tGCCTGCGTCAGATCAAAACACTGAACTGACAATTAAC\t37"""
        self.assertEqual(regions, expected)
    def test_wig_files(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        sample_id = self.sample_ids[0]

        files = [
            "scores1", "scores2", "scores3", "scores4", "scores5", "scores6",
            "scores7", "yeast_pol2", "yeast_rap1"
        ]

        for filename in files:
            wig_data = helpers.load_wig(filename)
            res = epidb.add_experiment(filename, "hg19", "Methylation",
                                       sample_id, "tech1", "ENCODE", "desc1",
                                       wig_data, "wig", None, self.admin_key)
            self.assertSuccess(res)

        (s, r) = epidb.select_regions(files, "hg19", None, None, None, None,
                                      None, None, None, self.admin_key)
        (s, rs) = epidb.get_regions(r, "CHROMOSOME, START, END, VALUE",
                                    self.admin_key)

        (s, req) = epidb.count_regions(r, self.admin_key)
        count = self.count_request(req)
        self.assertEqual(5667, count)
Exemplo n.º 17
0
    def test_calculated_get_region(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)
        sample_id = self.sample_ids[0]

        # adding two experiments with the same data should work
        res = epidb.add_experiment(
            "test_exp1", "hg19", "Methylation", sample_id, "tech1", "ENCODE",
            "desc1", "", "wig",
            {"__local_file__": "../tests/data/wig/scores1.wig"},
            self.admin_key)
        self.assertSuccess(res)

        res, qid1 = epidb.select_regions("test_exp1", "hg19", None, None, None,
                                         None, None, None, None,
                                         self.admin_key)
        self.assertSuccess(res, qid1)

        (s, req) = epidb.get_regions(
            qid1,
            "CHROMOSOME,START,END,VALUE,@CALCULATED(return math.log(value_of('VALUE'))),@CALCULATED(em = value_of('@EPIGENETIC_MARK') if em == 'Methylation' then return 'it is methylation!' else return 'it is not methylation' end)",
            self.admin_key)

        self.assertSuccess(s, req)

        regions_1 = self.get_regions_request(req)

        r0 = regions_1.split('\n')[0].split('\t')[3]
        r1 = regions_1.split('\n')[0].split('\t')[4]
        r2 = regions_1.split('\n')[0].split('\t')[5]

        self.assertEqual(r0, '8.1235')
        self.assertEqual(r1, '2.094756')
        self.assertEqual(r2, 'it is methylation!')
Exemplo n.º 18
0
    def test_experiment_name_metacolumn2(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base()

        self.insert_experiment(epidb, "hg19_chr1_1")
        self.insert_experiment(epidb, "hg19_chr1_2")

        res, qid1 = epidb.select_regions("hg19_chr1_2", "hg19", None, None,
                                         None, None, None, 750000, 770000,
                                         self.admin_key)
        self.assertSuccess(res, qid1)
        res, qid2 = epidb.select_regions("hg19_chr1_1", "hg19", None, None,
                                         None, None, None, 750000, 770000,
                                         self.admin_key)
        self.assertSuccess(res, qid2)

        res, qid3 = epidb.merge_queries(qid1, qid2, self.admin_key)
        self.assertSuccess(res, qid3)

        expected = helpers.get_result("experiment_name_multiple_experiments")
        res, req = epidb.get_regions(qid3, "CHROMOSOME,START,END,@NAME",
                                     self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)
        l_regions = regions.split("\n")
        l_expected = expected.split("\n")
        self.assertEqual(set(l_regions), set(l_expected))
Exemplo n.º 19
0
  def test_merge_tiling(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init_full(epidb)

    res, qid1 = epidb.tiling_regions(10000, "hg19", "chr1", self.admin_key)
    self.assertSuccess(res, qid1)

    res, qid2 = epidb.select_regions("hg19_chr1_1", "hg19", None, None, None, None, None, None, None, self.admin_key)
    self.assertSuccess(res, qid2)

    # limit the tilings on the range of the experiment
    res, qid3 = epidb.filter_regions(qid1, "START",  ">=", "713240", "number", self.admin_key)
    self.assertSuccess(res, qid3)
    res, qid4 = epidb.filter_regions(qid3, "END",  "<=", "876330", "number", self.admin_key)
    self.assertSuccess(res, qid4)

    res, qid5 = epidb.merge_queries(qid4, qid2, self.admin_key)
    self.assertSuccess(res, qid5)

    res, req = epidb.get_regions(qid5, "CHROMOSOME,START,END", self.admin_key)
    self.assertSuccess(res, req)
    regions = self.get_regions_request(req)

    expected_regions = helpers.get_result("merge_tiling")
    self.assertEqual(regions, expected_regions)
Exemplo n.º 20
0
    def test_biosource_true_hierarchy(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)
        sample_id = self.sample_ids[0]

        data = "chr1\t100\t110\t1\nchr1\t200\t400\t0\nchr1\t400\t500\t1\nchr1\t200\t400\t0\n"
        format = "CHROMOSOME,START,END,SCORE"

        (res, a_1) = epidb.add_experiment(
            "test", "hg19", "H3K4me3", sample_id, "tech1", "ENCODE",
            "wgEncodeBroadHistoneH1hescH3k27me3StdPk.bed from ENCODE", data,
            format, None, self.admin_key)

        self.assertSuccess(res, a_1)

        (s, q) = epidb.select_regions("test", "hg19", None, None, None, None,
                                      "chr1", None, None, self.admin_key)

        (s, tl) = epidb.tiling_regions(150000000, "hg19", "chr1",
                                       self.admin_key)

        res, qid_4 = epidb.aggregate(q, tl, "SCORE", self.admin_key)
        s, req = epidb.get_regions(
            qid_4,
            "CHROMOSOME,START,END,@AGG.MIN,@AGG.MAX,@AGG.MEAN,@AGG.COUNT",
            self.admin_key)
        self.assertSuccess(s, req)

        rs = self.get_regions_request(req)

        self.assertEquals(rs, "chr1\t0\t150000000\t0.0000\t1.0000\t0.5000\t4")
    def test_result_ids_reuse(self):
        """
        Test the request-ID's returned by list_requests
        """
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_full(epidb)

        s, id = epidb.add_epigenetic_mark("DNA Methylation", "", {}, self.admin_key)
        self.assertSuccess(s, id)
        s, query_id = epidb.select_regions(None, "hg19", "DNA Methylation", None, None, None, "chr1", None, None, self.admin_key)
        self.assertSuccess(s, query_id)

        requests = []
        for i in xrange(0, 10):
            s, request_id = epidb.get_regions(query_id, "CHROMOSOME,START,END", self.admin_key)
            self.assertSuccess(s, request_id)
            requests.append(request_id)

        s, requests_list = epidb.list_requests(None, self.admin_key)
        self.assertSuccess(s, requests_list)

        for _id, status in requests_list:
            self.assertTrue(_id in requests)

        requests_ids = [r[0] for r in requests_list]

        self.assertEquals(len(requests_ids), 1)
    def test_performance(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        (s, project) = epidb.add_project("DEEP", "Deutsche Epigenom",
                                         self.admin_key)
        self.assertSuccess(s, project)

        data = gzip.open(
            "data/gtf/gencode.v19.annotation.ONLY_GENES.gtf.gz").read()
        (s, ss) = epidb.add_gene_model("gencode v19", "hg19",
                                       "Test One Description", data, "GTF", {},
                                       self.admin_key)
        self.assertSuccess(s, ss)

        data = gzip.open(
            "data/fpkm/51_Hf03_BlTN_Ct_mRNA_M_1.LXPv1.20150708_genes.fpkm_tracking.gz"
        ).read()
        (s, gene_expression) = epidb.add_expression("gene", "s2", 1, data,
                                                    "cufflinks", "DEEP", None,
                                                    self.admin_key)
        self.assertSuccess(s, gene_expression)

        (status, gx_query) = epidb.select_expressions("gene", "s2", 1, None,
                                                      "DEEP", "gencode v19",
                                                      self.admin_key)
        self.assertSuccess(status, gx_query)

        (status, r_id) = epidb.get_regions(
            gx_query,
            "@GENE_ID(gencode v19),@GENE_NAME(gencode v19),FPKM,CHROMOSOME,START,END,FPKM,@BIOSOURCE,@SAMPLE_ID,@STRAND",
            self.admin_key)
        self.assertSuccess(status, r_id)
        data = self.get_regions_request(r_id)
Exemplo n.º 23
0
    def test_calculated_metafield(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)
        sample_id = self.sample_ids[0]

        # adding two experiments with the same data should work
        res = epidb.add_experiment(
            "test_exp1", "hg19", "Methylation", sample_id, "tech1", "ENCODE",
            "desc1", "", "wig",
            {"__local_file__": "../tests/data/wig/scores1.wig"},
            self.admin_key)
        self.assertSuccess(res)

        res, qid1 = epidb.select_regions("test_exp1", "hg19", None, None, None,
                                         None, None, None, None,
                                         self.admin_key)
        self.assertSuccess(res, qid1)

        res = epidb.create_column_type_calculated(
            "calculated", "description",
            "return 'EM and Name: - '.. value_of('@EPIGENETIC_MARK') .. ' - ' .. value_of('@NAME')",
            self.admin_key)
        self.assertSuccess(res)

        (s, req) = epidb.get_regions(qid1,
                                     "CHROMOSOME,START,END,VALUE, calculated",
                                     self.admin_key)
        self.assertSuccess(s, req)
        regions = self.get_regions_request(req)
        r = regions.split("\n")[0].split("\t")[4]

        self.assertEqual(r, 'EM and Name: - Methylation - test_exp1')
Exemplo n.º 24
0
    def test_chromosome_explicit(self):
        # regression test: chromosome was put in the first column no matter
        # what the format string specified

        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base()

        self.insert_experiment(epidb, "hg19_chr1_1")

        (s, m) = epidb.create_column_type_simple("foobar", "", "string",
                                                 self.admin_key)
        self.assertSuccess(s, m)

        full_experiment_regions = helpers.get_result("full_experiment_regions")

        res, qid = epidb.select_regions("hg19_chr1_1", "hg19", None, None,
                                        None, None, None, None, None,
                                        self.admin_key)
        self.assertSuccess(res, qid)

        fmt = "foobar,START,END,NAME,SCORE,STRAND,SIGNAL_VALUE,P_VALUE,Q_VALUE,PEAK"
        res, req = epidb.get_regions(qid, fmt, self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)
        self.assertNotEqual(regions, full_experiment_regions)

        fmt = "START,START,END,NAME,SCORE,STRAND,SIGNAL_VALUE,P_VALUE,Q_VALUE,PEAK"
        res, req = epidb.get_regions(qid, fmt, self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)
        self.assertNotEqual(regions, full_experiment_regions)

        # leave out chromosome entirely
        regions_wo_chr = helpers.get_result("full_experiment_regions_wo_chr")

        # Creating another column, named NAME, that in the experiment is name.
        # This column should return empty.
        (s, m) = epidb.create_column_type_simple("COISA", "", "string",
                                                 self.admin_key)
        self.assertSuccess(s, m)

        fmt = "START,END,COISA,SCORE,STRAND,SIGNAL_VALUE,P_VALUE,Q_VALUE,PEAK"
        res, req = epidb.get_regions(qid, fmt, self.admin_key)
        regions = self.get_regions_request(req)

        self.assertSuccess(res, regions)
        self.assertEqual(regions, regions_wo_chr)
Exemplo n.º 25
0
  def test_metacolumn_experiment_name(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init_base()

    res, qid = epidb.tiling_regions(1000000, "hg19", "chrY", self.admin_key)
    self.assertSuccess(res, qid)

    res, req = epidb.get_regions(qid, "CHROMOSOME,START,END,experiment_name", self.admin_key)
    self.assertEqual(req, "125000:Column name 'experiment_name' does not exist.")

    res, req = epidb.get_regions(qid, "CHROMOSOME,START,END,experiment_NAME: ", self.admin_key)
    self.assertEqual(req, "125000:Column name 'experiment_NAME:' does not exist.")

    expected = """chrY\t0\t1000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t1000000\t2000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t2000000\t3000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t3000000\t4000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t4000000\t5000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t5000000\t6000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t6000000\t7000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t7000000\t8000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t8000000\t9000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t9000000\t10000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t10000000\t11000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t11000000\t12000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t12000000\t13000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t13000000\t14000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t14000000\t15000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t15000000\t16000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t16000000\t17000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t17000000\t18000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t18000000\t19000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t19000000\t20000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t20000000\t21000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t21000000\t22000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t22000000\t23000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t23000000\t24000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t24000000\t25000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t25000000\t26000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t26000000\t27000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t27000000\t28000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t28000000\t29000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t29000000\t30000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t30000000\t31000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t31000000\t32000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t32000000\t33000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t33000000\t34000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t34000000\t35000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t35000000\t36000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t36000000\t37000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t37000000\t38000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t38000000\t39000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t39000000\t40000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t40000000\t41000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t41000000\t42000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t42000000\t43000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t43000000\t44000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t44000000\t45000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t45000000\t46000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t46000000\t47000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t47000000\t48000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t48000000\t49000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t49000000\t50000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t50000000\t51000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t51000000\t52000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t52000000\t53000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t53000000\t54000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t54000000\t55000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t55000000\t56000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t56000000\t57000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t57000000\t58000000\tTiling regions of 1000000 (Genome hg19)\t1000000\nchrY\t58000000\t59000000\tTiling regions of 1000000 (Genome hg19)\t1000000"""
    res, req = epidb.get_regions(qid, "CHROMOSOME,START,END,@NAME,@LENGTH", self.admin_key)
    self.assertSuccess(res, req)
    regions = self.get_regions_request(req)
    self.assertEqual(regions, expected)
Exemplo n.º 26
0
    def test_insert_local_file(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)
        sample_id = self.sample_ids[0]

        # adding two experiments with the same data should work
        (res, _id) = epidb.add_experiment(
            "test_exp1", "hg19", "Methylation", sample_id, "tech1", "ENCODE",
            "desc1", "", "wig",
            {"__local_file__": "../tests/data/wig/scores1.wig"},
            self.admin_key)
        self.assertSuccess(res, _id)

        res = epidb.add_experiment("test_exp1", "hg19", "Methylation",
                                   sample_id, "tech1", "ENCODE", "desc1", "",
                                   "wig",
                                   {"__local_file__": "inexistent_file.wig"},
                                   self.admin_key)
        self.assertFailure(res)

        res, experiments = epidb.list_experiments("hg19", "signal", None,
                                                  "K562", None, None, None,
                                                  self.admin_key)
        self.assertSuccess(res, experiments)
        self.assertEqual(len(experiments), 1)

        res, qid1 = epidb.select_regions("test_exp1", "hg19", None, None, None,
                                         None, None, None, None,
                                         self.admin_key)
        self.assertSuccess(res, qid1)
        (s, req1) = epidb.get_regions(qid1, "CHROMOSOME,START,END",
                                      self.admin_key)
        self.assertSuccess(s, req1)
        data1 = self.get_regions_request(req1)

        res, qid1 = epidb.select_regions(_id, None, None, None, None, None,
                                         None, None, None, self.admin_key)
        self.assertSuccess(res, qid1)
        (s, req2) = epidb.get_regions(qid1, "CHROMOSOME,START,END",
                                      self.admin_key)
        self.assertSuccess(s, req2)
        data2 = self.get_regions_request(req2)

        self.assertEqual(data1, data2)
Exemplo n.º 27
0
    def test_output_format(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        file_data = open("data/cpgIslandAllFields.txt").read()

        cpg_island = ",".join([
            "CHROMOSOME", "START", "END", "NAME", "LENGTH", "NUM_CPG",
            "NUM_GC", "PER_CPG", "PER_CG", "OBS_EXP"
        ])

        res = epidb.add_annotation("Cpg Islands", "hg19", "CpG islands",
                                   file_data, cpg_island, None, self.admin_key)
        self.assertSuccess(res)

        res, qid_1 = epidb.select_annotations("Cpg Islands", "hg19", None,
                                              None, None, self.admin_key)
        self.assertSuccess(res, qid_1)
        self.assertEqual(qid_1, 'q1')

        res, req = epidb.count_regions(qid_1, self.admin_key)
        self.assertSuccess(res, req)
        count = self.count_request(req)
        self.assertEqual(10, count)

        res, req = epidb.get_regions(
            qid_1,
            "chr:start:end:name:length:cpgNum:gcNum:perCpg:perGc:obsExp",
            self.admin_key)
        self.assertEquals(
            req,
            "125000:Column name 'chr:start:end:name:length:cpgNum:gcNum:perCpg:perGc:obsExp' does not exist."
        )

        res, req = epidb.get_regions(
            qid_1,
            "CHROMOSOME,START,END,NAME,LENGTH,NUM_CPG,NUM_GC,PER_CPG,PER_CG,OBS_EXP",
            self.admin_key)
        regions = self.get_regions_request(req)

        expected = 'chr1\t28735\t29810\tCpG: 116\t1075\t116\t787\t21.6000\t73.2000\t0.8300\nchr1\t135124\t135563\tCpG: 30\t439\t30\t295\t13.7000\t67.2000\t0.6400\nchr1\t327790\t328229\tCpG: 29\t439\t29\t295\t13.2000\t67.2000\t0.6200\nchr1\t437151\t438164\tCpG: 84\t1013\t84\t734\t16.6000\t72.5000\t0.6400\nchr1\t449273\t450544\tCpG: 99\t1271\t99\t777\t15.6000\t61.1000\t0.8400\nchr1\t533219\t534114\tCpG: 94\t895\t94\t570\t21.0000\t63.7000\t1.0400\nchr1\t544738\t546649\tCpG: 171\t1911\t171\t1405\t17.9000\t73.5000\t0.6700\nchr1\t713984\t714547\tCpG: 60\t563\t60\t385\t21.3000\t68.4000\t0.9200\nchr1\t762416\t763445\tCpG: 115\t1029\t115\t673\t22.4000\t65.4000\t1.0700\nchr1\t788863\t789211\tCpG: 28\t348\t28\t192\t16.1000\t55.2000\t1.0600'

        self.assertSuccess(res, regions)
        self.assertEquals(expected, regions)
Exemplo n.º 28
0
  def test_full_genome(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init_base()

    res, qid = epidb.tiling_regions(1000000, "hg19", None, self.admin_key)
    self.assertSuccess(res, qid)

    res, req = epidb.get_regions(qid, "CHROMOSOME,START,END", self.admin_key)
    self.assertSuccess(res, req)
    regions = self.get_regions_request(req)
Exemplo n.º 29
0
    def removeest_remove_experiment(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        eid1 = self.insert_experiment(epidb, "hg18_chr1_1")

        (s, q) = epidb.select_regions("hg18_chr1_1", "hg18", None, None, None,
                                      None, None, None, None, self.admin_key)
        self.assertSuccess(s, q)

        (s, regions) = epidb.get_regions(q, "CHROMOSOME,START,END",
                                         self.admin_key)
        self.assertSuccess(s, regions)

        (s, id_clone_plus) = epidb.clone_dataset(
            eid1, "novo experimen", "getting only the default values", "", {
                "new data": "true",
                "cool": "a lot"
            }, user[1])
        self.assertSuccess(s, id_clone_plus)

        res, user = epidb.add_user("user1", "*****@*****.**", "test",
                                   self.admin_key)
        self.assertSuccess(res, user)
        res = epidb.remove(eid1, user[1])
        self.assertFailure(res)
        (s, id_removed) = epidb.remove(eid1, self.admin_key)
        self.assertSuccess(s, id_removed)
        self.assertEqual(id_removed, eid1)

        (s, q2) = epidb.select_regions("novo experimen", "hg18", None, None,
                                       None, None, None, None, None,
                                       self.admin_key)
        self.assertSuccess(s, q)

        (s, regions2) = epidb.get_regions(q2, "CHROMOSOME,START,END",
                                          self.admin_key)
        self.assertSuccess(s, regions)

        (s, id_removed) = epidb.remove(id_clone_plus, user[1])
        self.assertSuccess(s, id_removed)
        self.assertEqual(id_removed, id_clone_plus)
Exemplo n.º 30
0
    def test_complex1(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_full(epidb)

        res, qid_1_1 = epidb.select_regions("hg19_chr1_1", "hg19", None, None,
                                            None, None, None, None, None,
                                            self.admin_key)
        #server.get_regions(qid_1_1, )

        self.assertSuccess(res, qid_1_1)
        res, qid_1_2 = epidb.select_regions("hg19_chr1_2", "hg19", None, None,
                                            None, None, None, None, None,
                                            self.admin_key)
        self.assertSuccess(res, qid_1_2)

        res, qid_2 = epidb.merge_queries(qid_1_1, qid_1_2, self.admin_key)
        self.assertSuccess(res, qid_2)

        res, regions = epidb.get_regions(qid_2, "CHROMOSOME,START,END",
                                         self.admin_key)
        self.assertSuccess(res, regions)

        res, qid_1_3 = epidb.select_regions("hg19_chr1_3", "hg19", None, None,
                                            None, None, None, None, None,
                                            self.admin_key)
        self.assertSuccess(res, qid_1_3)

        res, qid_5 = epidb.intersection(qid_2, qid_1_3, self.admin_key)
        self.assertSuccess(res, qid_5)

        res, req = epidb.get_regions(
            qid_5,
            "CHROMOSOME,START,END,NAME,SCORE,STRAND,SIGNAL_VALUE,P_VALUE,Q_VALUE,PEAK",
            self.admin_key)
        self.assertSuccess(res, req)
        regions = self.get_regions_request(req)

        expected_regions = helpers.get_result("complex1")
        self.assertEqual(
            regions.split("\n").sort(),
            expected_regions.split("\n").sort())