| Tool | Purpose | Key Parameters |
|---|---|---|
myvariant_query |
Query variant annotations | variant_id, fields |
Example - Query variant:
result = tu.tools.myvariant_query(
variant_id="chr17:g.7674220C>T",
fields="clinvar,gnomad,cadd,dbnsfp"
)
# Returns: ClinVar, gnomAD, CADD, dbNSFP predictionsKey Fields:
| Field | Contains |
|---|---|
clinvar |
Classification, review status |
gnomad |
Allele frequencies |
cadd |
CADD scores |
dbnsfp |
SIFT, PolyPhen, REVEL, etc. |
| Tool | Purpose | Key Parameters |
|---|---|---|
clinvar_search |
Search by variant | variant, gene |
clinvar_get_variant |
Get by VCV ID | variation_id |
Example - Search ClinVar:
result = tu.tools.clinvar_search(
variant="NM_007294.4:c.5266dupC"
)
# Returns: VCV ID, classification, review status, submittersClassification Interpretation:
| ClinVar Status | Stars | Meaning |
|---|---|---|
| Expert panel | ★★★★ | Highest confidence |
| Practice guideline | ★★★★ | Clinical standard |
| Multiple submitters, criteria | ★★★ | Well-supported |
| Single submitter, criteria | ★★ | Limited evidence |
| Single submitter, no criteria | ★ | Minimal support |
| Tool | Purpose | Key Parameters |
|---|---|---|
gnomad_search |
Get allele frequencies | variant, dataset |
Example - Query gnomAD:
result = tu.tools.gnomad_search(
variant="17-7674220-C-T"
)
# Returns: AF, ancestry-specific AFs, AC, AN, homozygotesACMG Frequency Thresholds:
| Frequency | Code | Application |
|---|---|---|
| >5% | BA1 | Benign (stand-alone) |
| >1% | BS1 | Strong benign |
| Absent | PM2 | Supporting pathogenic |
Ancestry-Specific Populations:
| Code | Population |
|---|---|
| nfe | European (Non-Finnish) |
| fin | Finnish |
| afr | African/African American |
| amr | Latino/Admixed American |
| eas | East Asian |
| sas | South Asian |
| asj | Ashkenazi Jewish |
Authoritative curation of gene-disease relationships from ClinGen.
| Tool | Purpose | Key Parameters |
|---|---|---|
ClinGen_search_gene_validity |
Search validity by gene | gene |
ClinGen_get_gene_validity |
Get all validity curations | gene (optional filter) |
Example - Check gene-disease validity:
result = tu.tools.ClinGen_search_gene_validity(gene="BRCA1")
# Returns: Classification (Definitive/Strong/Moderate/Limited), disease, inheritanceValidity Classification Interpretation:
| Classification | ACMG Impact | Usage |
|---|---|---|
| Definitive | Supports PS4, PP4 | Strong gene-disease evidence |
| Strong | Supports PP4 | Good evidence for classification |
| Moderate | Supports PP4 (weak) | Use with caution |
| Limited | Do not apply PP4 | Insufficient evidence |
| Disputed/Refuted | Contra-evidence | Gene likely NOT causative |
| Tool | Purpose | Key Parameters |
|---|---|---|
ClinGen_search_dosage_sensitivity |
HI/TS scores by gene | gene |
ClinGen_get_dosage_sensitivity |
All dosage curations | gene, include_regions |
Example - Check haploinsufficiency:
result = tu.tools.ClinGen_search_dosage_sensitivity(gene="MECP2")
# Returns: Haploinsufficiency Score (0-3), Triplosensitivity Score (0-3)Dosage Score Interpretation (for CNVs):
| Score | Meaning | Usage |
|---|---|---|
| 3 | Sufficient evidence | HI/TS established - PVS1 for LOF CNVs |
| 2 | Emerging evidence | Some support |
| 1 | Little evidence | Minimal support |
| 0/40 | No evidence / Dosage unlikely | Unknown or unlikely dosage effect |
| Tool | Purpose | Key Parameters |
|---|---|---|
ClinGen_search_actionability |
Actionability by gene (both contexts) | gene |
ClinGen_get_actionability_adult |
Adult actionability | gene (optional) |
ClinGen_get_actionability_pediatric |
Pediatric actionability | gene (optional) |
Why ClinGen is Critical:
- Required for PP4 (phenotype specificity)
- Establishes gene-disease validity before classification
- Dosage scores critical for PVS1 in CNV interpretation
- Actionability informs return of incidental findings
Deep learning model for predicting splice-altering effects.
| Tool | Purpose | Key Parameters |
|---|---|---|
SpliceAI_predict_splice |
Full splice prediction | variant, genome, distance, mask |
SpliceAI_get_max_delta |
Quick max score | variant, genome |
SpliceAI_predict_pangolin |
Pangolin model (alternative) | variant, genome |
Example - Predict splice effect:
# Full prediction
result = tu.tools.SpliceAI_predict_splice(
variant="chr17-41276045-A-G",
genome="38"
)
# Returns: DS_AG, DS_AL, DS_DG, DS_DL scores, max_delta_score, interpretation
# Quick triage
quick = tu.tools.SpliceAI_get_max_delta(
variant="chr17-41276045-A-G"
)
# Returns: max_delta_score, interpretationVariant Format: chr{chrom}-{pos}-{ref}-{alt} or {chrom}:{pos}:{ref}:{alt}
Delta Score Types:
| Score | Meaning |
|---|---|
| DS_AG | Acceptor Gain (creates new acceptor) |
| DS_AL | Acceptor Loss (disrupts existing) |
| DS_DG | Donor Gain (creates new donor) |
| DS_DL | Donor Loss (disrupts existing) |
Score Interpretation for ACMG:
| Max Delta Score | Interpretation | ACMG Support |
|---|---|---|
| ≥0.8 | High splice impact | PP3 (strong) |
| 0.5-0.8 | Moderate impact | PP3 (supporting) |
| 0.2-0.5 | Low impact | PP3 (weak) |
| <0.2 | Likely no impact | BP7 (if synonymous) |
When to Use:
- Intronic variants within ±50bp of splice sites
- Synonymous/missense variants (may still affect splicing)
- Deep intronic variants creating cryptic splice sites
- Validation when functional studies suggest splice defect
| Tool | Purpose | Key Parameters |
|---|---|---|
CADD_get_variant_score |
Get PHRED score for variant | chrom, pos, ref, alt, version |
CADD_get_position_scores |
All substitutions at position | chrom, pos |
CADD_get_range_scores |
Scores in genomic range (max 100bp) | chrom, start, end |
Example - Score a variant:
result = tu.tools.CADD_get_variant_score(
chrom="17",
pos=7674220,
ref="G",
alt="A",
version="GRCh38-v1.7" # Options: GRCh38-v1.7, GRCh37-v1.7
)
# Returns: phred_score, raw_score, interpretationCADD PHRED Score Interpretation:
| Score | Meaning | ACMG Support |
|---|---|---|
| ≥30 | Top 0.1% deleterious | PP3 (strong) |
| ≥20 | Top 1% deleterious | PP3 (supporting) |
| 15-20 | Uncertain | Neutral |
| <15 | Likely benign | BP4 (supporting) |
State-of-the-art deep learning model for missense pathogenicity prediction.
| Tool | Purpose | Key Parameters |
|---|---|---|
AlphaMissense_get_variant_score |
Score specific variant | uniprot_id, variant |
AlphaMissense_get_residue_scores |
All substitutions at position | uniprot_id, position |
Example - Get pathogenicity score:
result = tu.tools.AlphaMissense_get_variant_score(
uniprot_id="P00533", # EGFR
variant="L858R" # or "p.L858R"
)
# Returns: pathogenicity_score, classificationAlphaMissense Thresholds (from Cheng et al., Science 2023):
| Score | Classification | ACMG Support |
|---|---|---|
| >0.564 | Pathogenic | PP3 (strong) |
| 0.34-0.564 | Ambiguous | Neutral |
| <0.34 | Benign | BP4 (strong) |
Why Use AlphaMissense:
- ~90% accuracy on ClinVar pathogenic variants
- Covers all ~71 million possible human missense variants
- Trained on evolutionary data, not clinical annotations
Unsupervised deep learning model using evolutionary data (Harvard/Oxford).
| Tool | Purpose | Key Parameters |
|---|---|---|
EVE_get_variant_score |
Get EVE score via VEP | chrom, pos, ref, alt OR variant (HGVS) |
EVE_get_gene_info |
Check if gene has EVE coverage | gene_symbol |
Example - Score variant:
# Via genomic coordinates
result = tu.tools.EVE_get_variant_score(
chrom="17",
pos=7674220,
ref="C",
alt="T"
)
# Or via HGVS
result = tu.tools.EVE_get_variant_score(
variant="ENST00000269305.4:c.100G>A"
)
# Returns: eve_score, classification, gene, polyphen/sift from VEPEVE Score Interpretation:
| Score | Classification | ACMG Support |
|---|---|---|
| >0.5 | Likely pathogenic | PP3 |
| ≤0.5 | Likely benign | BP4 |
Note: EVE covers ~3,000 disease-related genes. Use EVE_get_gene_info to check coverage.
Best Practice for VUS Classification:
def get_multi_predictor_evidence(tu, variant_info):
"""
Combine multiple predictors for robust PP3/BP4 assignment.
"""
evidence = []
# 1. CADD (all variants)
cadd = tu.tools.CADD_get_variant_score(
chrom=variant_info['chrom'],
pos=variant_info['pos'],
ref=variant_info['ref'],
alt=variant_info['alt']
)
if cadd.get('status') == 'success':
score = cadd['data']['phred_score']
evidence.append({
'tool': 'CADD',
'score': score,
'damaging': score >= 20
})
# 2. AlphaMissense (missense only)
if variant_info.get('uniprot_id') and variant_info.get('aa_change'):
am = tu.tools.AlphaMissense_get_variant_score(
uniprot_id=variant_info['uniprot_id'],
variant=variant_info['aa_change']
)
if am.get('status') == 'success' and am.get('data'):
evidence.append({
'tool': 'AlphaMissense',
'score': am['data'].get('pathogenicity_score'),
'classification': am['data'].get('classification'),
'damaging': am['data'].get('classification') == 'pathogenic'
})
# 3. EVE (via VEP)
eve = tu.tools.EVE_get_variant_score(
chrom=variant_info['chrom'],
pos=variant_info['pos'],
ref=variant_info['ref'],
alt=variant_info['alt']
)
if eve.get('status') == 'success':
eve_scores = eve['data'].get('eve_scores', [])
if eve_scores:
evidence.append({
'tool': 'EVE',
'score': eve_scores[0].get('eve_score'),
'damaging': eve_scores[0].get('eve_score', 0) > 0.5
})
# Consensus
damaging = sum(1 for e in evidence if e.get('damaging'))
benign = sum(1 for e in evidence if not e.get('damaging'))
return {
'predictions': evidence,
'damaging_count': damaging,
'benign_count': benign,
'acmg_pp3': damaging >= 2 and benign == 0,
'acmg_bp4': benign >= 2 and damaging == 0
}| Tool | Purpose | Key Parameters |
|---|---|---|
COSMIC_search_mutations |
Search mutations | operation="search", terms, max_results |
COSMIC_get_mutations_by_gene |
Gene mutations | operation="get_by_gene", gene, genome_build |
Example - Check if variant is somatic hotspot:
# Search for specific mutation
result = tu.tools.COSMIC_search_mutations(
operation="search",
terms="BRAF V600E",
max_results=20
)
# Returns: mutation_id, cancer types, frequency
# Get all mutations for gene (hotspot analysis)
gene_muts = tu.tools.COSMIC_get_mutations_by_gene(
operation="get_by_gene",
gene="BRAF",
max_results=200
)
# Returns: All mutations with cancer type distributionCOSMIC Evidence for ACMG:
| Finding | ACMG Code | Application |
|---|---|---|
| Recurrent somatic hotspot | PS3 | Functional evidence |
| Frequent in COSMIC (>100) | PM1 | Hotspot/functional domain |
| Rare in COSMIC | - | Consider other evidence |
OMIM_API_KEY environment variable
| Tool | Purpose | Key Parameters |
|---|---|---|
OMIM_search |
Search genes/diseases | operation="search", query, limit |
OMIM_get_entry |
Detailed entry | operation="get_entry", mim_number |
OMIM_get_clinical_synopsis |
Clinical features | operation="get_clinical_synopsis", mim_number |
OMIM_get_gene_map |
Gene-disease map | operation="get_gene_map", mim_number |
Example - Get gene-disease context:
# Search for gene in OMIM
search = tu.tools.OMIM_search(
operation="search",
query="BRCA1",
limit=5
)
# Get detailed entry with clinical info
entry = tu.tools.OMIM_get_entry(
operation="get_entry",
mim_number="113705" # BRCA1
)
# Get clinical synopsis for phenotype matching
synopsis = tu.tools.OMIM_get_clinical_synopsis(
operation="get_clinical_synopsis",
mim_number="114480" # Breast-ovarian cancer
)OMIM Entry Types:
| Prefix | Type | Example |
|---|---|---|
| * | Gene | *113705 (BRCA1) |
| # | Phenotype with known gene | #114480 (BRCA1 cancer) |
| % | Phenotype, unknown molecular basis | Mapped locus only |
| + | Gene and phenotype combined | Historical entries |
DISGENET_API_KEY environment variable
| Tool | Purpose | Key Parameters |
|---|---|---|
DisGeNET_search_gene |
Diseases for gene | operation="search_gene", gene, limit |
DisGeNET_search_disease |
Genes for disease | operation="search_disease", disease |
DisGeNET_get_gda |
Curated associations | operation="get_gda", gene, source, min_score |
DisGeNET_get_vda |
Variant-disease | operation="get_vda", variant or gene |
Example - Get gene-disease evidence:
# Gene-disease associations
gda = tu.tools.DisGeNET_search_gene(
operation="search_gene",
gene="BRCA1",
limit=20
)
# Returns: Associated diseases with scores
# High-confidence curated associations
curated = tu.tools.DisGeNET_get_gda(
operation="get_gda",
gene="BRCA1",
source="CURATED",
min_score=0.5
)
# Variant-disease associations
vda = tu.tools.DisGeNET_get_vda(
operation="get_vda",
gene="BRCA1",
limit=30
)DisGeNET Score for ACMG:
| Score | Strength | ACMG Code |
|---|---|---|
| >0.7 | Strong gene-disease | PP4 (phenotype specific) |
| 0.4-0.7 | Moderate evidence | Supporting |
| <0.4 | Weak/Literature only | Insufficient |
| Tool | Purpose | Key Parameters |
|---|---|---|
ChIPAtlas_enrichment_analysis |
TF binding enrichment | gene, cell_type |
ChIPAtlas_get_peak_data |
ChIP-seq peaks | gene, experiment_type |
ChIPAtlas_search_datasets |
Find experiments | antigen, cell_type |
Example - Check TF binding at variant:
# Get TF binding near gene
tf_binding = tu.tools.ChIPAtlas_enrichment_analysis(
gene="BRCA1",
cell_type="all"
)
# Returns: TFs with binding peaks near gene
# Get specific peaks
peaks = tu.tools.ChIPAtlas_get_peak_data(
gene="BRCA1",
experiment_type="TF"
)Use for: Non-coding variants that may disrupt TF binding sites
| Tool | Purpose | Key Parameters |
|---|---|---|
ENCODE_search_experiments |
Find regulatory data | assay_title, biosample |
ENCODE_get_experiment |
Experiment details | accession |
ENCODE_get_biosample |
Sample annotations | accession |
Example - Get regulatory annotations:
# Search for regulatory data near variant
experiments = tu.tools.ENCODE_search_experiments(
assay_title="ATAC-seq",
biosample="heart"
)
# Returns: Open chromatin experimentsKey ENCODE Assays:
| Assay | Purpose | Relevance |
|---|---|---|
| ATAC-seq | Open chromatin | Accessible regions |
| H3K27ac | Active enhancers | Regulatory activity |
| H3K4me3 | Active promoters | Promoter regions |
| CTCF | Insulator binding | Chromatin structure |
| Tool | Purpose | Key Parameters |
|---|---|---|
CELLxGENE_get_expression_data |
Cell-type expression | gene, tissue |
CELLxGENE_get_cell_metadata |
Cell annotations | gene |
Example - Validate tissue expression:
# Get expression in disease-relevant tissue
expression = tu.tools.CELLxGENE_get_expression_data(
gene="FBN1",
tissue="heart"
)
# Returns: Expression per cell type (cardiomyocytes, fibroblasts, etc.)Why use it: Confirms gene is expressed in phenotype-relevant cells
| Tool | Purpose | Key Parameters |
|---|---|---|
EuropePMC_search_articles |
Search preprints (bioRxiv/medRxiv) | query, source='PPR', pageSize |
BioRxiv_get_preprint |
Get preprint by DOI | doi |
Example - Search preprints (bioRxiv/medRxiv don't have search APIs, use EuropePMC):
# Search for recent findings
preprints = tu.tools.EuropePMC_search_articles(
query="BRCA1 variant functional",
source="PPR", # PPR = Preprints only
pageSize=10
)| Tool | Purpose | Key Parameters |
|---|---|---|
openalex_search_works |
Search with citations | query, limit |
Example - Get citation counts:
# Get citation metrics for key paper
work = tu.tools.openalex_search_works(
query="BRCA1 functional study pathogenic",
limit=5
)
# Returns: Papers with cited_by_count, is_oa, etc.| Tool | Purpose | Key Parameters |
|---|---|---|
SemanticScholar_search_papers |
AI-ranked search | query, limit |
Example:
papers = tu.tools.SemanticScholar_search_papers(
query="BRCA1 c.5266dupC pathogenic",
limit=15
)| Tool | Purpose | Key Parameters |
|---|---|---|
Ensembl_get_variant_info |
VEP annotations | variant_id |
Ensembl_get_gene_info |
Gene details | gene_id |
Example - Get VEP data:
result = tu.tools.Ensembl_get_variant_info(
variant_id="rs28934576"
)
# Returns: Consequence, transcript, SIFT, PolyPhen| Tool | Purpose | Key Parameters |
|---|---|---|
OMIM_search |
Search by gene/disease | query |
OMIM_get_entry |
Get MIM entry | mim_number |
Example - Get OMIM associations:
result = tu.tools.OMIM_search(query="BRCA1")
# Returns: MIM#, gene-phenotype relationships, inheritance| Tool | Purpose | Key Parameters |
|---|---|---|
ClinGen_gene_validity |
Get curation status | gene |
ClinGen_dosage |
Dosage sensitivity | gene |
Gene Validity Levels:
| Level | Meaning |
|---|---|
| Definitive | Strong evidence, replicated |
| Strong | Considerable evidence |
| Moderate | Some evidence |
| Limited | Minimal evidence |
| Disputed | Conflicting evidence |
| Refuted | Evidence against |
| Tool | Purpose | Key Parameters |
|---|---|---|
PDB_search_by_uniprot |
Find structures | uniprot_id |
PDB_get_structure |
Download PDB | pdb_id |
Example - Get structure:
# Find PDB structures for TP53
hits = tu.tools.PDB_search_by_uniprot(uniprot_id="P04637")
if hits:
structure = tu.tools.PDB_get_structure(pdb_id=hits[0]['pdb_id'])| Tool | Purpose | Key Parameters |
|---|---|---|
alphafold_get_prediction |
Get AF DB prediction | accession |
NvidiaNIM_alphafold2 |
Predict de novo | sequence, algorithm |
Example - Get AlphaFold structure:
# From AlphaFold DB
structure = tu.tools.alphafold_get_prediction(accession="P04637")
# Or predict de novo
structure = tu.tools.NvidiaNIM_alphafold2(
sequence=protein_sequence,
algorithm="mmseqs2"
)pLDDT Interpretation:
| Score | Confidence | Use for Variant |
|---|---|---|
| >90 | Very high | Reliable position assessment |
| 70-90 | High | Reliable |
| 50-70 | Moderate | Use with caution |
| <50 | Low | Likely disordered |
| Tool | Purpose | Key Parameters |
|---|---|---|
InterPro_get_protein_domains |
Domain annotations | accession |
UniProt_get_protein_function |
Functional sites | accession |
Example - Get domains:
domains = tu.tools.InterPro_get_protein_domains(accession="P04637")
# Returns: Domain boundaries, types, functions| Tool | Purpose | Key Parameters |
|---|---|---|
PubMed_search |
Search articles | query, max_results |
PubMed_get_abstract |
Get abstract | pmid |
Example - Search for functional studies:
# Gene + variant search
result = tu.tools.PubMed_search(
query="BRCA1 AND c.5266dupC",
max_results=10
)
# Functional studies
result = tu.tools.PubMed_search(
query="BRCA1 AND functional study",
max_results=20
)Search Strategies:
| Strategy | Query Pattern |
|---|---|
| Specific variant | "{GENE} AND ({HGVS} OR {legacy})" |
| Functional | "{GENE} AND (functional study OR mutagenesis)" |
| Clinical | "{GENE} AND case report AND {phenotype}" |
| Review | "{GENE} AND review[pt]" |
def annotate_variant(tu, variant_hgvs, gene):
"""Complete variant annotation workflow."""
# Phase 1: Get aggregated annotations
annotations = tu.tools.myvariant_query(
variant_id=variant_hgvs,
fields="clinvar,gnomad,cadd,dbnsfp"
)
# Phase 2: ClinVar detail
clinvar = tu.tools.clinvar_search(variant=variant_hgvs)
# Phase 3: Population frequency
gnomad = tu.tools.gnomad_search(variant=variant_hgvs)
# Phase 4: Gene context
omim = tu.tools.OMIM_search(query=gene)
# Phase 5: Literature
literature = tu.tools.PubMed_search(
query=f"{gene} AND {variant_hgvs}",
max_results=20
)
return {
'annotations': annotations,
'clinvar': clinvar,
'gnomad': gnomad,
'omim': omim,
'literature': literature
}def structural_analysis_for_vus(tu, gene, uniprot_id, residue_position):
"""Structural analysis for VUS missense variants."""
# Try PDB first
pdb_structures = tu.tools.PDB_search_by_uniprot(uniprot_id=uniprot_id)
if pdb_structures:
# Use best resolution experimental structure
best_pdb = sorted(pdb_structures, key=lambda x: x.get('resolution', 10))[0]
structure = tu.tools.PDB_get_structure(pdb_id=best_pdb['pdb_id'])
structure_source = f"PDB {best_pdb['pdb_id']}"
else:
# Fallback to AlphaFold
structure = tu.tools.alphafold_get_prediction(accession=uniprot_id)
structure_source = "AlphaFold DB"
# Get domain information
domains = tu.tools.InterPro_get_protein_domains(accession=uniprot_id)
# Get functional sites
functions = tu.tools.UniProt_get_protein_function(accession=uniprot_id)
# Analyze residue context
analysis = {
'structure_source': structure_source,
'domains': identify_domain(domains, residue_position),
'functional_sites': find_nearby_sites(functions, residue_position),
'pm1_applicable': assess_pm1(domains, functions, residue_position)
}
return analysisdef calculate_acmg_classification(evidence_codes):
"""Calculate ACMG classification from evidence codes."""
# Count evidence
pathogenic = {
'very_strong': [],
'strong': [],
'moderate': [],
'supporting': []
}
benign = {
'stand_alone': [],
'strong': [],
'supporting': []
}
for code, strength in evidence_codes:
if code.startswith(('PVS', 'PS', 'PM', 'PP')):
# Pathogenic evidence
if strength == 'very_strong':
pathogenic['very_strong'].append(code)
elif strength == 'strong':
pathogenic['strong'].append(code)
elif strength == 'moderate':
pathogenic['moderate'].append(code)
else:
pathogenic['supporting'].append(code)
else:
# Benign evidence
if code == 'BA1':
benign['stand_alone'].append(code)
elif strength == 'strong':
benign['strong'].append(code)
else:
benign['supporting'].append(code)
# Apply ACMG rules
if benign['stand_alone']:
return 'Benign'
if len(benign['strong']) >= 2:
return 'Benign'
vs = len(pathogenic['very_strong'])
s = len(pathogenic['strong'])
m = len(pathogenic['moderate'])
p = len(pathogenic['supporting'])
if (vs >= 1 and (s >= 1 or m >= 1 or m >= 2 or p >= 2)) or \
(s >= 2) or \
(s >= 1 and m >= 3):
return 'Pathogenic'
if (vs >= 1 and m >= 1) or \
(s >= 1 and m >= 1 or m >= 2) or \
(s >= 1 and p >= 2):
return 'Likely Pathogenic'
if len(benign['strong']) >= 1 and len(benign['supporting']) >= 1:
return 'Likely Benign'
return 'VUS'| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
myvariant_query |
clinvar_search + gnomad_search |
Direct database queries |
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
PDB_search_by_uniprot |
alphafold_get_prediction |
NvidiaNIM_alphafold2 |
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
OMIM_search |
NCBI_gene_search |
Ensembl_get_gene_info |
| Primary | Fallback 1 |
|---|---|
PubMed_search |
EuropePMC_search |
| Tool | Wrong | Correct |
|---|---|---|
myvariant_query |
id="rs123" |
variant_id="rs123" |
clinvar_search |
gene="BRCA1:c.123" |
variant="NM_007294.4:c.123A>G" |
gnomad_search |
variant="c.123A>G" |
variant="17-41245466-A-G" |
alphafold_get_prediction |
uniprot="P04637" |
accession="P04637" |
| Code | Strength | Trigger |
|---|---|---|
| PVS1 | Very Strong | Null in LOF gene |
| PS1 | Strong | Same AA as pathogenic |
| PS2 | Strong | De novo (confirmed) |
| PS3 | Strong | Functional studies |
| PS4 | Strong | Prevalence in affected |
| PM1 | Moderate | Functional domain |
| PM2 | Moderate | Absent from controls |
| PM3 | Moderate | Trans with pathogenic |
| PM4 | Moderate | Protein length change |
| PM5 | Moderate | Novel at known position |
| PM6 | Moderate | De novo (unconfirmed) |
| PP1 | Supporting | Segregation |
| PP2 | Supporting | Low missense rate gene |
| PP3 | Supporting | Computational predictions |
| PP4 | Supporting | Phenotype specific |
| PP5 | Supporting | Reputable source |
| Code | Strength | Trigger |
|---|---|---|
| BA1 | Stand-alone | MAF >5% |
| BS1 | Strong | High frequency |
| BS2 | Strong | Homozygotes healthy |
| BS3 | Strong | No functional effect |
| BS4 | Strong | No segregation |
| BP1 | Supporting | Missense in LOF gene |
| BP2 | Supporting | Observed trans |
| BP3 | Supporting | In-frame, no function |
| BP4 | Supporting | Benign predictions |
| BP5 | Supporting | Alternate explanation |
| BP6 | Supporting | Reputable source |
| BP7 | Supporting | Synonymous |
| Predictor | Damaging | Uncertain | Benign |
|---|---|---|---|
| AlphaMissense | >0.564 | 0.34-0.564 | <0.34 |
| CADD PHRED | ≥20 | 15-20 | <15 |
| EVE | >0.5 | - | ≤0.5 |
| SIFT | <0.05 | 0.05-0.15 | >0.15 |
| PolyPhen-2 | >0.85 | 0.15-0.85 | <0.15 |
| REVEL | >0.75 | 0.5-0.75 | <0.5 |
Recommended Order of Use:
- AlphaMissense (highest accuracy for missense, ~90%)
- CADD (works for all variant types)
- EVE (unsupervised, complements AlphaMissense)
- SIFT/PolyPhen (legacy, for comparison)
| Predictors Agreeing | ACMG Application |
|---|---|
| All damaging (≥3) | PP3 (supporting pathogenic) |
| All benign (≥3) | BP4 (supporting benign) |
| Mixed | Neither |
| Tool | Limit |
|---|---|
| NVIDIA NIM tools | 40 RPM |
| PubMed | 3 requests/second |
| Ensembl | 15 requests/second |
Handle with appropriate delays between calls.