mgbam's picture
Update genesis/api_clients/ncbi_api.py
9bee6a4 verified
raw
history blame
863 Bytes
# genesis/api_clients/ncbi_api.py
import requests
import os
NCBI_API_KEY = os.getenv("NCBI_API_KEY")
BASE_URL = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils"
def search_gene(query: str, max_results: int = 10):
"""Search NCBI Gene database."""
url = f"{BASE_URL}/esearch.fcgi"
params = {
"db": "gene",
"term": query,
"retmax": max_results,
"retmode": "json",
"api_key": NCBI_API_KEY
}
r = requests.get(url, params=params)
r.raise_for_status()
return r.json()
def fetch_gene_summary(gene_id: str):
"""Fetch summary for a specific gene."""
url = f"{BASE_URL}/esummary.fcgi"
params = {
"db": "gene",
"id": gene_id,
"retmode": "json",
"api_key": NCBI_API_KEY
}
r = requests.get(url, params=params)
r.raise_for_status()
return r.json()