ClinVar & Variants
Query clinical variant databases — ClinVar, dbSNP, and COSMIC — for pathogenicity, population frequencies, and somatic mutation landscapes.
TOOL
clinvar_searchSearch ClinVar for variants by gene, rsID, or genomic position. Returns clinical significance, review status, and submitter information.
| Parameter | Type | Description |
|---|---|---|
| gene | string | Gene symbol (e.g. BRCA1). |
| variant_name | string | HGVS or protein change (e.g. p.Arg1699Gln). |
| rsid | string | dbSNP rsID (e.g. rs28897696). |
| significance | string[] | Filter by pathogenic, likely_pathogenic, benign, vus. |
| max_results | integer | Max variants to return (default 20). |
from smartsbio import SmartsBio
client = SmartsBio(api_key="sk_live_...")
# Pathogenic BRCA1 variants
result = client.tools.run(
tool_id="clinvar_search",
input={
"gene": "BRCA1",
"significance": ["pathogenic", "likely_pathogenic"],
"max_results": 10,
},
)
print(f"Pathogenic variants: {result['total']}")
for v in result["variants"][:5]:
print(f" {v['name']:<35} {v['clinical_significance']:<20} stars={'★'*v['review_stars']}")TOOL
dbsnp_fetchLook up population allele frequencies and functional annotations for an rsID from dbSNP / gnomAD.
from smartsbio import SmartsBio
client = SmartsBio(api_key="sk_live_...")
result = client.tools.run(
tool_id="dbsnp_fetch",
input={"rsid": "rs28897696"},
)
snp = result["variant"]
print(f"rsID : {snp['rsid']}")
print(f"Gene : {snp['gene']}")
print(f"HGVS : {snp['hgvs']}")
print(f"gnomAD AF : {snp['gnomad_af']:.6f} (EUR: {snp['gnomad_af_eur']:.6f})")
print(f"ClinVar : {snp['clinical_significance']}")TOOL
cosmic_searchSearch COSMIC for somatic mutations, hotspot positions, and cancer type frequencies.
from smartsbio import SmartsBio
client = SmartsBio(api_key="sk_live_...")
result = client.tools.run(
tool_id="cosmic_search",
input={
"gene": "TP53",
"cancer_type": "breast",
"limit": 10,
},
)
print(f"Mutations found: {result['total']}")
for mut in result["mutations"][:5]:
print(f" {mut['aa_change']:<15} count={mut['sample_count']:<6} cancers={', '.join(mut['cancer_types'][:2])}")