示例#1
0
    def test_bug_do_not_reuse_existing_query(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, q0) = epidb.select_regions("test", "hg19", None, None, None, None,
                                       "chr1", None, None, self.admin_key)
        (s, q1) = epidb.query_experiment_type(q0, "peaks", self.admin_key)

        (s, q00) = epidb.select_regions("test", "hg19", None, None, None, None,
                                        "chr1", None, None, self.admin_key)
        (s, q11) = epidb.query_experiment_type(q0, "peaks", self.admin_key)

        self.assertEqual(q0, q00)
        self.assertEqual(q1, q11)
示例#2
0
    def test_select_only_signal(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        sample_id = self.sample_ids[0]

        files = ["reference_example"]

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

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

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

        (s, req) = epidb.count_regions(q, self.admin_key)
        self.assertSuccess(s, req)
        count = self.count_request(req)

        ## Total amount of regions
        self.assertEqual(30, count)

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

        (s, new_query_peaks) = epidb.query_experiment_type(
            q, "peaks", self.admin_key)
        self.assertSuccess(s, new_query_peaks)
        (s, req) = epidb.count_regions(new_query_peaks, self.admin_key)
        count = self.count_request(req)
        ## Only peaks
        self.assertEqual(21, count)

        (s, new_query_signal) = epidb.query_experiment_type(
            q, "signal", self.admin_key)
        self.assertSuccess(s, new_query_signal)
        (s, req) = epidb.count_regions(new_query_signal, self.admin_key)
        count = self.count_request(req)
        ## Only signal
        self.assertEqual(9, count)

        (s, new_peaks_new_query_signal) = epidb.query_experiment_type(
            new_query_signal, "peaks", self.admin_key)
        self.assertSuccess(s, new_peaks_new_query_signal)
        (s, req) = epidb.count_regions(new_peaks_new_query_signal,
                                       self.admin_key)
        count = self.count_request(req)
        ## Only peaks again, but deriving from an signal query
        self.assertEqual(21, count)

        (s, req2) = epidb.count_regions(new_peaks_new_query_signal,
                                        self.admin_key)
        count = self.count_request(req2)
        ## Only peaks again, but deriving from an signal query
        self.assertEqual(21, count)

        self.assertEqual(req, req2)