pyobo 0.10.11__py3-none-any.whl → 0.10.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyobo/api/names.py +27 -6
- pyobo/api/utils.py +5 -0
- pyobo/cli/lookup.py +2 -2
- pyobo/constants.py +31 -1
- pyobo/gilda_utils.py +21 -0
- pyobo/identifier_utils.py +22 -5
- pyobo/reader.py +1 -1
- pyobo/sources/__init__.py +2 -0
- pyobo/sources/antibodyregistry.py +2 -2
- pyobo/sources/biogrid.py +3 -3
- pyobo/sources/credit.py +68 -0
- pyobo/sources/geonames.py +27 -9
- pyobo/sources/hgnc.py +2 -2
- pyobo/sources/mesh.py +3 -3
- pyobo/sources/msigdb.py +1 -1
- pyobo/sources/npass.py +1 -1
- pyobo/sources/pubchem.py +3 -3
- pyobo/sources/rgd.py +1 -1
- pyobo/sources/rhea.py +2 -2
- pyobo/sources/ror.py +67 -21
- pyobo/sources/uniprot/uniprot.py +2 -2
- pyobo/struct/struct.py +4 -3
- pyobo/struct/typedef.py +10 -0
- pyobo/utils/path.py +2 -1
- pyobo/version.py +1 -1
- pyobo/xrefdb/sources/__init__.py +6 -3
- pyobo/xrefdb/sources/chembl.py +5 -5
- pyobo/xrefdb/sources/pubchem.py +3 -2
- pyobo/xrefdb/sources/wikidata.py +8 -1
- {pyobo-0.10.11.dist-info → pyobo-0.10.12.dist-info}/METADATA +23 -23
- {pyobo-0.10.11.dist-info → pyobo-0.10.12.dist-info}/RECORD +35 -35
- {pyobo-0.10.11.dist-info → pyobo-0.10.12.dist-info}/WHEEL +1 -1
- pyobo/xrefdb/bengo.py +0 -44
- {pyobo-0.10.11.dist-info → pyobo-0.10.12.dist-info}/LICENSE +0 -0
- {pyobo-0.10.11.dist-info → pyobo-0.10.12.dist-info}/entry_points.txt +0 -0
- {pyobo-0.10.11.dist-info → pyobo-0.10.12.dist-info}/top_level.txt +0 -0
pyobo/sources/ror.py
CHANGED
|
@@ -1,34 +1,40 @@
|
|
|
1
1
|
"""Convert the Research Organization Registry (ROR) into an ontology."""
|
|
2
2
|
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
3
5
|
import json
|
|
4
6
|
import zipfile
|
|
5
|
-
from typing import Iterable
|
|
7
|
+
from typing import Any, Iterable
|
|
6
8
|
|
|
7
9
|
import bioregistry
|
|
8
10
|
import zenodo_client
|
|
9
11
|
from tqdm.auto import tqdm
|
|
10
12
|
|
|
11
|
-
from pyobo.struct import Obo, Reference, Term
|
|
13
|
+
from pyobo.struct import Obo, Reference, Term
|
|
12
14
|
from pyobo.struct.struct import acronym
|
|
15
|
+
from pyobo.struct.typedef import (
|
|
16
|
+
has_homepage,
|
|
17
|
+
has_part,
|
|
18
|
+
has_predecessor,
|
|
19
|
+
has_successor,
|
|
20
|
+
located_in,
|
|
21
|
+
part_of,
|
|
22
|
+
see_also,
|
|
23
|
+
)
|
|
13
24
|
|
|
14
25
|
PREFIX = "ror"
|
|
15
26
|
ROR_ZENODO_RECORD_ID = "10086202"
|
|
16
27
|
|
|
17
28
|
# Constants
|
|
18
29
|
ORG_CLASS = Reference(prefix="OBI", identifier="0000245")
|
|
19
|
-
LOCATED_IN = Reference(prefix="RO", identifier="0001025")
|
|
20
|
-
PART_OF = Reference(prefix="BFO", identifier="0000050")
|
|
21
|
-
HAS_PART = Reference(prefix="BFO", identifier="0000051")
|
|
22
|
-
SUCCESSOR = Reference(prefix="BFO", identifier="0000063")
|
|
23
|
-
PREDECESSOR = Reference(prefix="BFO", identifier="0000062")
|
|
24
30
|
|
|
25
31
|
RMAP = {
|
|
26
|
-
"Related":
|
|
27
|
-
"Child":
|
|
28
|
-
"Parent":
|
|
29
|
-
"Predecessor":
|
|
30
|
-
"Successor":
|
|
31
|
-
"Located in":
|
|
32
|
+
"Related": see_also,
|
|
33
|
+
"Child": has_part,
|
|
34
|
+
"Parent": part_of,
|
|
35
|
+
"Predecessor": has_predecessor,
|
|
36
|
+
"Successor": has_successor,
|
|
37
|
+
"Located in": located_in,
|
|
32
38
|
}
|
|
33
39
|
NAME_REMAPPING = {
|
|
34
40
|
"'s-Hertogenbosch": "Den Bosch", # SMH Netherlands, why u gotta be like this
|
|
@@ -43,16 +49,16 @@ class RORGetter(Obo):
|
|
|
43
49
|
"""An ontology representation of the ROR."""
|
|
44
50
|
|
|
45
51
|
ontology = bioregistry_key = PREFIX
|
|
46
|
-
typedefs =
|
|
52
|
+
typedefs = [has_homepage, *RMAP.values()]
|
|
47
53
|
synonym_typedefs = [acronym]
|
|
48
54
|
idspaces = {
|
|
49
55
|
"ror": "https://ror.org/",
|
|
50
56
|
"geonames": "https://www.geonames.org/",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
57
|
+
"ENVO": "http://purl.obolibrary.org/obo/ENVO_",
|
|
58
|
+
"BFO": "http://purl.obolibrary.org/obo/BFO_",
|
|
59
|
+
"RO": "http://purl.obolibrary.org/obo/RO_",
|
|
60
|
+
"OBI": "http://purl.obolibrary.org/obo/OBI_",
|
|
61
|
+
"OMO": "http://purl.obolibrary.org/obo/OMO_",
|
|
56
62
|
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
|
|
57
63
|
}
|
|
58
64
|
|
|
@@ -65,6 +71,18 @@ class RORGetter(Obo):
|
|
|
65
71
|
return iterate_ror_terms(force=force)
|
|
66
72
|
|
|
67
73
|
|
|
74
|
+
ROR_ORGANIZATION_TYPE_TO_OBI = {
|
|
75
|
+
"Education": ...,
|
|
76
|
+
"Facility": ...,
|
|
77
|
+
"Company": ...,
|
|
78
|
+
"Government": ...,
|
|
79
|
+
"Healthcare": ...,
|
|
80
|
+
"Other": ...,
|
|
81
|
+
"Archive": ...,
|
|
82
|
+
}
|
|
83
|
+
_MISSED_ORG_TYPES: set[str] = set()
|
|
84
|
+
|
|
85
|
+
|
|
68
86
|
def iterate_ror_terms(*, force: bool = False) -> Iterable[Term]:
|
|
69
87
|
"""Iterate over terms in ROR."""
|
|
70
88
|
version, source_uri, records = get_latest(force=force)
|
|
@@ -74,10 +92,23 @@ def iterate_ror_terms(*, force: bool = False) -> Iterable[Term]:
|
|
|
74
92
|
name = record["name"]
|
|
75
93
|
name = NAME_REMAPPING.get(name, name)
|
|
76
94
|
|
|
95
|
+
organization_types = record.get("types", [])
|
|
96
|
+
description = f"{organization_types[0]} in {record['country']['country_name']}"
|
|
97
|
+
if established := record["established"]:
|
|
98
|
+
description += f" established in {established}"
|
|
99
|
+
|
|
77
100
|
term = Term(
|
|
78
|
-
reference=Reference(prefix=PREFIX, identifier=identifier, name=name),
|
|
101
|
+
reference=Reference(prefix=PREFIX, identifier=identifier, name=name),
|
|
102
|
+
type="Instance",
|
|
103
|
+
definition=description,
|
|
79
104
|
)
|
|
80
105
|
term.append_parent(ORG_CLASS)
|
|
106
|
+
# TODO replace term.append_parent(ORG_CLASS) with:
|
|
107
|
+
# for organization_type in organization_types:
|
|
108
|
+
# term.append_parent(ORG_PARENTS[organization_type])
|
|
109
|
+
|
|
110
|
+
for link in record.get("links", []):
|
|
111
|
+
term.append_property(has_homepage, link)
|
|
81
112
|
|
|
82
113
|
if name.startswith("The "):
|
|
83
114
|
term.append_synonym(name.removeprefix("The "))
|
|
@@ -159,5 +190,20 @@ def get_latest(*, force: bool = False):
|
|
|
159
190
|
raise FileNotFoundError
|
|
160
191
|
|
|
161
192
|
|
|
193
|
+
def get_ror_to_country_geonames(**kwargs: Any) -> dict[str, str]:
|
|
194
|
+
"""Get a mapping of ROR ids to GeoNames IDs for countries."""
|
|
195
|
+
from pyobo.sources.geonames import get_city_to_country
|
|
196
|
+
|
|
197
|
+
city_to_country = get_city_to_country()
|
|
198
|
+
rv = {}
|
|
199
|
+
for term in iterate_ror_terms(**kwargs):
|
|
200
|
+
city_geonames_reference = term.get_relationship(located_in)
|
|
201
|
+
if city_geonames_reference is None:
|
|
202
|
+
continue
|
|
203
|
+
if city_geonames_reference.identifier in city_to_country:
|
|
204
|
+
rv[term.identifier] = city_to_country[city_geonames_reference.identifier]
|
|
205
|
+
return rv
|
|
206
|
+
|
|
207
|
+
|
|
162
208
|
if __name__ == "__main__":
|
|
163
|
-
RORGetter().write_default(write_obo=True, force=True)
|
|
209
|
+
RORGetter(force=True).write_default(write_obo=True, force=True)
|
pyobo/sources/uniprot/uniprot.py
CHANGED
|
@@ -6,10 +6,10 @@ from operator import attrgetter
|
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from typing import Iterable, List, Optional, cast
|
|
8
8
|
|
|
9
|
-
import bioversions
|
|
10
9
|
from tqdm.auto import tqdm
|
|
11
10
|
|
|
12
11
|
from pyobo import Obo, Reference
|
|
12
|
+
from pyobo.api.utils import get_version
|
|
13
13
|
from pyobo.constants import RAW_MODULE
|
|
14
14
|
from pyobo.identifier_utils import standardize_ec
|
|
15
15
|
from pyobo.struct import Term, derives_from, enables, from_species, participates_in
|
|
@@ -166,7 +166,7 @@ def _parse_go(go_terms) -> List[Reference]:
|
|
|
166
166
|
def ensure(version: Optional[str] = None, force: bool = False) -> Path:
|
|
167
167
|
"""Ensure the reviewed uniprot names are available."""
|
|
168
168
|
if version is None:
|
|
169
|
-
version =
|
|
169
|
+
version = get_version("uniprot")
|
|
170
170
|
return RAW_MODULE.ensure(
|
|
171
171
|
PREFIX,
|
|
172
172
|
version,
|
pyobo/struct/struct.py
CHANGED
|
@@ -56,6 +56,7 @@ from .typedef import (
|
|
|
56
56
|
term_replaced_by,
|
|
57
57
|
)
|
|
58
58
|
from .utils import comma_separate, obo_escape_slim
|
|
59
|
+
from ..api.utils import get_version
|
|
59
60
|
from ..constants import (
|
|
60
61
|
DATE_FORMAT,
|
|
61
62
|
NCBITAXON_PREFIX,
|
|
@@ -77,6 +78,8 @@ __all__ = [
|
|
|
77
78
|
"Term",
|
|
78
79
|
"Obo",
|
|
79
80
|
"make_ad_hoc_ontology",
|
|
81
|
+
"abbreviation",
|
|
82
|
+
"acronym",
|
|
80
83
|
]
|
|
81
84
|
|
|
82
85
|
logger = logging.getLogger(__name__)
|
|
@@ -583,10 +586,8 @@ class Obo:
|
|
|
583
586
|
|
|
584
587
|
def _get_version(self) -> Optional[str]:
|
|
585
588
|
if self.bioversions_key:
|
|
586
|
-
import bioversions
|
|
587
|
-
|
|
588
589
|
try:
|
|
589
|
-
return
|
|
590
|
+
return get_version(self.bioversions_key)
|
|
590
591
|
except KeyError:
|
|
591
592
|
logger.warning(f"[{self.bioversions_key}] bioversions doesn't list this resource ")
|
|
592
593
|
except IOError:
|
pyobo/struct/typedef.py
CHANGED
|
@@ -42,9 +42,13 @@ __all__ = [
|
|
|
42
42
|
"has_participant",
|
|
43
43
|
"exact_match",
|
|
44
44
|
"has_dbxref",
|
|
45
|
+
"located_in",
|
|
46
|
+
"has_successor",
|
|
47
|
+
"has_predecessor",
|
|
45
48
|
# Properties
|
|
46
49
|
"has_inchi",
|
|
47
50
|
"has_smiles",
|
|
51
|
+
"has_homepage",
|
|
48
52
|
]
|
|
49
53
|
|
|
50
54
|
|
|
@@ -323,6 +327,9 @@ enabled_by = TypeDef(reference=_enabled_by_reference, inverse=_enables_reference
|
|
|
323
327
|
has_input = TypeDef.from_triple(prefix=RO_PREFIX, identifier="0002233", name="has input")
|
|
324
328
|
has_output = TypeDef.from_triple(prefix=RO_PREFIX, identifier="0002234", name="has output")
|
|
325
329
|
|
|
330
|
+
has_successor = TypeDef.from_triple(prefix="BFO", identifier="0000063", name="has successor")
|
|
331
|
+
has_predecessor = TypeDef.from_triple(prefix="BFO", identifier="0000062", name="has predecessor")
|
|
332
|
+
|
|
326
333
|
"""ChEBI"""
|
|
327
334
|
|
|
328
335
|
is_conjugate_base_of = TypeDef(
|
|
@@ -355,6 +362,9 @@ has_inchi = TypeDef(
|
|
|
355
362
|
reference=Reference(prefix="debio", identifier="0000020", name="has InChI"),
|
|
356
363
|
)
|
|
357
364
|
|
|
365
|
+
has_homepage = TypeDef(
|
|
366
|
+
reference=Reference(prefix="foaf", identifier="homepage", name="homepage"), is_metadata_tag=True
|
|
367
|
+
)
|
|
358
368
|
|
|
359
369
|
default_typedefs: Dict[Tuple[str, str], TypeDef] = {
|
|
360
370
|
v.pair: v for k, v in locals().items() if isinstance(v, TypeDef)
|
pyobo/utils/path.py
CHANGED
|
@@ -25,7 +25,7 @@ __all__ = [
|
|
|
25
25
|
|
|
26
26
|
logger = logging.getLogger(__name__)
|
|
27
27
|
|
|
28
|
-
VersionHint = Union[None, str, Callable[[], str]]
|
|
28
|
+
VersionHint = Union[None, str, Callable[[], Optional[str]]]
|
|
29
29
|
|
|
30
30
|
requests_ftp.monkeypatch_session()
|
|
31
31
|
|
|
@@ -46,6 +46,7 @@ def prefix_directory_join(
|
|
|
46
46
|
logger.info("[%s] got version %s", prefix, version)
|
|
47
47
|
elif not isinstance(version, str):
|
|
48
48
|
raise TypeError(f"Invalid type: {version} ({type(version)})")
|
|
49
|
+
assert version is not None
|
|
49
50
|
version = cleanup_version(version, prefix=prefix)
|
|
50
51
|
if version is not None and "/" in version:
|
|
51
52
|
raise ValueError(f"[{prefix}] Can not have slash in version: {version}")
|
pyobo/version.py
CHANGED
pyobo/xrefdb/sources/__init__.py
CHANGED
|
@@ -7,7 +7,7 @@ from functools import lru_cache
|
|
|
7
7
|
from typing import Callable, Iterable, Mapping, Optional
|
|
8
8
|
|
|
9
9
|
import pandas as pd
|
|
10
|
-
from
|
|
10
|
+
from class_resolver import FunctionResolver
|
|
11
11
|
from tqdm.auto import tqdm
|
|
12
12
|
|
|
13
13
|
__all__ = [
|
|
@@ -19,10 +19,13 @@ __all__ = [
|
|
|
19
19
|
|
|
20
20
|
logger = logging.getLogger(__name__)
|
|
21
21
|
|
|
22
|
+
XrefGetter = Callable[[], pd.DataFrame]
|
|
23
|
+
|
|
22
24
|
|
|
23
25
|
@lru_cache()
|
|
24
|
-
def _get_xref_plugins() -> Mapping[str,
|
|
25
|
-
|
|
26
|
+
def _get_xref_plugins() -> Mapping[str, XrefGetter]:
|
|
27
|
+
resolver: FunctionResolver[XrefGetter] = FunctionResolver.from_entrypoint("pyobo.xrefs")
|
|
28
|
+
return resolver.lookup_dict
|
|
26
29
|
|
|
27
30
|
|
|
28
31
|
def has_xref_plugin(prefix: str) -> bool:
|
pyobo/xrefdb/sources/chembl.py
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
from typing import Optional
|
|
6
6
|
|
|
7
|
-
import bioversions
|
|
8
7
|
import pandas as pd
|
|
9
8
|
|
|
9
|
+
from pyobo.api.utils import get_version
|
|
10
10
|
from pyobo.constants import (
|
|
11
11
|
PROVENANCE,
|
|
12
12
|
SOURCE_ID,
|
|
@@ -26,7 +26,7 @@ def get_chembl_compound_equivalences_raw(
|
|
|
26
26
|
) -> pd.DataFrame:
|
|
27
27
|
"""Get the chemical representations raw dataframe."""
|
|
28
28
|
if version is None:
|
|
29
|
-
version =
|
|
29
|
+
version = get_version("chembl")
|
|
30
30
|
|
|
31
31
|
base_url = f"ftp://ftp.ebi.ac.uk/pub/databases/chembl/ChEMBLdb/releases/chembl_{version}"
|
|
32
32
|
url = f"{base_url}/chembl_{version}_chemreps.txt.gz"
|
|
@@ -36,7 +36,7 @@ def get_chembl_compound_equivalences_raw(
|
|
|
36
36
|
def get_chembl_compound_equivalences(version: Optional[str] = None) -> pd.DataFrame:
|
|
37
37
|
"""Get ChEMBL chemical equivalences."""
|
|
38
38
|
if version is None:
|
|
39
|
-
version =
|
|
39
|
+
version = get_version("chembl")
|
|
40
40
|
|
|
41
41
|
df = get_chembl_compound_equivalences_raw(version=version)
|
|
42
42
|
rows = []
|
|
@@ -55,7 +55,7 @@ def get_chembl_compound_equivalences(version: Optional[str] = None) -> pd.DataFr
|
|
|
55
55
|
def get_chembl_protein_equivalences(version: Optional[str] = None) -> pd.DataFrame:
|
|
56
56
|
"""Get ChEMBL protein equivalences."""
|
|
57
57
|
if version is None:
|
|
58
|
-
version =
|
|
58
|
+
version = get_version("chembl")
|
|
59
59
|
|
|
60
60
|
url = f"ftp://ftp.ebi.ac.uk/pub/databases/chembl/ChEMBLdb/releases/chembl_{version}/chembl_uniprot_mapping.txt"
|
|
61
61
|
df = ensure_df(
|
|
@@ -75,7 +75,7 @@ def get_chembl_protein_equivalences(version: Optional[str] = None) -> pd.DataFra
|
|
|
75
75
|
def get_chembl_xrefs_df(version: Optional[str] = None) -> pd.DataFrame:
|
|
76
76
|
"""Get all ChEBML equivalences."""
|
|
77
77
|
if version is None:
|
|
78
|
-
version =
|
|
78
|
+
version = get_version("chembl")
|
|
79
79
|
|
|
80
80
|
return pd.concat(
|
|
81
81
|
[
|
pyobo/xrefdb/sources/pubchem.py
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
from typing import Optional
|
|
6
6
|
|
|
7
|
-
import bioversions
|
|
8
7
|
import pandas as pd
|
|
9
8
|
|
|
9
|
+
from ...api.utils import get_version
|
|
10
10
|
from ...constants import XREF_COLUMNS
|
|
11
11
|
from ...sources.pubchem import _get_pubchem_extras_url, get_pubchem_id_to_mesh_id
|
|
12
12
|
|
|
@@ -18,7 +18,8 @@ __all__ = [
|
|
|
18
18
|
def get_pubchem_mesh_df(version: Optional[str] = None) -> pd.DataFrame:
|
|
19
19
|
"""Get PubChem Compound-MeSH xrefs."""
|
|
20
20
|
if version is None:
|
|
21
|
-
version =
|
|
21
|
+
version = get_version("pubchem")
|
|
22
|
+
assert version is not None
|
|
22
23
|
cid_mesh_url = _get_pubchem_extras_url(version, "CID-MeSH")
|
|
23
24
|
return pd.DataFrame(
|
|
24
25
|
[
|
pyobo/xrefdb/sources/wikidata.py
CHANGED
|
@@ -81,11 +81,18 @@ def iter_wikidata_mappings(
|
|
|
81
81
|
json.dump(rows, file, indent=2)
|
|
82
82
|
|
|
83
83
|
for row in rows:
|
|
84
|
-
wikidata_id = row["wikidata_id"]["value"]
|
|
84
|
+
wikidata_id = _removeprefix(row["wikidata_id"]["value"], "http://www.wikidata.org/entity/")
|
|
85
|
+
wikidata_id = _removeprefix(wikidata_id, "http://wikidata.org/entity/")
|
|
85
86
|
entity_id = row["id"]["value"]
|
|
86
87
|
yield wikidata_id, entity_id
|
|
87
88
|
|
|
88
89
|
|
|
90
|
+
def _removeprefix(s, prefix):
|
|
91
|
+
if s.startswith(prefix):
|
|
92
|
+
return s[len(prefix) :]
|
|
93
|
+
return s
|
|
94
|
+
|
|
95
|
+
|
|
89
96
|
HEADERS = {
|
|
90
97
|
"User-Agent": f"pyobo/{get_version()}",
|
|
91
98
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyobo
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.12
|
|
4
4
|
Summary: Handling and writing OBO
|
|
5
5
|
Home-page: https://github.com/pyobo/pyobo
|
|
6
6
|
Download-URL: https://github.com/pyobo/pyobo/releases
|
|
@@ -19,16 +19,16 @@ Classifier: Intended Audience :: Science/Research
|
|
|
19
19
|
Classifier: License :: OSI Approved :: MIT License
|
|
20
20
|
Classifier: Operating System :: OS Independent
|
|
21
21
|
Classifier: Programming Language :: Python
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
24
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
25
|
Classifier: Programming Language :: Python :: 3.9
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
26
26
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
27
27
|
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
29
|
-
Requires-Python: >=3.
|
|
29
|
+
Requires-Python: >=3.9
|
|
30
30
|
License-File: LICENSE
|
|
31
|
-
Requires-Dist: obonet
|
|
31
|
+
Requires-Dist: obonet>=0.3.0
|
|
32
32
|
Requires-Dist: click
|
|
33
33
|
Requires-Dist: tqdm
|
|
34
34
|
Requires-Dist: pyyaml
|
|
@@ -36,37 +36,37 @@ Requires-Dist: pandas
|
|
|
36
36
|
Requires-Dist: requests
|
|
37
37
|
Requires-Dist: protmapper
|
|
38
38
|
Requires-Dist: more-itertools
|
|
39
|
-
Requires-Dist: more-click
|
|
39
|
+
Requires-Dist: more-click>=0.0.2
|
|
40
40
|
Requires-Dist: humanize
|
|
41
41
|
Requires-Dist: tabulate
|
|
42
42
|
Requires-Dist: cachier
|
|
43
|
-
Requires-Dist: pystow
|
|
44
|
-
Requires-Dist: bioversions
|
|
45
|
-
Requires-Dist: bioregistry
|
|
46
|
-
Requires-Dist: bioontologies
|
|
47
|
-
Requires-Dist: zenodo-client
|
|
43
|
+
Requires-Dist: pystow>=0.2.7
|
|
44
|
+
Requires-Dist: bioversions>=0.5.202
|
|
45
|
+
Requires-Dist: bioregistry>=0.10.20
|
|
46
|
+
Requires-Dist: bioontologies>=0.4.0
|
|
47
|
+
Requires-Dist: zenodo-client>=0.0.5
|
|
48
48
|
Requires-Dist: class-resolver
|
|
49
49
|
Requires-Dist: psycopg2-binary
|
|
50
50
|
Requires-Dist: drugbank-downloader
|
|
51
51
|
Requires-Dist: chembl-downloader
|
|
52
|
-
Requires-Dist: umls-downloader
|
|
52
|
+
Requires-Dist: umls-downloader>=0.1.3
|
|
53
53
|
Requires-Dist: typing-extensions
|
|
54
54
|
Provides-Extra: agrovoc
|
|
55
|
-
Requires-Dist: rdflib
|
|
55
|
+
Requires-Dist: rdflib; extra == "agrovoc"
|
|
56
56
|
Provides-Extra: docs
|
|
57
|
-
Requires-Dist: sphinx
|
|
58
|
-
Requires-Dist: sphinx-rtd-theme
|
|
59
|
-
Requires-Dist: sphinx-click
|
|
60
|
-
Requires-Dist: sphinx-automodapi
|
|
57
|
+
Requires-Dist: sphinx<8.0; extra == "docs"
|
|
58
|
+
Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
|
59
|
+
Requires-Dist: sphinx-click; extra == "docs"
|
|
60
|
+
Requires-Dist: sphinx-automodapi; extra == "docs"
|
|
61
61
|
Provides-Extra: tests
|
|
62
|
-
Requires-Dist: coverage
|
|
63
|
-
Requires-Dist: pytest
|
|
62
|
+
Requires-Dist: coverage; extra == "tests"
|
|
63
|
+
Requires-Dist: pytest; extra == "tests"
|
|
64
64
|
Provides-Extra: web
|
|
65
|
-
Requires-Dist: flask
|
|
66
|
-
Requires-Dist: bootstrap-flask
|
|
67
|
-
Requires-Dist: flask-admin
|
|
68
|
-
Requires-Dist: flasgger
|
|
69
|
-
Requires-Dist: psutil
|
|
65
|
+
Requires-Dist: flask; extra == "web"
|
|
66
|
+
Requires-Dist: bootstrap-flask; extra == "web"
|
|
67
|
+
Requires-Dist: flask-admin; extra == "web"
|
|
68
|
+
Requires-Dist: flasgger; extra == "web"
|
|
69
|
+
Requires-Dist: psutil; extra == "web"
|
|
70
70
|
|
|
71
71
|
PyOBO
|
|
72
72
|
=====
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
pyobo/__init__.py,sha256=mZ96iZ-5ucxe2eLBi0xuSKaa2ZfeInaSR5Ajc_NkvUo,1862
|
|
2
2
|
pyobo/__main__.py,sha256=cQjBabQ2wlFKcv54PFdt0SgPXNeb3oWneuOHaBgHx1Q,108
|
|
3
3
|
pyobo/aws.py,sha256=oSy4qqHlCpuSyGhDeslrPtc_N0JDhRoGKWjw8RBmyNE,5976
|
|
4
|
-
pyobo/constants.py,sha256=
|
|
4
|
+
pyobo/constants.py,sha256=khE82G0qbKjyBSSSKnJSQFZDmn1Rhn06quKg9XbZzZ4,3047
|
|
5
5
|
pyobo/getters.py,sha256=37e7pcTqU-uVjx_XctT9pJMn7zaazsNfcyWoe7KMHi0,15565
|
|
6
|
-
pyobo/gilda_utils.py,sha256=
|
|
7
|
-
pyobo/identifier_utils.py,sha256=
|
|
6
|
+
pyobo/gilda_utils.py,sha256=cUv1WaZtzvu6Eb33ua4XShXXYcoD5StoEhNn3WcXN9c,8180
|
|
7
|
+
pyobo/identifier_utils.py,sha256=Ivjai_uBk2Qodo1y6RTej4FjqT6lSGnZxgwRNnt-zPk,4484
|
|
8
8
|
pyobo/mocks.py,sha256=R-4W3Rm5NarIHfNjxurbvBYsLHXt6jmDb6THMUt6K1w,2432
|
|
9
9
|
pyobo/normalizer.py,sha256=OHME2CDQSZYSbqmP-L_-4nxete9W9mtAjUzXVs1hnjU,8293
|
|
10
10
|
pyobo/obographs.py,sha256=JKE0a7e-gmxqdJoeX2zb_xQ6Tv5PAe60YhnIpAvrrYg,3758
|
|
11
11
|
pyobo/plugins.py,sha256=dXWGoFuQktNeQUWSJlPz2a7FeLysggc9ry6auEZdw98,1227
|
|
12
|
-
pyobo/reader.py,sha256=
|
|
12
|
+
pyobo/reader.py,sha256=sCC8RCUysmyVQRy8g_YJHLswr0BzQhxUJMMhe350l9A,21272
|
|
13
13
|
pyobo/resource_utils.py,sha256=JBcJRihZhNwp78-qWZPrzSCGoYfyOjzBwMkfmOkO_no,4289
|
|
14
|
-
pyobo/version.py,sha256
|
|
14
|
+
pyobo/version.py,sha256=-M7dCNE1QohvaQ27gU5nWrB8AJHFKX5mla7gvx3HugI,978
|
|
15
15
|
pyobo/api/__init__.py,sha256=Hq8p5uPW8fFYG2KfLqUsHhtLkTPqE4TqItGkedZzvXM,1326
|
|
16
16
|
pyobo/api/alts.py,sha256=fa516S9uWVgMIXR5KbYu70KFpvfOD7Not2iEYFB8C_4,2844
|
|
17
17
|
pyobo/api/hierarchy.py,sha256=o69jARrh9UXbzLsnXjW8Rs0kfQahvc22BlwcE7nAnFI,9527
|
|
18
18
|
pyobo/api/metadata.py,sha256=py8Pv_Mmy31itziRaucWibGvWF6vOhF4Ofj1kFMk_vQ,1148
|
|
19
|
-
pyobo/api/names.py,sha256=
|
|
19
|
+
pyobo/api/names.py,sha256=qf_YjV631lyXezSyd3vW43kxP_Z1rSdU_VH3S2BZ8ZA,8405
|
|
20
20
|
pyobo/api/properties.py,sha256=BKqUgN8nTpYrc0fROdaGGkptELgjbGT6TC_N2X8FIQM,7813
|
|
21
21
|
pyobo/api/relations.py,sha256=oAjslceGPLPUDT4keOJQCFBt_BXOqhCgSYZ2d-IjO34,6217
|
|
22
22
|
pyobo/api/species.py,sha256=RvTrC39yskueQyAplbcmqjHnL-t3QqggjBJcs5swgVU,2249
|
|
23
23
|
pyobo/api/typedefs.py,sha256=Vb1wvWDWLZu-FchYFs03wMEzS3RUPUsLxvyPNlHBcYE,1157
|
|
24
|
-
pyobo/api/utils.py,sha256=
|
|
24
|
+
pyobo/api/utils.py,sha256=cpYzdGiFmgWJB5PeelyIfFyDdUflmmAS2h_M65SGztc,1245
|
|
25
25
|
pyobo/api/xrefs.py,sha256=oy5ZSoeEpcJfjDfSCBwUx3LJEykqbpBwNrMhfhiyYlY,6020
|
|
26
26
|
pyobo/apps/__init__.py,sha256=iACi86TkTiGxwneGmfaudZOIEqZ45YjPXng7XjPE38Y,72
|
|
27
27
|
pyobo/apps/cli.py,sha256=gnXBAaESw1T1BvgMpTv-0P26hM2vKCAXPy0SOskgUwU,335
|
|
@@ -42,7 +42,7 @@ pyobo/cli/__init__.py,sha256=ReL2NlPx_GEljszzkjIKKAK6BC3KAuHli9pFU1YmgXQ,96
|
|
|
42
42
|
pyobo/cli/aws.py,sha256=ySuCV9JkOjelXLhcIgeHWReFSLh2n5zvGddNsfM1B8o,989
|
|
43
43
|
pyobo/cli/cli.py,sha256=0Vibj_1LnkI8pfkK8U7r5eSRspR9VkH2OH4DwcHzA2M,3616
|
|
44
44
|
pyobo/cli/database.py,sha256=5MCAbMClxYpPxZ83GilcsjjNs3zPjM7rHjqsBPfDGRM,10106
|
|
45
|
-
pyobo/cli/lookup.py,sha256=
|
|
45
|
+
pyobo/cli/lookup.py,sha256=1tjSaEaMxntGNxoe4tm8Gs2dQjFDTAH3oyrC_1xIrco,10160
|
|
46
46
|
pyobo/cli/utils.py,sha256=n8HVfJMEai0_4hDntbQPDZpqqZIPMNX_-kZ2cCyakss,1370
|
|
47
47
|
pyobo/registries/__init__.py,sha256=P4UmjPFFYkQ_YrXcM5NMT9VF45pHLBqavcmZ7jPwpNQ,417
|
|
48
48
|
pyobo/registries/metaregistry.json,sha256=ssjWlc3fqQBw0V4wwVZBeW-4Y_B_RkIEc0ooOFeiKJQ,12865
|
|
@@ -52,10 +52,10 @@ pyobo/resources/ncbitaxon.py,sha256=kyJDMGm8qIpIpckN6NSGovCBDacG1qGYTIpvJ--HXhM,
|
|
|
52
52
|
pyobo/resources/ncbitaxon.tsv.gz,sha256=43zHjnVt62TA4_lV58X-FCPdMDfLg1B1PvZSr_Xy9hY,22981954
|
|
53
53
|
pyobo/resources/ro.py,sha256=_CYD90vftMZvu8Rj6H9kOiw6wRBbs1LWmCl-HToxMIg,1484
|
|
54
54
|
pyobo/resources/ro.tsv,sha256=YvlBLPAKy2w4IheYzO9ox1Yg6WkHdMVzMQTikIlECog,26586
|
|
55
|
-
pyobo/sources/__init__.py,sha256=
|
|
55
|
+
pyobo/sources/__init__.py,sha256=Fxsxq4ahr5wJbqR6-v9W-Rp1bjbcsr81q6RMq6eCMq0,3836
|
|
56
56
|
pyobo/sources/agrovoc.py,sha256=J425AyyOVAeqeyN5MhmAR9OtJom41GDvKArfyz1iIU8,795
|
|
57
|
-
pyobo/sources/antibodyregistry.py,sha256=
|
|
58
|
-
pyobo/sources/biogrid.py,sha256=
|
|
57
|
+
pyobo/sources/antibodyregistry.py,sha256=bA84wQBInOqAKGA7YZI3pq4vIqSx2rWuIOUuTwrpdmQ,3332
|
|
58
|
+
pyobo/sources/biogrid.py,sha256=fqKE6oRC_dgHuKLPZf6cnadg-cCOejaexDjGdoVQmrs,3325
|
|
59
59
|
pyobo/sources/ccle.py,sha256=RwsrFTVOUAySvS2helFbSNAsmiCX3Zs8PiZUeRoGA0I,3023
|
|
60
60
|
pyobo/sources/cgnc.py,sha256=hCjFv05_aS2_Mn5Qb9VGLKGcOY87rEXZ6jH7r6WgUeg,2336
|
|
61
61
|
pyobo/sources/chebi.py,sha256=7t5CaykOWXMQ9JRW8x1g_gsZhygCdjR2MGRYTFLEiTs,1230
|
|
@@ -64,6 +64,7 @@ pyobo/sources/civic_gene.py,sha256=SUwlb1PXwVVB-XQanyI7tRbPMGaDNiB-CXNry_idAZY,1
|
|
|
64
64
|
pyobo/sources/complexportal.py,sha256=nhEaUzw4riuN31OLiwpGffj66YMCeLigekblTWGk3nk,6022
|
|
65
65
|
pyobo/sources/conso.py,sha256=ZLQ_T5EgrcuX9q6kCBKCwfGzAEVxgN6xADl-LKzJtbk,2460
|
|
66
66
|
pyobo/sources/cpt.py,sha256=x8P15D9UX5Fwf6bmeVsU1DAFJvZ22rxVPy5ur-GUk_Q,1482
|
|
67
|
+
pyobo/sources/credit.py,sha256=UD_QYfSBvWOejsLaN28WpN2ci_aozPHI7mf1Wbk0uwE,2008
|
|
67
68
|
pyobo/sources/cvx.py,sha256=FZAghQxkefWsxT1nTTUb56NgteRbAmawpOo3IdAfPAQ,2836
|
|
68
69
|
pyobo/sources/depmap.py,sha256=VuZduDgCduiAHPLwPDXgWpxhMSOZCC4UsxFdj7hNkYQ,3656
|
|
69
70
|
pyobo/sources/dictybase_gene.py,sha256=EgWBwUZ83ev7x5Lp_nUkgSq2zumkDjJ7_13m3f6kJz0,2564
|
|
@@ -73,38 +74,38 @@ pyobo/sources/drugcentral.py,sha256=05mGolBIyKCxAYzpH9LY_ZQrTVnizup2JUiWi2wW9OI,
|
|
|
73
74
|
pyobo/sources/expasy.py,sha256=Ul6DFtHKw3fU1ec93c9f29kXxod2Rn-jPWOYl1xrRa8,10051
|
|
74
75
|
pyobo/sources/famplex.py,sha256=bn3WaJdrDf9BxsG9vnnnnGOwCrnrJ-vTMxOnxgrtUb4,5816
|
|
75
76
|
pyobo/sources/flybase.py,sha256=0-BCNsp-L-CgGPN9VdJec6-8e4-fJuzaZAZiNra3ZUQ,5768
|
|
76
|
-
pyobo/sources/geonames.py,sha256=
|
|
77
|
+
pyobo/sources/geonames.py,sha256=SU5i1_UWjnCKLz4yWKZThSJp5dqJdNXj9VL-wWUeiNg,8554
|
|
77
78
|
pyobo/sources/gmt_utils.py,sha256=NAWyUZ1p1HcO8RPL9mEEcL9KoaBDPuU-tbyG2QLb98k,1401
|
|
78
79
|
pyobo/sources/go.py,sha256=IJul9eAXxKifZiWKJL1Dl9PFDFdoPMQ0ZVydzhnRtX0,1275
|
|
79
80
|
pyobo/sources/gwascentral_phenotype.py,sha256=dCzyw_jbmhol69Li0g2ocMQJRqjoV2fZM_pno6i7xyA,1889
|
|
80
81
|
pyobo/sources/gwascentral_study.py,sha256=_YH9TRWsCOHjOrJ2pAqQ7fi_HmF1WbMmTUj5iqWDUwY,2812
|
|
81
|
-
pyobo/sources/hgnc.py,sha256=
|
|
82
|
+
pyobo/sources/hgnc.py,sha256=VDiHNbGms3xUyAPjRvkFxGfzR7Jdi2CG5HEtKzM1EGA,15960
|
|
82
83
|
pyobo/sources/hgncgenefamily.py,sha256=o7gCI5raXkCMr8ONfAZpRW7PtsZ8lkRC4T1kEjTxBn4,3645
|
|
83
84
|
pyobo/sources/icd10.py,sha256=KhenR1U8LvZQF97mRZIoSEE_daKcJ2hTJ41BQU7SNuM,2286
|
|
84
85
|
pyobo/sources/icd11.py,sha256=04nLt-Lr64hAroOLH4OP-iNbuIjBk-mYcg-Ib34zgMM,2834
|
|
85
86
|
pyobo/sources/icd_utils.py,sha256=c1Xkk9YAyKQ-vvnPud5GKq5ygZVbd1j0NFSml3RjQZ0,3155
|
|
86
87
|
pyobo/sources/interpro.py,sha256=sWla5FDOkzA8elzeNHXOMD0nEVIbNK7jg4UZ0Zp7BfI,4934
|
|
87
88
|
pyobo/sources/itis.py,sha256=LXS4MTL7OMmdfo-ypoF75UJkePw7VnHDrgq10RF_VUk,2967
|
|
88
|
-
pyobo/sources/mesh.py,sha256=
|
|
89
|
+
pyobo/sources/mesh.py,sha256=bERu2apELBxM4DVA-ViuJZzNfaL0dvrNZfPRQFWyPAA,12163
|
|
89
90
|
pyobo/sources/mgi.py,sha256=c0CiiH_LolAFdHPNu1lpLeAzHq20wVLyOrLRTkLYxhY,5766
|
|
90
91
|
pyobo/sources/mirbase.py,sha256=NMqZfT7CbbetqCV-KdGjHJmz2uM5QvdF_M1BxKi1ZCw,6349
|
|
91
92
|
pyobo/sources/mirbase_constants.py,sha256=X7KhJDp1saGrdBwUR9fQSWwebzns5f-mEF4qWSETs2k,2023
|
|
92
93
|
pyobo/sources/mirbase_family.py,sha256=Yj3oXaeBWDxcmBKnvOl0q_7nzlye5EXhSJPWlV3YpT8,2167
|
|
93
94
|
pyobo/sources/mirbase_mature.py,sha256=nvWcQVDMBucPu6v5DLFb_W_9fz_J_Id7HZrilkUhaFI,1504
|
|
94
|
-
pyobo/sources/msigdb.py,sha256=
|
|
95
|
+
pyobo/sources/msigdb.py,sha256=o5thqA4-4GzUE3PUIEad-iznYh6NNLKqkSXCbea_rZM,5021
|
|
95
96
|
pyobo/sources/ncbigene.py,sha256=qipZEaaXop289vRro_NS8BB0_t-c738lJItWSjzD7PI,5055
|
|
96
|
-
pyobo/sources/npass.py,sha256=
|
|
97
|
+
pyobo/sources/npass.py,sha256=AnZTNCsV4JD5tPCenoU4RyBxnEmVk_tA_4rbni99KcY,2814
|
|
97
98
|
pyobo/sources/omim_ps.py,sha256=uULW_1gmYIE66O85GdLCGbdmsi9qxcS7tZziOny0wc0,1020
|
|
98
99
|
pyobo/sources/pathbank.py,sha256=yhdS4BCbGxQf0o3HCGzL2cYRY7zyvHvDzzSBkkezoog,4989
|
|
99
100
|
pyobo/sources/pfam.py,sha256=aHXdXmoG6xyNkScHft_xYe4J2DzRr22EinyfjpmwEj4,1846
|
|
100
101
|
pyobo/sources/pfam_clan.py,sha256=hjJ0UUEcrNoaQVWbXZ_EaTWFo4iB9VG9Sp6pcO90gxY,1340
|
|
101
102
|
pyobo/sources/pid.py,sha256=ZEbiYpbZL9_aOCEJWw0I3H5f7Q2RhQuNy5PUZfs0orU,4570
|
|
102
103
|
pyobo/sources/pombase.py,sha256=nRMxk2FuQZv6KnL8LBxqZbVtvynvneLe39i5V3dYAtw,3601
|
|
103
|
-
pyobo/sources/pubchem.py,sha256=
|
|
104
|
+
pyobo/sources/pubchem.py,sha256=ZnbRh1hCSAVawfVCNSy43kvIBXslq4lX8OlArnbo5sE,5282
|
|
104
105
|
pyobo/sources/reactome.py,sha256=H-hMMrbf2mElOLDu_hYZgurYLYTZvrQ7E1dyvaWKvSM,5084
|
|
105
|
-
pyobo/sources/rgd.py,sha256=
|
|
106
|
-
pyobo/sources/rhea.py,sha256=
|
|
107
|
-
pyobo/sources/ror.py,sha256=
|
|
106
|
+
pyobo/sources/rgd.py,sha256=v-4xH5w2C58J_hRI5V8Eof7EiTPofVlIwFA-3c2jyhg,5397
|
|
107
|
+
pyobo/sources/rhea.py,sha256=nt2j7LMiuKM7zaVflSUoWNj7J8EnsRVfigFK9XXuNRg,7781
|
|
108
|
+
pyobo/sources/ror.py,sha256=Omu5DYStYoUyenEfNOwsQZbmZTZQZ0DvToXrT3pLFYc,7364
|
|
108
109
|
pyobo/sources/sgd.py,sha256=DOcRxEJGrHEOsaIiWat2x9ER2HnfnU3l8lqr3IktblA,2150
|
|
109
110
|
pyobo/sources/slm.py,sha256=ai_Zp0tqBIanMZ7q7b5x6w9KdTTCEqA4PhX0ToaF594,3804
|
|
110
111
|
pyobo/sources/utils.py,sha256=tmCGXGxHVrYkS5E1-k2SZqL8H4Tv8dFrkoIEJ0xzVmQ,1119
|
|
@@ -126,7 +127,7 @@ pyobo/sources/umls/get_synonym_types.py,sha256=5u1ZEl8gp_StuQxrasvHK4S0DyVWdgp_r
|
|
|
126
127
|
pyobo/sources/umls/synonym_types.tsv,sha256=z--ngeAqA_Kk8ft2YD8qOU_XUxhnTxF0OhL8jRd5xqo,8551
|
|
127
128
|
pyobo/sources/umls/umls.py,sha256=C3UXVd1iSlj5TC6Ib1T1oDIyJ4pIveNeGPK8ORkRtG4,4318
|
|
128
129
|
pyobo/sources/uniprot/__init__.py,sha256=dsL0BvfMn3O_swtNhzQpjJUlP56NUBCcjSYdFvRlwmI,225
|
|
129
|
-
pyobo/sources/uniprot/uniprot.py,sha256=
|
|
130
|
+
pyobo/sources/uniprot/uniprot.py,sha256=FNfLttMPFnYL8DECoa1I6j4qAxg6nRo_VzLqFYkDOYM,6114
|
|
130
131
|
pyobo/sources/uniprot/uniprot_ptm.py,sha256=ze1cf0_kkqslhS-lXa7EdfasV4reUDp6niJat6yymT8,3551
|
|
131
132
|
pyobo/ssg/__init__.py,sha256=Q5vYmk1LZwriShmA3TcYZ1Z1yiyjTWItcGxep5Fi2pw,5390
|
|
132
133
|
pyobo/ssg/base.html,sha256=_vldUCa-gL2YTNY6GgAuxNT3TgaED585vF_q7TrrjYs,2844
|
|
@@ -135,8 +136,8 @@ pyobo/ssg/term.html,sha256=QU6piGOq4dq8zlNhJvLFxqFjhVQyWlkiG31I0Sg5frg,3559
|
|
|
135
136
|
pyobo/ssg/typedef.html,sha256=KrdqzB6xjt689bG33D26AL-11JrvNuEkoxNNI-EG-Tg,2038
|
|
136
137
|
pyobo/struct/__init__.py,sha256=F5iav-0rnkLrldDxDPVeDt4zd1tXYBKICoKODJBk_kQ,671
|
|
137
138
|
pyobo/struct/reference.py,sha256=U2qHIANj_0XhSxh7UBaXUiOXWtVjtyIBeDQ03heWuxA,5712
|
|
138
|
-
pyobo/struct/struct.py,sha256=
|
|
139
|
-
pyobo/struct/typedef.py,sha256=
|
|
139
|
+
pyobo/struct/struct.py,sha256=oSEocxLlb4o51-qPhYu8Mi74S4w1FfaEDR8332wW124,54425
|
|
140
|
+
pyobo/struct/typedef.py,sha256=IbYBL_FpTQqlZBsC8tq-DqD_mfGvfUaJz02gMIjtPO0,13900
|
|
140
141
|
pyobo/struct/utils.py,sha256=-XHuCETp7jPNhjHCW72gikaKoaiTPTNhDK5BZYyJsVw,815
|
|
141
142
|
pyobo/utils/__init__.py,sha256=wXtcjcasWRBtJdTSMCC3jT8yFG8ZkQC-Xdh9lLiQDAo,42
|
|
142
143
|
pyobo/utils/cache.py,sha256=bmuEE0DyppY6szNEzkS1tLLKfsLIrHQFhp0P-q94KFs,2677
|
|
@@ -144,26 +145,25 @@ pyobo/utils/io.py,sha256=GiOittPhSJKc-acmj6h3DGSvLnPDntRIiUhjuCEUwj8,4756
|
|
|
144
145
|
pyobo/utils/iter.py,sha256=VyISqr04Pg2xLSLJhypUuZnh7WzxVmpp3MsASCuL8Tk,1475
|
|
145
146
|
pyobo/utils/misc.py,sha256=WfvJ_AGge8plp9IIlAGiahPxoCiWAow4t_-ncr7AjwY,2857
|
|
146
147
|
pyobo/utils/ndex_utils.py,sha256=gxmGfR_O-ZMOsBil_YFSn99x_Fvatg7O8s9iZp4Iy10,2351
|
|
147
|
-
pyobo/utils/path.py,sha256
|
|
148
|
+
pyobo/utils/path.py,sha256=ZNJ3aOZT9xqyk8NSQ1jZLtTB5goFPlquVYAwvuGEkVQ,3972
|
|
148
149
|
pyobo/xrefdb/__init__.py,sha256=0W6AuvghFHQ1zY-Dq26z8V_MRC9xL39aWqLb-JbU8T8,74
|
|
149
|
-
pyobo/xrefdb/bengo.py,sha256=DUhvdWvjNg2rfa99x3pfkonKERmylbt06u5GLlTZ10Q,1312
|
|
150
150
|
pyobo/xrefdb/canonicalizer.py,sha256=gtwOoOMmBSCnXrlGfAyuryhT16F87I9HAOd2wi0O7I0,7421
|
|
151
151
|
pyobo/xrefdb/priority.py,sha256=QfaKJ4U_6d1JlVZX_vM1s6T35bdc1-PiQH3--WTLAK0,1203
|
|
152
152
|
pyobo/xrefdb/xrefs_pipeline.py,sha256=I0zsukpuOBIBIM2vh4K3A0UuaI6l56qt3is8NAzYTaU,6219
|
|
153
|
-
pyobo/xrefdb/sources/__init__.py,sha256=
|
|
153
|
+
pyobo/xrefdb/sources/__init__.py,sha256=uM3g-OyOCsz7dINGcBkcqBs4lYwogTQhX3BZj1Bz5zo,1647
|
|
154
154
|
pyobo/xrefdb/sources/biomappings.py,sha256=110puNUl0CbIBXFovEpMeW25QsnIetteWPmCCQ00s3Q,919
|
|
155
155
|
pyobo/xrefdb/sources/cbms2019.py,sha256=neUfZsmLEi0kNKaOHtMCpnCyvcc4VD1KX88ldhLjYoo,2843
|
|
156
|
-
pyobo/xrefdb/sources/chembl.py,sha256=
|
|
156
|
+
pyobo/xrefdb/sources/chembl.py,sha256=NyxfELxPE2uB0UPBzs27DcRFun7Wu9ZWy1bNsIX2bS0,2635
|
|
157
157
|
pyobo/xrefdb/sources/compath.py,sha256=IS6kgkVTYQHgy3gm6GhrHkfUStfjd0z5W_w8KrWb5Rs,2334
|
|
158
158
|
pyobo/xrefdb/sources/famplex.py,sha256=pAbfFjRs_tPuxTJWJqvPT5p3ZKIqtgT0xqn2GizJ3-4,1833
|
|
159
159
|
pyobo/xrefdb/sources/gilda.py,sha256=aYMFXMbDKB-_HqPMzEIUhvz6YahJiuyAcNgo2KfFalk,1070
|
|
160
160
|
pyobo/xrefdb/sources/intact.py,sha256=F0z6WrOwI79aZSuM5MsvQwzqoyzh9J0UuB4Mseoj9X8,2966
|
|
161
161
|
pyobo/xrefdb/sources/ncit.py,sha256=unoIKJqdcfitTc6pU9P1SxJ1w8ax0iDjvEOlqe64nCY,3745
|
|
162
|
-
pyobo/xrefdb/sources/pubchem.py,sha256=
|
|
163
|
-
pyobo/xrefdb/sources/wikidata.py,sha256=
|
|
164
|
-
pyobo-0.10.
|
|
165
|
-
pyobo-0.10.
|
|
166
|
-
pyobo-0.10.
|
|
167
|
-
pyobo-0.10.
|
|
168
|
-
pyobo-0.10.
|
|
169
|
-
pyobo-0.10.
|
|
162
|
+
pyobo/xrefdb/sources/pubchem.py,sha256=m6I_zYUGDe27EKhyNvjMSy1hpRcUURc7fuTxiTy8xlg,821
|
|
163
|
+
pyobo/xrefdb/sources/wikidata.py,sha256=vrrbOBIIQimrghzishZ6yyE1L_ARgJDCoAogqfuUYDY,3585
|
|
164
|
+
pyobo-0.10.12.dist-info/LICENSE,sha256=GRbxxtZEWtZiFGDENk1gntCQK4HEJYYbylEJEwpSLao,1076
|
|
165
|
+
pyobo-0.10.12.dist-info/METADATA,sha256=WNna9-0XS_htOC_zl7-jLF05KGsjmau8rwTnUoLqQ-8,20031
|
|
166
|
+
pyobo-0.10.12.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
167
|
+
pyobo-0.10.12.dist-info/entry_points.txt,sha256=Du5V6qw_T917Z5ZoMhLTTJoolK7kkVuUWkdE7aJWea0,669
|
|
168
|
+
pyobo-0.10.12.dist-info/top_level.txt,sha256=oVdkT-pbiGoSdGSQplXFuP1KQGJNf4GdRC65jn6y9t0,6
|
|
169
|
+
pyobo-0.10.12.dist-info/RECORD,,
|