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)
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)