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

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

    res = epidb.add_biosource("KKKK", "desc1", {}, self.admin_key)
    self.assertSuccess(res)

    res, id1 = epidb.add_sample("K562", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id1)

    res, id2 = epidb.add_sample("K562", {"age":"55","health":"healthy"}, self.admin_key)
    self.assertSuccess(res, id2)

    res, id3 = epidb.add_sample("K562", {"age":"15"}, self.admin_key)
    self.assertSuccess(res, id3)

    res, id4 = epidb.add_sample("KKKK", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id4)

    res, samples = epidb.list_samples("K562", {}, self.admin_key)
    self.assertSuccess(res, samples)

    found_ids = [(y[0]) for y in samples]

    self.assertTrue(id1 in found_ids)
    self.assertTrue(id2 in found_ids)
    self.assertTrue(id3 in found_ids)
    self.assertFalse(id4 in found_ids)
  def test_search_experiment_related(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init_base(epidb)

    s = epidb.add_biosource("Ana", "Ana", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Beatriz", "Beatriz", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Carolina", "Carolina", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Beatriz", "Carolina", self.admin_key)
    self.assertSuccess(s)

    (s, sid) = epidb.add_sample("Carolina", {}, self.admin_key)
    self.assertSuccess(s, sid)

    data = "chr1\t1\t100"
    (s, e) = epidb.add_experiment("las chicas", "hg19", "Methylation", sid, "tech1", "ENCODE", "interesting experiment", data, "CHROMOSOME,START,END", {}, self.admin_key)
    self.assertSuccess(s, e)

    s = epidb.set_biosource_parent("Ana", "Beatriz", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_synonym("Ana", "Zebra", self.admin_key)
    self.assertSuccess(s)

    (s, r1) = epidb.search("Zebra", "experiments", self.admin_key)
    self.assertEqual([['e1', 'las chicas', 'experiments']], r1)

    (s, r2) = epidb.search("Carolina", [], self.admin_key)
    self.assertEqual([['bs5', 'Carolina', 'biosources'], ['s3', '', 'samples'], ['e1', 'las chicas', 'experiments']], r2)
  def test_list_samples(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

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

    res = epidb.add_biosource("KKKK", "desc1", {}, self.admin_key)
    self.assertSuccess(res)

    res, id1 = epidb.add_sample("K562", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id1)

    res, id2 = epidb.add_sample("K562", {"age":"55","health":"healthy"}, self.admin_key)
    self.assertSuccess(res, id2)

    res, id3 = epidb.add_sample("K562", {"age":"15"}, self.admin_key)
    self.assertSuccess(res, id3)

    res, id4 = epidb.add_sample("KKKK", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id4)

    (res, k562_samples) = epidb.list_samples("K562", {}, self.admin_key)
    self.assertSuccess(res, k562_samples)
    self.assertEqual(3, len(k562_samples))

    self.assertEqual(['s1', {'age': '55', '_id': 's1', 'health': 'deceased', 'user': '******', 'biosource_name': 'K562'}], k562_samples[0])
  def test_check_embracing_bug(self):
	epidb = DeepBlueClient(address="localhost", port=31415)
	self.init(epidb)

	res = epidb.add_biosource("A", None, {}, self.admin_key)
	self.assertSuccess(res)

	res = epidb.set_biosource_synonym("A", "B", self.admin_key)
	self.assertSuccess(res)

	res = epidb.add_biosource("B", None, {}, self.admin_key)
	self.assertFailure(res)

	res = epidb.add_biosource("C", None, {}, self.admin_key)
	self.assertSuccess(res)

	res = epidb.set_biosource_parent("B", "C", self.admin_key)
	self.assertSuccess(res)

	res = epidb.get_biosource_related("A", self.admin_key)
	self.assertSuccess(res)
	self.assertEqual(res[1], [['bs1', 'A'], ['bs1', 'B'], ['bs2', 'C']])

	res = epidb.get_biosource_related("C", self.admin_key)
	self.assertSuccess(res)
	self.assertEqual(res[1], [['bs2', 'C']])
  def test_biosource_related(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    self.assertSuccess(epidb.add_biosource("A", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("A C", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("A D", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("A E", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("C D", None, {}, self.admin_key))

    res = epidb.set_biosource_parent("A", "A C", self.admin_key)
    self.assertSuccess(res)
    res = epidb.set_biosource_parent("A", "A D", self.admin_key)
    self.assertSuccess(res)
    res = epidb.set_biosource_parent("A", "A E", self.admin_key)
    self.assertSuccess(res)
    res = epidb.set_biosource_parent("A", "C D", self.admin_key)
    self.assertSuccess(res)
    res = epidb.set_biosource_parent("A", "C D", self.admin_key)
    self.assertFailure(res)
    self.assertEqual(res[1], "104903:'A' and 'C D' are already connected.")

    res = epidb.set_biosource_parent("A C", "A D", self.admin_key)
    self.assertSuccess(res)
    res = epidb.set_biosource_parent("A D", "A E", self.admin_key)
    self.assertSuccess(res)

    res = epidb.set_biosource_parent("C D", "A", self.admin_key)
    self.assertFailure(res)
    self.assertEqual(res[1], "104903:'C D' and 'A' are already connected.")
  def test_duplicated_biosource_with_synonym(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    s = epidb.add_biosource("Ana", "Ana", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_synonym("Ana", "Zebra", self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Zebra", "Zebra", {}, self.admin_key)
    self.assertFailure(s)
示例#7
0
    def test_include_collection_terms(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        user_id, user_key = self.get_new_user(epidb)

        s = epidb.add_biosource("b", "D", {}, user_key)
        self.assertFailure(s)

        self.modify_user_permission(epidb, user_id, "INCLUDE_COLLECTION_TERMS")

        s = epidb.add_biosource("b", "D", {}, user_key)
        self.assertSuccess(s)
  def test_search_synonyms(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init_base(epidb)

    res, bsid1 = epidb.add_biosource("Bio Source A", "bio source A", {}, self.admin_key)
    self.assertSuccess(res, bsid1)

    res = epidb.set_biosource_synonym("bio source a", "synonym name for bio source a", self.admin_key)
    self.assertSuccess(res)

    res = epidb.set_biosource_synonym("bio source a", "bla bla blu blu", self.admin_key)
    self.assertSuccess(res)

    res = epidb.set_biosource_synonym("synonym name for bio source a", "another synonym", self.admin_key)
    self.assertSuccess(res)

    (res, found) = epidb.search("another synonym", None, self.admin_key)
    self.assertEquals(found, [['bs3', 'Bio Source A', 'biosources'], ['t2', 'tech2', 'techniques']])

    (res, found) = epidb.search("bla bla blu blu", None, self.admin_key)
    self.assertEquals(found, [['bs3', 'Bio Source A', 'biosources']])

    (res, info) = epidb.info(bsid1, self.admin_key)
    self.assertSuccess(res, info)
    self.assertEquals(info[0], {'description': 'bio source A', 'user': '******', '_id': 'bs3', 'type': 'biosource', 'name': 'Bio Source A'})
示例#9
0
    def test_sample_search_from_synonym(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        s = epidb.add_biosource("Bio Source A", "", {}, self.admin_key)
        self.assertSuccess(s)

        s = epidb.set_biosource_synonym("Bio Source A", "BSA", self.admin_key)
        self.assertSuccess(s)

        s = epidb.add_sample("BSA", {}, self.admin_key)
        self.assertSuccess(s)

        s = epidb.list_samples("Bio Source A", {}, self.admin_key)
        self.assertSuccess(s)

        list_bio_source_a = s[1]
        self.assertTrue(len(list_bio_source_a) > 0)

        s = epidb.list_samples("BSA", {}, self.admin_key)
        self.assertSuccess(s)

        list_bsa = s[1]
        self.assertTrue(len(list_bsa) > 0)

        self.assertEqual(list_bio_source_a, list_bsa)
示例#10
0
    def test_change_extra_metadata(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        user_id, user_key = self.get_new_user(epidb)
        self.modify_user_permission(epidb, user_id, "INCLUDE_COLLECTION_TERMS")

        s, id = epidb.add_biosource("lsdjf", "sdf", {
            "a": "b",
            "c": "d"
        }, user_key)

        s = epidb.change_extra_metadata(id, "a", "f", user_key)
        self.assertSuccess(s)

        s = epidb.change_extra_metadata(id, "c", "g", self.admin_key)
        self.assertSuccess(s)

        s, user = epidb.add_user("user2", "email2", "institution2",
                                 self.admin_key)
        self.assertSuccess(s)
        user_id2, user_key2 = user
        self.modify_user_permission(epidb, user_id2,
                                    "INCLUDE_COLLECTION_TERMS")

        s = epidb.change_extra_metadata(id, "c", "g", user_key2)
        self.assertFailure(s)
  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)
示例#12
0
    def test_biosource_true_hierarchy(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init(epidb)

        self.assertSuccess(epidb.add_biosource("AAA", None, {},
                                               self.admin_key))
        self.assertSuccess(epidb.add_biosource("BBB", None, {},
                                               self.admin_key))
        self.assertSuccess(epidb.add_biosource("CCC", None, {},
                                               self.admin_key))
        self.assertSuccess(epidb.add_biosource("DDD", None, {},
                                               self.admin_key))

        res = epidb.set_biosource_parent("AAA", "BBB", self.admin_key)
        self.assertSuccess(res)
        res = epidb.set_biosource_parent("BBB", "CCC", self.admin_key)
        self.assertSuccess(res)
        res = epidb.set_biosource_parent("CCC", "DDD", self.admin_key)
        self.assertSuccess(res)
        res = epidb.set_biosource_parent("AAA", "DDD", self.admin_key)
        self.assertSuccess(res)
        res = epidb.set_biosource_parent("DDD", "BBB", self.admin_key)
        self.assertFailure(res)
        self.assertSuccess(epidb.add_biosource("EEE", None, {},
                                               self.admin_key))
        res = epidb.set_biosource_parent("DDD", "EEE", self.admin_key)
        self.assertSuccess(res)
        res = epidb.set_biosource_parent("AAA", "EEE", self.admin_key)
        self.assertSuccess(res)
        res = epidb.set_biosource_parent("EEE", "BBB", self.admin_key)
        self.assertFailure(res)
        res = epidb.set_biosource_parent("EEE", "CCC", self.admin_key)
        self.assertFailure(res)
        res = epidb.set_biosource_synonym("AAA", "macaco", self.admin_key)
        self.assertSuccess(res)

        expected = [['bs1', 'AAA', 'biosources'], ['bs2', 'BBB', 'biosources'],
                    ['bs3', 'CCC', 'biosources'], ['bs4', 'DDD', 'biosources'],
                    ['bs5', 'EEE', 'biosources']]
        (res, s) = epidb.search("macaco", None, self.admin_key)
        self.assertSuccess(res, s)
        self.assertEquals(s, expected)

        (res, s) = epidb.search("AAA", None, self.admin_key)
        self.assertSuccess(res, s)
        self.assertEquals(s, expected)
  def test_exclude(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    res, bsid1 = epidb.add_biosource("K562", "leukemia cell", {}, self.admin_key)
    self.assertSuccess(res, bsid1)
    res, bsid2 = epidb.add_biosource("K562b", "leukemia cell", {}, self.admin_key)
    self.assertSuccess(res, bsid2)
    res, bsid3 = epidb.add_biosource("HepG2", "hepatocellular carcinoma cell", {}, self.admin_key)
    self.assertSuccess(res, bsid3)

    res, ids = epidb.search("cell", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(len(ids), 3)

    res, ids = epidb.search("cell -leukemia", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(len(ids), 1)
    self.assertTrue(ids[0][0], bsid3)
  def test_search_embracing(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    s = epidb.add_biosource("Ana", "Ana", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Beatriz", "Beatriz", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Carolina", "Carolina", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Bianca Ana", "Bianca Ana", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Bruna Branca", "Bruna Branca", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Bianca Carolina", "Bianca Carolina", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Brunete Cinza Cerva", "Brunete Cinza Cerva", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Ana", "Carolina", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Bianca Carolina", "Brunete Cinza Cerva", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Beatriz", "Bianca Carolina", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Beatriz", "Bruna branca", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_synonym("Ana", "Zebra", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Beatriz", "Bianca Ana", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Ana", "Beatriz", self.admin_key)
    self.assertSuccess(s)

    expected_one = [['bs2', 'Beatriz', 'biosources'], ['bs1', 'Ana', 'biosources'], ['bs4', 'Bianca Ana', 'biosources'], ['bs6', 'Bianca Carolina', 'biosources'], ['bs5', 'Bruna Branca', 'biosources'], ['bs7', 'Brunete Cinza Cerva', 'biosources'], ['bs3', 'Carolina', 'biosources']]
    (s, r1) = epidb.search("Ana Zebra Beatriz", None, self.admin_key)
    self.assertEquals(sorted(r1), sorted(expected_one))

    expected_two = [['bs1', 'Ana', 'biosources'], ['bs4', 'Bianca Ana', 'biosources'], ['bs3', 'Carolina', 'biosources'], ['bs7', 'Brunete Cinza Cerva', 'biosources'], ['bs5', 'Bruna Branca', 'biosources'], ['bs6', 'Bianca Carolina', 'biosources'], ['bs2', 'Beatriz', 'biosources']]
    (s, r2) = epidb.search("Ana", None, self.admin_key)
    self.assertEquals(sorted(expected_two), sorted(r2))

    expected_three = [['bs6', 'Bianca Carolina', 'biosources'], ['bs3', 'Carolina', 'biosources'], ['bs4', 'Bianca Ana', 'biosources'], ['bs7', 'Brunete Cinza Cerva', 'biosources'], ['bs1', 'Ana', 'biosources'], ['bs5', 'Bruna Branca', 'biosources'], ['bs2', 'Beatriz', 'biosources']]
    (s, r3) = epidb.search("Zebra", None, self.admin_key)
    self.assertEquals(sorted(expected_three), sorted(r3))
  def test_biosource(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    self.assertSuccess(epidb.add_biosource("K562", "leukemia cell", {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("K562b", "leukemia cell", {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("HepG2", "hepatocellular carcinoma", {}, self.admin_key))

    res, biosources = epidb.list_biosources(None, self.admin_key)
    self.assertSuccess(res, biosources)

    biosources_names = epidb.extract_names(biosources)[1]

    self.assertEqual(len(biosources), 3)
    self.assertTrue("K562" in biosources_names)
    self.assertTrue("K562b" in biosources_names)
    self.assertTrue("HepG2" in biosources_names)

    status, _id = epidb.name_to_id(["k562", "k562b", "hepg2"], "biosources", self.admin_key)
    self.assertTrue(_id, [['bs1', 'k562'], ['bs2', 'k562b'], ['bs3', 'hepg2']])
  def test_find_sample(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

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

    res, sid = epidb.add_sample("K562", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, sid)

    res, found_id = epidb.list_samples("K562", {"age":"55", "health":"deceased"}, self.admin_key)
    self.assertSuccess(res, found_id)
    self.assertEqual(sid, found_id[0][0])
  def test_biosource(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    res = epidb.add_biosource("K562", "leukemia cell", {}, self.admin_key)
    self.assertSuccess(res)
    res = epidb.add_biosource("K562b", "leukemia cell", {}, self.admin_key)
    self.assertSuccess(res)
    res = epidb.add_biosource("HepG2", "hepatocellular carcinoma", {}, self.admin_key)
    self.assertSuccess(res)

    res, ids = epidb.search("biosource", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(len(ids), 3)

    res, ids = epidb.search("biosource -K562", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(len(ids), 2)

    res, ids = epidb.search("banana", None, self.admin_key)
    self.assertSuccess(res, ids)
    self.assertEqual(len(ids), 0)
  def test_biosource_info(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

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

    res, data = epidb.info(bsid, self.admin_key)
    self.assertEqual(res, "okay")
    self.assertEqual(data[0]['description'], "desc1")
    self.assertEqual(data[0]['name'], "K562")
    self.assertEqual(data[0]['user'], "test_admin")
    self.assertEqual(data[0]['_id'], bsid)
  def test_multiple_biosources_samples(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    (res, k562_id) = epidb.add_biosource("K562", "desc1", {}, self.admin_key)
    (res, colon_id) = epidb.add_biosource("Colon", "desc1", {}, self.admin_key)
    (res, colon_md_id) = epidb.add_biosource("Colon_MD", "desc1", {}, self.admin_key)
    (res, intestine_id) = epidb.add_biosource("Intestine", "desc1", {}, self.admin_key)

    res, id1 = epidb.add_sample("K562", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id1)

    res, id2 = epidb.add_sample("K562", {"age":"55","health":"healthy"}, self.admin_key)
    self.assertSuccess(res, id2)

    res, id3 = epidb.add_sample("K562", {"age":"15"}, self.admin_key)
    self.assertSuccess(res, id3)

    res, id4 = epidb.add_sample("Colon", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id4)

    res, id5 = epidb.add_sample("Colon_MD", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id4)

    res, id6 = epidb.add_sample("Intestine", {"age":"55","health":"deceased"}, self.admin_key)
    self.assertSuccess(res, id4)

    (res, multiple_samples) = epidb.list_samples(["K562", "Colon", "Colon_MD", "Intestine"], {}, self.admin_key)

    returned_sources = [(y[1]["biosource_name"]) for y in multiple_samples]

    self.assertTrue("K562" in returned_sources)
    self.assertTrue("Colon" in returned_sources)
    self.assertTrue("Colon_MD" in returned_sources)
    self.assertTrue("Intestine" in returned_sources)
    self.assertFalse("Intestine2" in returned_sources)
    self.assertFalse("K562a" in returned_sources)
  def test_biosource_scope(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    self.assertSuccess(epidb.add_biosource("GM12878", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("K562", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("Adult_CD4_naive", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("blood", None, {}, self.admin_key))
    self.assertSuccess(epidb.add_biosource("mesoderm", None, {}, self.admin_key))

    res, biosources = epidb.list_biosources(None, self.admin_key)
    self.assertSuccess(res, biosources)

    biosources_names = epidb.extract_names(biosources)[1]

    self.assertEqual(len(biosources), 5)
    self.assertTrue("GM12878" in biosources_names)
    self.assertTrue("K562" in biosources_names)
    self.assertTrue("Adult_CD4_naive" in biosources_names)
    self.assertTrue("blood" in biosources_names)
    self.assertTrue("mesoderm" in biosources_names)

    self.assertSuccess(epidb.set_biosource_parent("blood", "GM12878", self.admin_key))
    self.assertSuccess(epidb.set_biosource_parent("blood", "K562", self.admin_key))
    self.assertSuccess(epidb.set_biosource_parent("blood", "Adult_CD4_naive", self.admin_key))
    self.assertSuccess(epidb.set_biosource_parent("mesoderm", "blood", self.admin_key))

    res = epidb.set_biosource_parent("GM12878", "mesoderm", self.admin_key)
    self.assertFailure(res)

    epidb.set_biosource_parent("avacado", "mesoderm", self.admin_key)
    self.assertFailure(res)

    res, scope = epidb.get_biosource_children("mesoderm", self.admin_key)
    self.assertSuccess(res, scope)
    scope_names = epidb.extract_names(scope)[1]
    self.assertEquals(scope_names, ['mesoderm', 'blood', 'GM12878', 'K562', 'Adult_CD4_naive'])

    self.assertSuccess(epidb.add_biosource("god master", None, {}, self.admin_key))
    print epidb.set_biosource_parent("god master", "mesoderm", self.admin_key)

    self.assertSuccess(epidb.add_biosource("shitty", None, {}, self.admin_key))
    print epidb.set_biosource_parent("K562", "shitty", self.admin_key)

    self.assertSuccess(epidb.add_biosource("weirdo", None, {}, self.admin_key))
    print epidb.set_biosource_parent("weirdo", "K562", self.admin_key)
  def test_search_sample_related(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    s = epidb.add_biosource("Ana", "Ana", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Beatriz", "Beatriz", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_biosource("Carolina", "Carolina", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Beatriz", "Carolina", self.admin_key)
    self.assertSuccess(s)

    s = epidb.add_sample("Carolina", {}, self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_parent("Ana", "Beatriz", self.admin_key)
    self.assertSuccess(s)

    s = epidb.set_biosource_synonym("Ana", "Zebra", self.admin_key)
    self.assertSuccess(s)

    (s, r1) = epidb.search("Zebra", "samples", self.admin_key)
    self.assertEquals([['s1', '', 'samples']], r1)

    (s, r2) = epidb.search("Beatriz", "", self.admin_key)
    expected = [['bs2', 'Beatriz', 'biosources'], ['bs3', 'Carolina', 'biosources'], ['s1', '', 'samples']]
    self.assertEqual(sorted(expected), sorted(r2))

    (s, r3) = epidb.search("Zebra", [], self.admin_key)
    expected = [['bs1', 'Ana', 'biosources'], ['bs2', 'Beatriz', 'biosources'], ['bs3', 'Carolina', 'biosources'], ['s1', '', 'samples']]

    self.assertEqual(sorted(expected), sorted(r3))
  def test_sample(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

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

    res, sid = epidb.add_sample("K562", {"age":"55", "health":"deceased"}, self.admin_key)
    self.assertSuccess(res, sid)

    res = epidb.add_sample("K562", {"karyotype":"cancer", "sex":"F"}, self.admin_key)
    self.assertSuccess(res)

    res, ids = epidb.search("deceased", None, self.admin_key)
    self.assertEqual(ids[0][0], sid)
  def test_sample_info(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

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

    res, sid = epidb.add_sample("K562", {"karyotype":"cancer","sex":"F"}, self.admin_key)
    self.assertSuccess(res, sid)

    res, data = epidb.info(sid, self.admin_key)
    self.assertEqual(data[0]['biosource_name'], "K562")
    self.assertEqual(data[0]['karyotype'], "cancer")
    self.assertEqual(data[0]['sex'], "F")
    self.assertEqual(data[0]['user'], "test_admin")
    self.assertEqual(data[0]['_id'], sid)
示例#24
0
    def test_invalid_eamp_character(self):
        epidb = DeepBlueClient(address="localhost", port=31415)
        self.init_base(epidb)

        epidb.add_biosource(
            "rostrolateral thalamic nucleus of Butler <methodName>Saidel", "",
            {}, self.admin_key)
        epidb.add_biosource("testing <b>cool", "", {}, self.admin_key)
        epidb.add_biosource("testing ugly &Saidel", "", {}, self.admin_key)
        epidb.add_biosource("testing weird <Saidel", "", {}, self.admin_key)
        epidb.add_biosource("testing open Saidel>", "", {}, self.admin_key)
        epidb.add_biosource("testing closed <Saidel>", "", {}, self.admin_key)
        epidb.add_biosource("!'234456789<<<<><<<;;.,.,-,>", "", {},
                            self.admin_key)

        (r, a) = epidb.list_biosources(None, self.admin_key)
        self.assertSuccess(r, a)

        biosource_names = [x[1] for x in a]
        self.assertEquals(biosource_names, [
            'K562', 'Brain',
            'rostrolateral thalamic nucleus of Butler <methodName>Saidel',
            'testing <b>cool', 'testing ugly &Saidel', 'testing weird <Saidel',
            'testing open Saidel>', 'testing closed <Saidel>',
            "!'234456789<<<<><<<;;.,.,-,>"
        ])