Пример #1
0
    def test_experiments_pass(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

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

        # adding two experiments with the same data should work
        res = epidb.add_experiment("test_exp1", "hg19", "Methylation",
                                   sample_id, "tech1", "ENCODE", "desc1",
                                   regions_data, format, None, self.admin_key)
        self.assertSuccess(res)

        res = epidb.add_experiment("test_exp2", "hg19", "Methylation",
                                   sample_id, "tech1", "ENCODE", "desc1",
                                   regions_data, format, None, self.admin_key)
        self.assertSuccess(res)

        res, experiments = epidb.list_experiments("hg19", "peaks", None,
                                                  "NO_BIOSOURCE", None, None,
                                                  None, self.admin_key)
        self.assertSuccess(res, experiments)
        self.assertEqual(len(experiments), 0)

        res, experiments = epidb.list_experiments(None, None, None, None, None,
                                                  None, None, self.admin_key)
        self.assertSuccess(res, experiments)
        self.assertEqual(len(experiments), 2)

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

        experiments_names = [x[1] for x in experiments]

        self.assertTrue("test_exp1" in experiments_names)
        self.assertTrue("test_exp2" in experiments_names)

        s, ids = epidb.name_to_id(['test_exp1'], 'experiments', self.admin_key)
        self.assertEqual(ids, [['e1', 'test_exp1']])
        s, ids = epidb.name_to_id(['test_exp1', 'test_exp2'], 'experiments',
                                  self.admin_key)
        self.assertEqual([['e1', 'test_exp1'], ['e2', 'test_exp2']], ids)
        s, ids = epidb.name_to_id('test_exp1', 'experiments', self.admin_key)
        self.assertEqual([['e1', 'test_exp1']], ids)
Пример #2
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)
    def test_experiment_sets(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_full(epidb)

        epidb.list_experiments

        (s, ees) = epidb.list_experiments("", "", "", "", "", "", "",
                                          self.admin_key)
        (s, names) = epidb.extract_names(ees)

        print names

        print

        (s, es1) = epidb.create_experiments_set("Test 1", "set test one", True,
                                                names, self.admin_key)

        print s
        print es1

        (s, info_es1) = epidb.info(es1, self.admin_key)

        print info_es1