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)
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'})
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)
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)
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)
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<<<<><<<;;.,.,-,>" ])