<< All versions
Skill v1.0.1
currentAutomated scan100/100internscience/scp/variant-cross-database-ids
1 files
──Details
PublishedJune 14, 2026 at 01:01 AM
Content Hashsha256:174d3c6a0d452d14...
Git SHAcea539856403
Bump Typepatch
──Files
Files (1 file, 4.0 KB)
SKILL.md4.0 KBactive
SKILL.md · 104 lines · 4.0 KB
version: "1.0.1" name: variant-cross-database-ids description: "Query ClinGen Allele Registry to map variant rsID to identifiers in other databases (ClinVar, gnomAD, COSMIC, UniProtKB, OMIM, etc.)." license: MIT license metadata: skill-author: PJLab
ClinGen Allele Registry — Cross-Database ID Mapping
Usage
Tool Description
tex
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/jsonNote: 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 编号
Query Example
python
import requests, jsonrs_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. CA127498titles = allele.get("communityStandardTitle", [])# 跳过同义变异(参考等位基因,标题含 "=" 表示无变化)if titles and any("=" in t for t in titles):print(f"\n── [{i}] CA ID: {ca_id} (同义/参考等位基因,跳过)")continueprint(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 gprint(f" {ver}: {gid}")# dbSNPfor d in ext.get("dbSNP", []):rs = d.get("rs", d) if isinstance(d, dict) else dprint(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 mprint(f" {ver}: {mid}")# ExAC (旧版人群频率)for e in ext.get("ExAC", []):eid = e.get("id", e) if isinstance(e, dict) else eprint(f" ExAC: {eid}")