Пример #1
0
    def test_get_omim(self):
        d1 = Omim(diseaseid=1, name='Gaucher')
        d2 = Omim(diseaseid=2, name='Fabry')

        self.assertEqual(Omim.get(1), d1)
        self.assertEqual(Omim.get(2), d2)
        self.assertEqual(Omim.get('1'), d1)

        self.assertRaises(ValueError, lambda: Omim.get('Fabry'))
        self.assertRaises(KeyError, lambda: Omim.get(12))
Пример #2
0
    def test_indexing(self):
        def subindex_length(x):
            return (
                len(x.keys()),
                len(x._indicies.keys()),
            )

        self.assertEqual(subindex_length(Omim), (0, 0))
        _ = Omim(diseaseid=1, name='Gaucher')
        self.assertEqual(subindex_length(Omim), (1, 1))
        _ = Omim(diseaseid=2, name='Fabry')
        self.assertEqual(subindex_length(Omim), (2, 2))
        Omim.clear()
        self.assertEqual(subindex_length(Omim), (0, 0))
Пример #3
0
def compare_set(diseases):
    gaucher = Omim([None, 230800, None])
    set1 = BasicHPOSet.from_queries(gaucher.hpo)
    for x in diseases:
        set2 = BasicHPOSet.from_queries(x.hpo)
        _ = set1.similarity(set2)
    return None
Пример #4
0
    def test_singleton_handling(self):
        d1a = Omim(diseaseid=1, name='Gaucher')
        # ID present, will be used
        d1b = Omim(diseaseid=1, name='Fabry')
        # No name present, ID will be used as well
        d1c = Omim(diseaseid=1, name=None)

        # New ID, new Name => New Disease
        d2a = Omim(diseaseid=2, name='Fabry')
        # ID present, Matching by ID
        d2b = Omim(diseaseid=2, name='Gaucher')
        # ID present, Matching by ID
        d2c = Omim(diseaseid=2, name=None)

        # New ID but existing name => New disease
        d3a = Omim(diseaseid=3, name='Gaucher')

        self.assertIs(d1a, d1b)
        self.assertIs(d1a, d1c)

        self.assertIsNot(d1a, d2a)
        self.assertIs(d2a, d2b)
        self.assertIs(d2a, d2c)

        self.assertIsNot(d1a, d3a)
        self.assertIsNot(d2a, d3a)
Пример #5
0
    def test_json(self):
        g = Omim(diseaseid=1, name='Foo')

        self.assertEqual(g.toJSON(), {'id': 1, 'name': 'Foo'})

        self.assertEqual(g.toJSON(verbose=True), {
            'id': 1,
            'name': 'Foo',
            'hpo': set()
        })
Пример #6
0
def make_omim(n) -> List[pyhpo.annotations.DiseaseSingleton]:
    Omim.clear()
    return [Omim(diseaseid=i, name='Omim{}'.format(i)) for i in range(n)]
Пример #7
0
 def test_string_representation(self):
     d = Omim(diseaseid=1, name='Foo')
     self.assertEqual(str(d), 'Foo')
Пример #8
0
 def test_equality(self):
     g = Omim(diseaseid=1, name='Foo')
     self.assertEqual(g, 1)
     self.assertEqual(g, 'Foo')
Пример #9
0
 def test_omim_disease_building(self):
     a = Omim(diseaseid=1, name='Gaucher type I')
     self.assertEqual(a.name, 'Gaucher type I')
     self.assertEqual(a.id, 1)
     self.assertEqual(a.hpo, set())