query-kegg — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited query-kegg (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Query the KEGG REST API for biological pathways, genes, and compounds.
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']}")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 |
hsa = Human, mmu = Mouse, rno = Rat, dme = Fly, sce = Yeast, eco = E. coli~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.