althonos/pronto

ValueError: could not find a parser to parse 'http://purl.obolibrary.org/obo/doid/obo/ext.owl' when parsing human disease ontology

Zethson opened this issue · 2 comments

When attempting to get the human disease ontology (https://www.ebi.ac.uk/ols/ontologies/doid)

ontology = Ontology("doid.owl")

I run into

Traceback (most recent call last):
  File "/home/zeth/PycharmProjects/bionty/test.py", line 8, in <module>
    ontology = Ontology("/home/zeth/Downloads/doid.owl")
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/site-packages/pronto/ontology.py", line 283, in __init__
    cls(self).parse_from(_handle)  # type: ignore
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/site-packages/pronto/parsers/rdfxml.py", line 95, in parse_from
    self.process_imports(
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/site-packages/pronto/parsers/base.py", line 70, in process_imports
    return dict(pool.map(lambda i: (i, process(i)), imports))
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/multiprocessing/pool.py", line 367, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/multiprocessing/pool.py", line 774, in get
    raise self._value
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
    return list(map(*args))
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/site-packages/pronto/parsers/base.py", line 70, in <lambda>
    return dict(pool.map(lambda i: (i, process(i)), imports))
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/site-packages/pronto/parsers/base.py", line 49, in process_import
    return Ontology(url, max(import_depth - 1, -1), timeout)
  File "/home/zeth/miniconda3/envs/bionty/lib/python3.10/site-packages/pronto/ontology.py", line 286, in __init__
    raise ValueError(f"could not find a parser to parse {handle!r}")
ValueError: could not find a parser to parse 'http://purl.obolibrary.org/obo/doid/obo/ext.owl'

The current obo file is still working though

Solved upstream