Spaces:
Sleeping
Sleeping
# genesis/api_clients/chembl_api.py | |
import requests | |
BASE_URL = "https://www.ebi.ac.uk/chembl/api/data" | |
def search_molecule(query: str): | |
"""Search ChEMBL molecules by name or ChEMBL ID.""" | |
url = f"{BASE_URL}/molecule/search.json?q={query}" | |
response = requests.get(url) | |
response.raise_for_status() | |
return response.json() | |
def get_molecule_details(chembl_id: str): | |
"""Get details of a molecule by ChEMBL ID.""" | |
url = f"{BASE_URL}/molecule/{chembl_id}.json" | |
response = requests.get(url) | |
response.raise_for_status() | |
return response.json() | |
def get_assays_for_molecule(chembl_id: str): | |
"""Get bioassays related to a molecule.""" | |
url = f"{BASE_URL}/assay.json?molecule_chembl_id={chembl_id}" | |
response = requests.get(url) | |
response.raise_for_status() | |
return response.json() | |
def get_targets_for_molecule(chembl_id: str): | |
"""Get protein targets related to a molecule.""" | |
url = f"{BASE_URL}/target.json?molecule_chembl_id={chembl_id}" | |
response = requests.get(url) | |
response.raise_for_status() | |
return response.json() | |