drclaw/agent_hub/templates/genomics/skills/variant-cross-database-ids/SKILL.md
Query ClinGen Allele Registry to map variant rsID to identifiers in other databases (ClinVar, gnomAD, COSMIC, UniProtKB, OMIM, etc.).
npx skillsauth add qzzqzzb/drclaw variant-cross-database-idsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Query ClinGen Allele Registry by rsID to get cross-database identifiers.
Maps variant to IDs in ClinVar, gnomAD, COSMIC, UniProtKB, OMIM, etc.
API: GET https://reg.genome.network/alleles?dbSNP.rs={rs_id}
Headers: Accept: application/json
Note: May return multiple alleles (multi-allelic sites); filter out synonymous (reference) alleles.
Args:
rs_id (str): dbSNP rsID (e.g. "rs7412")
Return:
CA ID (canonical allele), and cross-references to ClinVar (alleleId, variationId, RCVs),
gnomAD, COSMIC, UniProtKB, OMIM and other databases.
Return Fields Explanation:
- CA ID: ClinGen 统一分配的等位基因标准标识符 (e.g. CA127498)
- communityStandardTitle: HGVS 标准命名 (e.g. NM_000041.2(APOE):c.526C>T (p.Arg176Cys))
- ClinVarAlleles.alleleId: ClinVar 等位基因内部编号
- ClinVarAlleles.preferredName: ClinVar 的 HGVS 标准命名(转录本:cDNA变化 + 蛋白变化)
- ClinVarVariations.variationId: ClinVar 变异条目编号 (= VCV 编号,如 17848 对应 VCV000017848)
- ClinVarVariations.RCV: 临床评估记录列表,每个 RCV 代表一个独立机构对该变异的临床解读提交
- COSMIC: COSMIC 肿瘤体细胞变异数据库 ID
- gnomAD_2/3/4: 各版本 gnomAD 中的 chr-pos-ref-alt 格式 ID
- ExAC: ExAC(旧版人群频率数据库)中的变异 ID
- MyVariantInfo_hg19/hg38: MyVariant.info API 使用的 HGVS genomic 格式
- dbSNP.rs: 对应的 dbSNP rsID 编号
import requests, json
rs_id = "rs7412"
url = f"https://reg.genome.network/alleles?dbSNP.rs={rs_id}"
resp = requests.get(url, headers={"Accept": "application/json"}, timeout=30).json()
if not isinstance(resp, list):
resp = [resp]
print(f"[ClinGen] {rs_id} 对应 {len(resp)} 个等位基因")
for i, allele in enumerate(resp):
ca_id = allele.get("@id", "").split("/")[-1] # e.g. CA127498
titles = allele.get("communityStandardTitle", [])
# 跳过同义变异(参考等位基因,标题含 "=" 表示无变化)
if titles and any("=" in t for t in titles):
print(f"\n── [{i}] CA ID: {ca_id} (同义/参考等位基因,跳过)")
continue
print(f"\n── [{i}] CA ID: {ca_id} ──")
if titles:
print(f" 标准命名(HGVS): {titles}")
# 外部数据库交叉引用
ext = allele.get("externalRecords", {})
# ClinVar: alleleId = 等位基因编号, preferredName = HGVS命名
for cv in ext.get("ClinVarAlleles", []):
print(f" ClinVar Allele ID: {cv.get('alleleId')}, name: {cv.get('preferredName')}")
# ClinVar: variationId = VCV编号, RCV = 各机构临床评估记录列表
for cv in ext.get("ClinVarVariations", []):
print(f" ClinVar Variation ID: {cv.get('variationId')}, RCVs: {cv.get('RCV', [])}")
# COSMIC (肿瘤体细胞变异)
for c in ext.get("COSMIC", []):
print(f" COSMIC: {c.get('id', c)}")
# gnomAD (人群频率, chr-pos-ref-alt 格式)
for ver in ["gnomAD_2", "gnomAD_3", "gnomAD_4"]:
for g in ext.get(ver, []):
gid = g.get("id", g) if isinstance(g, dict) else g
print(f" {ver}: {gid}")
# dbSNP
for d in ext.get("dbSNP", []):
rs = d.get("rs", d) if isinstance(d, dict) else d
print(f" dbSNP: rs{rs}")
# MyVariantInfo (HGVS genomic 格式)
for ver in ["MyVariantInfo_hg19", "MyVariantInfo_hg38"]:
for m in ext.get(ver, []):
mid = m.get("id", m) if isinstance(m, dict) else m
print(f" {ver}: {mid}")
# ExAC (旧版人群频率)
for e in ext.get("ExAC", []):
eid = e.get("id", e) if isinstance(e, dict) else e
print(f" ExAC: {eid}")
content-media
当用户明确要求“写/生成 NSFC 预算说明书”“写预算说明”“生成 budget.tex / budget.pdf”“写国自然预算 justification”时使用。基于用户标书正文或补充材料,输出一份可提交的预算说明书 LaTeX 项目并渲染 `budget.pdf`。若用户未指定工作目录,必须暂停并先要求其指定。⚠️ 不适用:用户只是想了解预算原则;用户仅要预算表数字而不写说明书;或用户是 2026 青年 A/B/C 默认包干制且无需预算说明书的场景。
tools
当用户明确要求"写/润色 NSFC 标书摘要""生成中文摘要和英文摘要""把中文摘要翻译成英文摘要"时使用。输出中文、英文两个版本(英文必须是中文的忠实翻译版),同时输出标题建议(1个推荐标题+5个候选标题及理由)。中文摘要默认≤400字符,英文摘要默认≤4000字符。输出方式:将结果写入工作目录下的 `NSFC-ABSTRACTS.md`。⚠️ 不适用:用户只想翻译一段与标书无关的通用文本(应直接翻译);用户只想写立项依据/研究内容/研究基础正文(应使用对应 nsfc 系列 skill)。
documentation
当用户明确要求"更新项目指南""同步指南""沉淀洞见到指南"时使用。将对话中新产生的可复用写作洞见实时沉淀到项目指南文件,保持术语口径一致、结构稳定、可检验与可复现。调用时必须指定指南文件路径。
content-media
当用户明确要求"从文件/图片/网页/描述中提取综述主题"或"生成主题+关键词+核心问题结构化输出"时使用。支持文件(PDF/Word/Markdown/Tex)、文件夹、图片、自然语言描述、网页 URL 等多种输入源,自动识别输入类型并提取内容,生成可直接用于 systematic-literature-review 及其他文献综述技能的结构化输出。