def test_type_restricted(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    res, pid = epidb.add_project("ENCODE", "desc", self.admin_key)
    self.assertSuccess(res, pid)

    res, emid = epidb.add_epigenetic_mark("Methylation", "desc", {"category": "DNA Methylation"}, self.admin_key)
    self.assertSuccess(res, emid)

    res, bsid = epidb.add_biosource("K562", "desc", {}, self.admin_key)
    self.assertSuccess(res, bsid)

    res, ids = epidb.search("desc", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertTrue([pid, 'ENCODE', 'projects'] in ids)
    self.assertTrue([emid, 'Methylation', 'epigenetic_marks'] in ids)
    self.assertTrue([bsid, 'K562', 'biosources'] in ids)
    self.assertEqual(len(ids), 3)

    res, ids = epidb.search("desc", "projects", self.admin_key)
    self.assertSuccess(res, ids)
    self.assertTrue([pid, 'ENCODE', 'projects'] in ids)
    self.assertEqual(len(ids), 1)

    res, ids = epidb.search("desc", ["epigenetic_marks", "biosources"], self.admin_key)
    self.assertSuccess(res, ids)
    self.assertTrue([emid, 'Methylation', 'epigenetic_marks'] in ids)
    self.assertTrue([bsid, 'K562', 'biosources'] in ids)
    self.assertEqual(len(ids), 2)
示例#2
0
    def test_remove_epigenetic_mark(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"]

        (res, epigenetic_mark_id) = epidb.add_epigenetic_mark(
            "H3K666ac3", "acetil metal \,,,/",
            {"category": "heavy histone metal"}, self.admin_key)
        self.assertSuccess(res, epigenetic_mark_id)

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

        res = epidb.remove(epigenetic_mark_id, self.admin_key)
        self.assertFailure(res)

        res = epidb.remove(eid, self.admin_key)
        self.assertSuccess(res)

        res = epidb.remove(epigenetic_mark_id, self.admin_key)
        self.assertSuccess(res)
    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_epigenetic_mark_info(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    res, emid = epidb.add_epigenetic_mark("Methylation", "DNA Methylation", {"category":"DNA Methylation"}, self.admin_key)
    self.assertSuccess(res, emid)

    res, data = epidb.info(emid, self.admin_key)
    self.assertEqual(data[0]['name'], "Methylation")
    self.assertEqual(data[0]['description'], "DNA Methylation")
    self.assertEqual(data[0]['extra_metadata']['category'], "DNA Methylation")
    self.assertEqual(data[0]['user'], "test_admin")
    self.assertEqual(data[0]['_id'], emid)
  def test_epigenetic_mark(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    res, emid1 = epidb.add_epigenetic_mark("Methylation", "DNA Methylation", {"category": "DNA Methylation"}, self.admin_key)
    self.assertSuccess(res, emid1)

    res, emid2 = epidb.add_epigenetic_mark("Methyl450", "DNA Methylation Infinium HumanMethylation450 BeadChip", {"category": "DNA Methylation"}, self.admin_key)
    self.assertSuccess(res, emid2)

    res, emid3 = epidb.add_epigenetic_mark("OpenChromDnase", "Open Chromatin DNaseI", {"category": "open chromatin"}, self.admin_key)
    self.assertSuccess(res, emid3)

    res, emid4 = epidb.add_epigenetic_mark("DNaseI", "DNaseI hypersensitive sites ", {"category": "open chromatin"}, self.admin_key)
    self.assertSuccess(res, emid4)

    self.assertEqual(res, "okay")

    res, ids = epidb.search("Methylation", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(ids[0][0], emid1)
    self.assertEqual(ids[1][0], emid2)

    res, ids = epidb.search("DNA", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(ids[0][0], emid1)
    self.assertEqual(ids[1][0], emid2)

    res, ids = epidb.search("Dnasei", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(ids[0][0], emid4)
    self.assertEqual(ids[1][0], emid3)

    res, ids = epidb.search(emid4, None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(ids[0][0], emid4)
  def test_request_info_permission(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init_full(epidb)

    s, user = epidb.add_user("user1", "*****@*****.**", "test", self.admin_key)
    id, user_key = user
    s, _id = epidb.modify_user_admin(id, "permission_level", "INCLUDE_COLLECTION_TERMS", self.admin_key)
    self.assertSuccess(s, _id)

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

    s, request_id = epidb.get_regions(query_id, "CHROMOSOME,START,END", user_key)

    s, info = epidb.info(request_id, user_key)
    self.assertSuccess(s, info)
    s, info = epidb.info(request_id, self.admin_key)
    self.assertSuccess(s, info)