技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
variant-annotation【数据与研究】Query and annotate gene variants from ClinVar and dbSNP databases. \n\.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Query and interpret gene variant clinical significance from ClinVar and dbSNP databases with ACMG guideline support.
scripts/main.py.references/ for task-specific guidance.See ## Prerequisites above for related details.
Python: 3.10+. Repository baseline for current packaged skills.dataclasses: unspecified. Declared in requirements.txt.See ## Usage above for related details.
cd "20260318/scientific-skills/Evidence Insight/variant-annotation"
python -m py_compile scripts/main.py
python scripts/main.py --help
Example run plan:
CONFIG block or documented parameters if the script uses fixed settings.python scripts/main.py with the validated inputs.See ## Workflow above for related details.
scripts/main.py.references/ contains supporting rules, prompts, or checklists.Use this command to verify that the packaged script entry point can be parsed before deeper execution.
python -m py_compile scripts/main.py
Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
python -m py_compile scripts/main.py
python scripts/main.py --help
Provide comprehensive variant annotation including:
| Format | Example | Description |
|---|---|---|
| rsID | rs80357410 | dbSNP reference SNP ID |
| HGVS cDNA | NM_007294.3:c.5096G>A | Coding DNA change |
| HGVS Protein | NP_009225.1:p.Arg1699Gln | Protein change |
| HGVS Genomic | NC_000017.11:g.43094692G>A | Genomic coordinate |
| VCF-style | chr17:43094692:G>A | Chromosome:position:ref>alt |
| Gene:AA | BRCA1:R1699Q | Gene with amino acid change |
from scripts.main import VariantAnnotator
# Initialize annotator
annotator = VariantAnnotator()
# Query by rsID
result = annotator.query_variant("rs80357410")
# Query by HGVS notation
result = annotator.query_variant("NM_007294.3:c.5096G>A")
# Query by genomic coordinate
result = annotator.query_variant("chr17:43094692:G>A")
# Batch query
results = annotator.batch_query(["rs80357410", "rs28897696", "rs11571658"])
# Single variant query
python scripts/main.py --variant rs80357410
# HGVS notation
python scripts/main.py --variant "NM_007294.3:c.5096G>A"
# Genomic coordinate
python scripts/main.py --variant "chr17:43094692:G>A"
# Batch from file
python scripts/main.py --file variants.txt --output results.json
# With output format
python scripts/main.py --variant rs80357410 --format json
{
"variant_id": "rs80357410",
"gene": "BRCA1",
"chromosome": "17",
"position": 43094692,
"ref_allele": "G",
"alt_allele": "A",
"hgvs_genomic": "NC_000017.11:g.43094692G>A",
"hgvs_cdna": "NM_007294.3:c.5096G>A",
"hgvs_protein": "NP_009225.1:p.Arg1699Gln",
"clinical_significance": {
"clinvar": "Pathogenic",
"acmg_classification": "Pathogenic",
"acmg_criteria": ["PS4", "PM1", "PM2", "PP2", "PP3", "PP5"],
"acmg_score": 13.0,
"review_status": "criteria provided, multiple submitters, no conflicts"
},
"disease_associations": [
{
"disease": "Breast-ovarian cancer, familial 1",
"medgen_id": "C2676676",
"significance": "Pathogenic"
}
],
"population_frequencies": {
"gnomAD_genome_all": 0.000008,
"gnomAD_exome_all": 0.000012,
"1000G_all": 0.0
},
"functional_predictions": {
"sift": "deleterious",
"polyphen2": "probably_damaging",
"cadd_score": 24.5,
"mutation_taster": "disease_causing"
},
"literature_count": 42,
"last_evaluated": "2023-12-15",
"interpretation_summary": "This variant (BRCA1 p.Arg1699Gln) is classified as Pathogenic based on ACMG guidelines. It shows strong evidence of pathogenicity including population data (extremely rare), computational predictions (deleterious), and strong clinical significance (established association with hereditary breast-ovarian cancer)."
}
The annotator implements the ACMG/AMP guidelines for variant interpretation:
| Classification | Score Range |
|---|---|
| Pathogenic | ≥ 10 |
| Likely Pathogenic | 6-9 |
| Uncertain Significance | 0-5 |
| Likely Benign | -5 to -1 |
| Benign | ≤ -6 |
⚠️ AI independent acceptance status: manual inspection required This skill requires:
| Database | Data Type | API/Access |
|---|---|---|
| ClinVar | Clinical significance, disease associations | NCBI E-utilities |
| dbSNP | SNP data, allele frequencies | NCBI E-utilities |
| gnomAD | Population frequencies | gnomAD API |
| Ensembl VEP | Functional predictions | REST API |
| CADD | Deleteriousness scores | REST API |
See references/ for:
⚠️ IMPORTANT: This tool is for research and educational purposes only. Variant interpretations are computational predictions and should not be used as the sole basis for clinical decisions. Always consult certified genetic counselors and clinical laboratories for diagnostic purposes. ACMG classifications in this tool are algorithmic estimates and may differ from expert panel reviews.
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python scripts with tools | High |
| Network Access | External API calls | High |
| File System Access | Read/write data | Medium |
| Instruction Tampering | Standard prompt guidelines | Low |
| Data Exposure | Data handled securely | Medium |
# Python dependencies
pip install -r requirements.txt
| Parameter | Type | Default | Description |
|---|---|---|---|
--variant | str | Required | |
--file | str | Required | |
--output | str | Required | |
--format | str | "json" | |
--api-key | str | Required | NCBI API key for increased rate limits |
--delay | float | 0.34 |
Every final response should make these items explicit when they are relevant:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.This skill accepts requests that match the documented purpose of variant-annotation and include enough context to complete the workflow safely.
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
variant-annotationonly handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
Use the following fixed structure for non-trivial requests:
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.