Spaces:
Sleeping
Sleeping
Update genesis/api_clients/bioportal_api.py
Browse files
genesis/api_clients/bioportal_api.py
CHANGED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# genesis/api_clients/bioportal_api.py
|
2 |
+
import requests
|
3 |
+
import os
|
4 |
+
|
5 |
+
BIOPORTAL_API_KEY = os.getenv("BIOPORTAL_API_KEY")
|
6 |
+
BASE_URL = "https://data.bioontology.org"
|
7 |
+
|
8 |
+
def search_bioportal(query: str):
|
9 |
+
"""Search BioPortal for ontologies, classes, or terms."""
|
10 |
+
url = f"{BASE_URL}/search"
|
11 |
+
params = {"q": query, "apikey": BIOPORTAL_API_KEY}
|
12 |
+
r = requests.get(url, params=params)
|
13 |
+
r.raise_for_status()
|
14 |
+
return r.json()
|
15 |
+
|
16 |
+
def get_ontology_list():
|
17 |
+
"""Get list of available ontologies."""
|
18 |
+
url = f"{BASE_URL}/ontologies"
|
19 |
+
params = {"apikey": BIOPORTAL_API_KEY}
|
20 |
+
r = requests.get(url, params=params)
|
21 |
+
r.raise_for_status()
|
22 |
+
return r.json()
|