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_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_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_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)
예제 #5
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)
  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])
예제 #7
0
  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_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_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)