KEGG Pathway Database Query
Query the KEGG REST API for biological pathways, genes, and compounds.
When to Use
- User asks about biological pathways (glycolysis, apoptosis, etc.)
- User wants to find which pathways a gene is in
- User asks about KEGG pathway IDs
- User wants pathway gene lists
How to Execute
import requests
BASE_URL = "https://rest.kegg.jp"
# 1. Find pathways by keyword
def find_pathways(keyword, organism="hsa"):
url = f"{BASE_URL}/find/pathway/{keyword}"
r = requests.get(url)
lines = r.text.strip().split('\n')
results = []
for line in lines:
if line:
parts = line.split('\t')
pid = parts[0].replace("map", organism) if organism else parts[0]
results.append({"id": pid, "name": parts[1] if len(parts) > 1 else ""})
return results
# 2. Get pathway details
def get_pathway(pathway_id):
url = f"{BASE_URL}/get/{pathway_id}"
r = requests.get(url)
return r.text
# 3. Get genes in a pathway
def get_pathway_genes(pathway_id):
url = f"{BASE_URL}/link/genes/{pathway_id}"
r = requests.get(url)
genes = []
for line in r.text.strip().split('\n'):
if line:
parts = line.split('\t')
if len(parts) >= 2:
genes.append(parts[1])
return genes
# 4. Get gene info
def get_gene(kegg_gene_id):
url = f"{BASE_URL}/get/{kegg_gene_id}"
r = requests.get(url)
return r.text
# 5. Find genes by name
def find_gene(gene_name, organism="hsa"):
url = f"{BASE_URL}/find/{organism}/{gene_name}"
r = requests.get(url)
return r.text
# 6. List all human pathways
def list_pathways(organism="hsa"):
url = f"{BASE_URL}/list/pathway/{organism}"
r = requests.get(url)
return r.text
# Example
pathways = find_pathways("apoptosis")
for p in pathways[:5]:
print(f"{p['id']}: {p['name']}")
API Pattern
https://rest.kegg.jp/<operation>/<argument>
| Operation | Example | Use |
|---|---|---|
list |
/list/pathway/hsa |
List all human pathways |
find |
/find/pathway/cancer |
Search by keyword |
get |
/get/hsa:672 |
Get BRCA1 gene info |
link |
/link/genes/hsa00010 |
Get genes in pathway |
conv |
/conv/genes/ncbi-geneid:672 |
Convert IDs |
Organism Codes
hsa= Human,mmu= Mouse,rno= Rat,dme= Fly,sce= Yeast,eco= E. coli
Follow-up Suggestions
- "Want me to get the full gene list for this pathway?"
- "Should I visualize which of your genes overlap with this pathway?"
- "Want me to check related pathways?"