In Silico Functional Annotation of Rare CACNA1A Variants in Familial Hemiplegic Migraine
December 2025 - Current
ChanVar is a Python pipeline for gene-specific pathogenicity annotation of rare missense variants in CACNA1A. It's the first project in the MiSOF series and serves as the foundational variant annotation layer from which downstream projects can draw per-variant context when modeling treatment trajectories.
Generic variant pathogenicity predictors (CADD, SIFT, PolyPhen-2, REVEL, AlphaMissense) are trained on diverse variant-disease associations across the human proteome. They have no structural awareness of Cav2.1's domain architecture, no knowledge that voltage-sensor arginine residues operate under a distinct evolutionary and functional constraint relative to interdomain linkers, and no capacity to reflect gain-of-function vs. loss-of-function mechanistic distinction that separates FHM1 from EA2 at the same locus. ChanVar is built to target this gap.
The 9 features (as of the latest version) composing the CPS (Composite Pathogenicity Score) are: gnomAD v4 allele frequency, FoldX thermodynamic stability change (ΔΔG), local Cα RMSD in a ±10 residue window, Jensen-Shannon divergence conservation from 87-vertebrate ortholog alignment, domain membership, ClinVar prior classification (excluded for independent validation), CADD-PHRED, Grantham physicochemical distance, and (after expert feedback) pore-axis distance. Each feature is normalized to [0,1] where 1 represents likely pathogenic. The composite score is a weighted mean with 1,000-iteration bootstrap confidence intervals. Independent validation on 93 ClinVar missense variants (excluding the ClinVar prior feature) yields AUC = 0.751 (5-fold CV: 0.743 ± 0.125). As always, the pipeline and data are open source.
Cheers,
Angie X.
Note: this project is actively updated. Apologies for any content gaps during this time.
Human DNA is three billion letters long and scattered throughout it are roughly 20,000 genes. One of those genes, CACNA1A, builds a protein that acts as a precisely calibrated gate in the walls of your neurons. When a nerve signal arrives, the gate opens, calcium ions rush in, and the neuron fires. Mutations in CACNA1A break this gate in different ways. Sometimes, a mutation causes it to open too easily, producing the hyperactive electrical cascade that underlies hemiplegic migraine. Sometimes the mutation causes it to barely open at all, leading to episodes of sudden weakness and cerebellar ataxia. The same gene can have different mutations, meaning different amino acids and thus different diseases.
Genetic sequencing is now cheap enough that clinicians routinely sequence CACNA1A in patients with atypical migraines, and they keep finding variants (i.e. individual amino acid substitutions) that nobody has studied before. Is this particular variant causing the patient's disease, or is it a harmless quirk in their DNA? It's hard to tell, so most of those variants end up classified as "VUS": variant of uncertain significance. ChanVar targets these unknown variants, and computes a Composite Pathogenicity Score (CPS, which doesn't stand for Child Protective Services) for any such variant by integrating nine lines of quantitative evidence into a single annotated score with a 95% confidence interval. Obviously, it does not replace a neurogenetics clinician. But it does give them one more piece of evidence to work with.
Cav2.1 and CACNA1A:
Voltage-gated calcium channels are protein complexes embedded in the cell membrane that respond to changes in membrane potential by opening a pore through which calcium ions (Ca2+) enter the cell. Cav2.1, the P/Q-type channel encoded by CACNA1A, is expressed throughout the central nervous system with especially high density at presynaptic terminals of cerebellar Purkinje cells and cortical neurons. Its function is mechanistically central: an arriving action potential depolarizes the presynaptic membrane, the voltage-sensing S4 segments physically displace outward, the channel opens, calcium enters, and calcium-dependent vesicle fusion releases neurotransmitter into the synapse. Cav2.1 is, at these synapses, the primary gate controlling when and how much neurotransmitter is released.
The CACNA1A protein has 2,505 amino acids organized across four homologous repeat domains (I through IV). Each domain contributes six transmembrane segments (S1 through S6). The S4 segments carry positively charged arginine and lysine residues at every third position: these are the voltage-sensing arginines. They move outward when the membrane depolarizes, coupling voltage change to pore opening. The P-loops between S5 and S6 in each domain form the channel pore, with one glutamate per domain contributing to the EEEE selectivity filter that discriminates Ca2+ from Na+ and K+. The C-terminal cytoplasmic tail hosts regulatory domains including calmodulin-binding sites, a synaptotagmin interaction region, and a polyglutamine repeat tract whose expansion causes Spinocerebellar Ataxia type 6 -- a separate disease at the same locus.
This structural specificity is the core problem for generic variant predictors. The voltage-sensing arginines in S4 are not like other positions: every one of them is under extreme purifying selection, every substitution disrupts the electrostatic coupling between membrane voltage and gate movement, and the functional consequence (gain-of-function producing FHM1; loss-of-function producing EA2) depends on whether the substitution shifts the activation curve leftward or rightward. A generic predictor trained on protein variation broadly cannot reflect this. ChanVar builds domain awareness directly into the feature weights and domain-specific pathogenicity multipliers.
Familial Hemiplegic Migraine Type 1 (FHM1):
Familial Hemiplegic Migraine (FHM) is an autosomal dominant monogenic migraine syndrome with estimated prevalence approximately 1 in 50,000. Its defining feature is migraine with motor aura: episodes include transient hemiparesis or hemiplegia in addition to the visual and sensory aura that characterize ordinary migraine with aura. Three causative genes have been established: CACNA1A (FHM1, roughly 50% of FHM families), ATP1A2 (FHM2, roughly 25%), and SCN1A (FHM3, fewer than 5%). FHM1 mutations predominantly produce gain-of-function in Cav2.1: the activation threshold is reduced, more calcium enters the presynaptic terminal per action potential, and the resulting glutamate excess lowers the threshold for cortical spreading depression (the slowly propagating wave of depolarization that causes migraine aura).
Beyond FHM1, CACNA1A variants cause at least three additional phenotypes: Episodic Ataxia type 2 (EA2), where loss-of-function variants produce episodes of cerebellar ataxia and vertigo; Spinocerebellar Ataxia type 6 (SCA6), from polyglutamine expansion in the C-terminal domain; and isolated absence epilepsy from isoform-specific variants. This clinical pleiotropy (the same gene causing migraine, ataxia, cerebellar degeneration, or epilepsy depending on which amino acid changes and in which direction) is what makes CACNA1A one of the most biologically interesting and clinically difficult loci in the human genome, and what makes a domain-aware variant predictor worth building.
The Variant Interpretation Gap:
Whole-exome and whole-genome sequencing are now routinely ordered for patients with severe or atypical migraine, familial migraine clusters, and suspected channelopathies. CACNA1A is included on essentially every epilepsy, ataxia, and migraine gene panel currently in clinical use. gnomAD v4, the Genome Aggregation Database released in 2023 and covering approximately 730,000 exomes and genomes, documents thousands of rare CACNA1A missense variants, the overwhelming majority of which have never been functionally characterized. When a neurologist encounters a patient with severe familial migraine and a candidate CACNA1A variant, they are usually looking at one of these uncharacterized variants, and the question of whether it causes the patient's disease is genuinely unanswerable with current tools.
The existing generic predictors help, but imperfectly. CADD computes a phred-scaled score from a gradient-boosted model trained on all single-nucleotide variants in the human genome; it has no knowledge of Cav2.1's domain architecture. PolyPhen-2 uses comparative sequence data and structural features but treats all protein positions as exchangeable in functional importance. AlphaMissense integrates AlphaFold2 structural embeddings and achieves substantially better performance than earlier tools, but it was trained on general human protein pathogenicity and its error modes at voltage-sensor arginine positions are not well characterized. ChanVar's contribution is gene-specific: every feature is calibrated to what is known about CACNA1A variant biology in particular, and every domain assignment carries an interpretation derived from the channel's functional architecture.
Ion Channel Biophysics and Structural Biology:
What are P/Q-type calcium channels? Who knows? I sure didn't.
Here was my rough learning path, save a few rabbitholes: Hille's Ion Channels of Excitable Membranes for the basic electrophysiology, Ophoff (1996) and Kors (2001) papers for FHM1 genetics, the Gao et al. cryo-EM paper and AlphaFold2 structure for structural biology, and then a week of reading about ddG calculations before realizing that membrane proteins actually violate assumptions underlying every widely-used stability predictor. If you didn't understand what I just said, it's okay. I basically tried to use standard software that predicts whether a mutation destabilizes a protein, but those tools assume the protein lives in water (not a greasy cell membrane), so their answers are wrong for channels like this one.
Below are some of the most interesting things I learned.
Like much stuff, the voltage-sensing mechanism is easier to understand than literature jargon makes it seem. The S4 helix has an arginine at every third position, and the surrounding membrane creates a focused electric field across the hydrophobic seal between S4 and the rest of the protein. When the membrane depolarizes (inside becomes less negative), the electrostatic force on those arginines is reduced, and S4 moves outward by roughly 10-15 Angstroms. Think of the arginines as positively charged "sensors" being pushed or pulled by the cell's voltage; when the voltage changes, they physically move, like a piston. This movement is mechanically coupled to the pore domain via the S4-S5 linker; the coupling opens the channel gate. Disrupt any of the charged arginines and you disrupt this coupling. Depending on which arginine and in which direction, you either make the gate easier to open (gain-of-function, FHM1) or harder (loss-of-function, EA2). This is why domain membership is among the strongest CPS features: a voltage-sensor arginine substitution is not merely conserved; it is conserved specifically because it performs the voltage-sensing function that no other position can substitute.
The thermodynamic stability calculation (f2) required learning why FoldX, despite being the best widely-available ddG predictor, is systematically less reliable for transmembrane proteins. FoldX's energy function was parameterized on soluble protein structures; it computes solvation energies assuming aqueous surroundings. Membrane-embedded helices are instead surrounded by lipid bilayer, with hydrophobicity driving the thermodynamic logic in the opposite direction. A hydrophilic substitution in a TM helix will be flagged as destabilizing by FoldX -- correctly in an aqueous sense -- even though the actual functional consequence in the membrane context depends on whether the substitution disrupts packing with adjacent helices, not on solvation. In mojo terms: FoldX sees a water-hating amino acid replaced by a water-loving one and screams "destabilizing!"- but inside a membrane, that substitution might be fine if the new amino acid still packs tightly against its neighbors. To address this, ChanVar flags all TM-domain variants with is_tm_domain=True and halves the f2 weight accordingly.
Evolutionary Conservation: Jensen-Shannon Divergence
Evolutionary conservation is the second-strongest CPS feature (weight 2.5) after allele frequency (weight 3.0). The intuition is as follows: if an amino acid position has been invariant across 400 million years of vertebrate evolution, something is doing it. A mutation there is almost certainly disrupting an important function that can't be compensated for. The rate4site algorithm (Ashkenazy et al. 2010, ConSurf) formalizes this as maximum likelihood estimation of the per-position evolutionary rate under an amino acid substitution model.
The implementation in ChanVar estimates the Jensen-Shannon divergence (JSD) between the observed amino acid distribution at each alignment column and the background distribution under the JTT (Jones-Taylor-Thornton) substitution model: essentially, how weird the current amino acid is compared to what evolution normally allows at that position. JSD is symmetric, bounded in [0, 1], and does not blow up when a column has very low occupancy- properties that make it more numerically stable than raw Shannon entropy for this application. The conservation feature f4 = 1 - rate/3, clipped to [0, 1], maps a conserved position (rate near 0) to f4 near 1 and a rapidly evolving position (rate 3 or above) to f4 = 0. The alignment uses 87 vertebrate CACNA1A orthologs from Ensembl release 110.
The Grantham Matrix: Physicochemical Distance
Grantham (1974) is among the most elegantly minimal papers in computational biology: one formula, a 20x20 table, and a clear empirical grounding in observed amino acid exchangeability. The Grantham distance between two amino acids is computed from three physicochemical properties: composition (c, the ratio of non-carbon atoms to total side-chain atoms), polarity (p), and molecular volume (v, partial specific volume in mL/g).
d(i,j) = sqrt(86.83*(c_i - c_j)^2 + 0.1018*(p_i - p_j)^2 + 0.000399*(v_i - v_j)^2)
The coefficients are empirically derived to weight each property proportionally to its contribution to observed exchangeability in protein families. The maximum distance in the 20x20 matrix is 215 (C->W). Grantham essentially asks: "How different are these two amino acids in size, charge, and chemical personality?" A small number means they're near-swappable and a large number means you're probably replacing a brick with a sponge. ChanVar normalizes by 215 to produce f8 in [0, 1]. The canonical FHM1 variant R192Q has Grantham distance R->Q = 43 (moderate: charge lost, volume similar). Both this value and R->W = 101 are validated against the original Grantham (1974) Table 1 in the ChanVar unit test suite (TestGranthamDistance), because if you are going to cite a 1974 paper as your data source you should at least confirm that your table matches it.
In summary, to figure out whether a mutation in a calcium channel causes migraines or ataxia, you need to know 3 things: 1) how the voltage sensor moves, 2) whether the mutation breaks the protein's stability inside a greasy membrane (not in water), and 3) how evolution has voted on that specific position over 400 million years. ChanVar bundles those 3 lines of evidence into a single score. Physics tells you how the channel works and evolution tells you what breaks it. The math is complicated, but the logic is simple.
The ChanVar pipeline draws from five external sources. gnomAD v4 is queried via the GraphQL API at gnomad.broadinstitute.org for per-variant allele frequencies and ancestry-stratified counts (AFR, AMR, ASJ, EAS, FIN, MID, NFE, SAS). For batch runs over 50 variants, the gnomAD CACNA1A VCF (chr19:13,206,000-13,512,000, hg38) is downloaded and indexed with tabix to avoid API rate limits. ClinVar variants for CACNA1A are parsed from the NCBI VCF; variants with 2+ star review status are separated into P/LP (positive training set) and B/LB (negative training set). The AlphaFold2 structure for O00555 is cached locally from alphafold.ebi.ac.uk; PDB 7MIY (cryo-EM Cav2.1) is used for transmembrane topology validation. Ortholog sequences for the conservation calculation are retrieved from Ensembl release 110 via REST and aligned with MUSCLE v5.
The CACNA1A domain boundary map is derived from UniProt feature annotations (O00555), the Ophoff (1996) transmembrane topology, and the 7MIY cryo-EM structure. Voltage-sensor S4 boundaries were adjusted relative to UniProt: S4_I spans residues 181-226 rather than 207-226 as listed in the UniProt annotation, which excludes R192 (the canonical FHM1 pathogenic position). This correction was made during validation, when the R192Q benchmark test returned interdomain_linker as the domain assignment. Verifying domain assignments against known pathogenic variants before trusting the pipeline is the lesson.
Feature assembly is handled by chanvar/scoring/features.py. The VariantFeatures dataclass holds all nine raw feature values, domain assignment, pLDDT at the variant position, data completeness (n_available divided by 8 active features; f3 is inactive and excluded from the denominator), and ClinVar classification if available. The scoring logic in chanvar/scoring/cps.py computes the weighted mean, applies TM-domain weight correction, runs the bootstrap CI, and classifies the result.
The bootstrap confidence interval uses feature-specific Gaussian noise perturbation rather than data resampling. Noise standard deviations reflect measurement uncertainty: f1 (gnomAD AF) receives sigma = 0.05 to model sampling noise at rare frequencies; f2 (ddG) receives sigma = 0.10 reflecting FoldX's reported RMSE of approximately 1 kcal/mol on soluble proteins; missing features receive sigma = 0.15 as an imputation uncertainty penalty. The 95% CI is the 2.5th-97.5th percentile across 1,000 iterations at seed = 42 by default.
Validation-wise, the test suite contains 58 unit tests. Key validations include Grantham R->Q = 43 and R->W = 101 against the 1974 paper, Shannon entropy = 0 for a fully conserved column and log2(20) for a uniformly distributed column, sigmoid inflection at the expected values for f2 and f3, and frequency feature monotonicity (more common -> lower pathogenicity score). Integration tests verify that R192Q scores above 0.65 and that a synthetic common variant (AF > 0.01) scores below 0.50, pre-registered before any pipeline runs were executed.
Real validation on 93 ClinVar CACNA1A missense variants (61 P/LP, 32 B/LB, ≥2 review stars) with full FoldX integration gives:
Independent AUC (ClinVar prior f6 excluded): 0.751 (bootstrap 95% CI: 0.646-0.850; 5-fold CV: 0.743 ± 0.125)
AUC including f6 (circular, reference only): 0.975
FoldX delta-delta-G integration: +0.054 AUROC trend (paired bootstrap 95% CI: -0.021 to 0.136; p = 0.083; non-significant)
AlphaMissense on the same 93 variants: AUROC = 0.991 (reflects ClinVar training; not a fair comparison)
For comparison, AlphaMissense achieves AUROC = 0.991 on the same 93 variants, reflecting its large-scale training on ClinVar-curated labels that include these variants. ChanVar achieves 0.751 without training on variant labels. The gap is expected and reflects the information advantage of trained classifiers over structural annotation tools; ChanVar's contribution is domain context, confidence flags, and calibrated uncertainty that AlphaMissense does not expose.
Three known pathogenic FHM1 variants serve as primary benchmarks. R192Q (voltage sensor S4-I, domain I) was the first FHM1 variant described (Ophoff et al. 1996). It substitutes a voltage‑sensing arginine for glutamine, reducing channel activation threshold. With full FoldX integration, ChanVar scores it at CPS = 0.816 (95% CI: 0.756–0.849), classified Pathogenic (ClinVar) or Possibly Pathogenic (independent threshold). S218L (also S4-I), which causes particularly severe FHM1 sometimes with permanent cerebellar atrophy, scores CPS = 0.817 (95% CI: 0.756–0.850) – the highest of the three, consistent with its documented severity. T666M (pore lining, domain II), initially classified as EA2 but also found in FHM families, scores CPS = 0.723 (95% CI: 0.654–0.772). The ordering S218L ≈ R192Q > T666M matches the clinical severity hierarchy. Data completeness = 0.857 (6 of 7 active non-f3 features available; f9 pore distance included). FoldX ΔΔG for R192Q = 1.60 kcal/mol (moderately destabilizing, as expected).
ChanVar's weakest area is C-terminal domain variants. The C-terminus of Cav2.1 is structurally flexible, AlphaFold2 pLDDT scores are lower there, and the functional logic is harder to capture with the features ChanVar uses. The C-terminal domain hosts calmodulin binding, EF-hand motifs, and a synaptotagmin interaction region, all of which mediate protein-protein interactions rather than channel gating. A variant that disrupts the calmodulin binding site can cause disease by uncoupling activity-dependent calcium regulation from channel inactivation while appearing structurally unremarkable to ddG or RMSD calculations. The domain weight for C-terminal positions (0.4) is calibrated to under-weight CPS in this region, but the fundamental gap is that the feature set does not contain a protein-protein interaction disruption predictor.
Transmembrane stability (f2) is the feature I trust least. FoldX on S4 segments should be treated as directional at best: it will correctly identify severe destabilization but will misclassify many pathogenic variants as structurally neutral because the membrane environment is not modeled. The planned improvement is integration with a membrane-aware stability predictor, but none currently has an accessible API compatible with the pipeline's architecture.
The pipeline was subsequently extended with two additional modules. A pore-axis distance feature (f9, weight 1.5) was added following Brunger et al. (Brain, 2023), who demonstrated that distance from the central pore axis is the strongest cross-channel predictor of variant pathogenicity across all ion channel families studied. The feature is computed by locating the centroid of the four EEEE selectivity filter glutamates (E293, E636, E1349, E1663) in the AlphaFold2 structure and measuring each residue's Cα distance from that centroid in the membrane plane. Residues with AlphaFold2 pLDDT below 70 receive a neutral score of 0.5 regardless of computed distance, to avoid propagating structural uncertainty in disordered regions. A GOF/LOF prediction layer was also added: a logistic regression classifier trained on 28 labeled FHM1 (GOF) and EA2 (LOF) variants achieves leave-one-out cross-validation AUROC = 0.765, returning a P(GOF) probability alongside each CPS report.
The following are the known gaps in ChanVar, their likely effect on the CPS, and the planned improvements where applicable.
Weight calibration: default weights are literature-informed priors, not fitted parameters. The fitted weights from logistic regression training should always be reported alongside CPS output in any downstream analysis. Until the full ClinVar training run is complete with FoldX-annotated features, the default weights should be treated as directional initializations.
Feature independence violation: CPS assumes conditional feature independence; this assumption is violated by f1-f5, f4-f7, and f2-f3 correlations. The logistic regression training will partially correct for this; the weighted mean formula does not. See Section 4.1.
f3 (RMSD) is under-validated: AlphaFold2 was not designed for mutation-induced structural perturbation. f3 is disabled when pLDDT < 70, but even at high pLDDT the structural proxy may not reflect the true mutant conformation, particularly in TM helices. Future work will replace f3 with output from a mutation-effect-aware predictor.
FoldX TM reliability: FoldX was parameterized on soluble proteins. ddG values in transmembrane helices systematically overestimate destabilization for hydrophilic substitutions. The TM weight correction (halving) is a pragmatic patch, not a rigorous correction.
Training data: approximately 200-300 CACNA1A ClinVar variants at 2+ review stars. Logistic regression on this sample size has meaningful coefficient uncertainty; the L2 regularization toward literature-informed priors is the stated mitigation.
Validation set size: Independent validation was performed on 93 ClinVar missense variants (61 P/LP, 32 B/LB, ≥2 stars). This sample is small but sufficient for a rare disease gene; 5‑fold cross‑validation confirms stability (AUC = 0.743 ± 0.125). Future work will expand to a larger external set (e.g., literature patch‑clamp data) and include non‑missense variants.
Missense variants only: nonsense, frameshift, splice-site, and structural variants require a different analytical framework.
C-terminal domain: the feature set does not include a protein-protein interaction disruption predictor, which is the primary pathogenic mechanism for calmodulin-binding site variants in this domain.
Calibration. Brier score analysis on the 93-variant validation set yields a Brier score of 0.208 and Brier skill score of 0.078, confirming CPS functions as a ranking tool rather than a calibrated probability estimator. Within CPS 0.7-0.8, 91% of variants are P/LP; within 0.8-1.0, 100% are P/LP. The CPS range 0.6-0.7 contains 52 variants at 60% P/LP, barely above the base rate of 66%, reflecting ChanVar's known weakness for interdomain linker and C-terminal variants. For laboratory use following ClinGen calibration methodology: CPS ≥ 0.75 may support PP3 at moderate level; CPS 0.67-0.75 at supporting level; CPS < 0.50 may support BP4 at supporting level. These thresholds require independent institutional validation before formal ACMG evidence code application. ChanVar is a research tool, not a clinically validated classifier. Figure 6a shows the calibration curve for CPS against observed P/LP fraction across five quantile bins. Figure 6b shows the CPS score distributions for P/LP and B/LB variants.
Following a meeting with Prof. Arn van den Maagdenberg (Leiden University Medical Center), three priorities were implemented.
Priority 1: Severity Tier Classification
A severity_tier field was added to every CPS report, assigning one of three clinical tiers (severe_complex, pure_HM, or uncertain) based entirely on published case literature and knock-in mouse data. The model is never involved. This addresses a real gap: S218L and R192Q score identically at CPS 0.817 vs 0.816, but S218L produces cerebellar ataxia, spontaneous seizures, and potentially fatal cerebral edema from minor head trauma. The CPS cannot distinguish them. Severity tier makes this limitation explicit in every report.
Implementation: chanvar/data/severity_tier.py. SeverityTierResult dataclass with tier, basis, and references fields.
severe_complex: S218L, T666M, T665M, R1668W, R1663Q (cerebellar ataxia, epilepsy, fatal risk)
pure_HM: R192Q, R583Q, T1010M, D715E, D302H, V215A, P202L (hemiplegic migraine only)
uncertain: insufficient published clinical data for tier assignment
Priority 2: Literature Annotation Spreadsheet
A PubMed scraper (chanvar/data/pubmed_scraper.py) searched all 93 validation variants with CACNA1A gene-filtered queries and a two-stage relevance filter. False positives (glaucoma, prostate cancer, unrelated neurological conditions in titles) were dropped; only papers with CACNA1A terminology alongside disease context were retained. Results: 15 of 93 variants returned at least one relevant paper; 4 had the exact variant notation in a title (R192Q, S218L, R1345Q, D302N). Clinical categories were assigned from retained literature. The 78 variants with no published literature are flagged PLEASE ANNOTATE for van den Maagdenberg's cohort.
Priority 3: Biophysical Severity Score
A biophysical severity score was computed from published patch-clamp electrophysiology data for 8 variants (R192Q, S218L, T666M/T665M, R1668W, D302H, R1348Q). The score integrates activation V1/2 shift, peak current ratio, and inactivation shift via sigmoid normalization to produce a value in [0,1] where 1 = maximum GOF and 0 = maximum LOF. Results: S218L = 0.735 (GOF, High confidence), R192Q = 0.640 (GOF, High), T666M = 0.241 (LOF, Moderate). The S218L > R192Q ordering matches the clinical severity hierarchy exactly.
Following consultation with Sunitha Malepati (Executive Director, CACNA1A Foundation), a de novo probability field was added to ChanVar output. De novo variants causing sporadic hemiplegic migraine tend toward more severe and atypical phenotypes than inherited familial variants. ChanVar now outputs inheritance_mode (de_novo_likely / familial_likely / uncertain) and de_novo_probability [0,1] for each variant.
Classification logic: gnomAD AF below 1e-6, absence of multigenerational family segregation data in literature, and known de novo enrichment in CACNA1A neurodevelopmental disorders. Variants absent from gnomAD with no documented family history receive de_novo_probability = 0.70. Confirmed de novo status requires parental sequencing and is not claimed by this flag.
Implementation: chanvar/data/de_novo_flag.py.
A complete severity annotation table was produced for all 93 ClinVar validation variants and shared with van den Maagdenberg for collaborative clinical annotation. Columns: aa_change, clinvar_label, domain, cps_no_f6, p_gof, severity_tier, inheritance_mode, de_novo_probability, n_literature_papers, clinical_category, pmids, phenotype_notes, for_maagdenberg_annotation.
Distribution of 61 P/LP variants: 8 severe_complex, 9 pure_HM, 44 uncertain (48 flagged PLEASE ANNOTATE for cohort data).
Dr. Tobias Brünger (UT Arlington / Cook Children's, personal communication May 2026) provided pore-axis distance and membrane context annotations computed using MOLE 2.0 software on the real CACNA1A cryo-EM structure, the same structure used in the Brain 2023 paper. This replaces the previous AlphaFold2 EEEE-centroid approximation for f9.
The annotation file (CACNA1A_chainA_brunger_annotations.tsv) provides 14 columns including pore_center_dist_abs (Angstroms from pore center), pore_surface_dist_abs, pore_radius, pore_lining (yes/no), membrane (membrane/outside), mem_dist, and mem_dist_center. Of 2,506 Cav2.1 positions, 1,377 are resolved in the cryo-EM structure; 1,129 are NA (unresolved, typically the N-terminal, C-terminal, and long interdomain linkers).
Normalization: f9 = 1 - (pore_center_dist_abs / 72.196), where 72.196 Angstroms is the maximum resolved distance. NA positions receive f9 = 0.5 (neutral). This is consistent with Brünger's recommendation: unresolved regions are typically less disease-relevant.
Key f9 values from real structure: R192Q = 0.5584, S218L = 0.7725 (membrane-embedded), T665M = 0.9301 (pore-lining, membrane), I711M = 0.8358, A1807S = 0.9026 (C-terminal, membrane. I found this to be unexpectedly high and contacted Dr. Brünger for confirmation).
Implementation: chanvar/structure/pore_distance.py updated to load from BRUNGER_ANNOTATIONS dict. Files: chanvar/data/CACNA1A_chainA_brunger_annotations.tsv.
A tenth feature was added to ChanVar: f10, the membrane context feature, derived directly from Brünger's annotation file.
Motivation for this was the Brünger et al. Brain 2023 paper showed that the combination of pore proximity AND membrane embedding has an odds ratio of 34.5 for pathogenic variants, which is substantially stronger than pore distance alone (OR 5.6). f9 alone captures only part of this signal; f10 captures the membrane dimension.
Values: f10 = 1.0 if the residue is membrane-embedded; f10 = 0.0 if outside the membrane; f10 = 0.5 for unresolved positions (conservative neutral). S218L: f10 = 1.0. R192Q: f10 = 0.0 (voltage sensor, outside membrane bilayer in this structure). T665M: f10 = 1.0 (pore-lining and membrane).
Weight: 1.0. W_TOTAL updated from 15.5 to 16.5. Data completeness denominator updated from 8 to 9 active features.
Implementation: chanvar/structure/membrane_feature.py. All 58 tests pass. Note: AUROC in validate_bootstrap.py uses hardcoded pre-FoldX-batch scores; the reported 0.751 does not yet reflect f10 contribution. AUROC will update after the next full FoldX re-batch.
A Zoom meeting was held with Dr. Dennis Lal (Cook Children's / UT Arlington / Broad Institute), Dr. Tobias Brünger (UT Arlington), and Dr. Ludovica Montanucci (University of Padova). Key outcomes:
Dr. Brünger offered his MOLE 2.0 pore-distance annotations for CACNA1A (now integrated, see 7.1).
Dr. Montanucci: functional electrophysiology data (Kurganov et al. STM 2025) is with Jen Pan at the Broad Institute; outreach initiated.
Dr. Lal's core challenge: ChanVar currently models pathogenic vs. benign. The real problem is modeling disease mechanism in a continuous multidimensional space, i.e. which disease, how severely, through what mechanism. No one has solved this.
CACNA1A Data Portal has 1,015 patients (448 phenotyped with HPO terms); integration planned pending Portal access.
Pre-computed CPS for all 47k possible CACNA1A missense variants = right format for Portal variant search interface.
Dr. Lal offered mentorship and a future internship at Cook Children's (yay!)
Second meeting scheduled via Chandra Pearce (Lal's EA) to go a bit more in depth technical-wise so as to figure out what data would be useful for further validation/improvements.
Following a personal communication/email with Mrs. Sunitha Malepati, I was notified that Biohub released ESMFold2 on May 27 2026: an open-source structure prediction model that surpasses AlphaFold3 on protein-protein interaction benchmarks. It predicts full atomic-resolution structures from sequence alone. ESMC is the underlying 2.8B-parameter protein language model trained on all of life.
Planned use 1 - fill NA positions: Run ESMFold2 on the full Cav2.1 sequence to obtain a complete predicted structure, then run MOLEonline on that structure to fill the 1,129 positions currently NA in Brünger's annotations. For positions where Brünger has cryo-EM data, keep his values; for NA positions, use ESMFold2 predictions. MOLEonline is freely available at moleonline.upol.cz and can be run directly without Tobias.
Planned use 2 - f11 ESMC embedding feature: ESMC produces position-level embeddings: dense vectors encoding what the model learned about each amino acid's functional role from 2.8B proteins. These can be compressed to a single score per position (PCA first component) and added as f11. This is a qualitatively different feature from anything currently in ChanVar: not conservation, not stability, not structural distance, but a learned representation of functional importance.
Planned use 3 - multidimensional disease mechanism (Lal's challenge): ESMC embeddings trained against Portal HPO phenotype data could form the basis for a model predicting disease type and severity rather than pathogenicity alone. This is the next-generation ChanVar framing.
Status: API token requested at biohub.ai. ESMFold2 run pending. MOLEonline parameters to replicate from Tobias's analysis.
A new feature f11 was added to ChanVar: per-variant pathogenicity scores from AlphaMissense, a proteome-wide missense variant effect predictor published by Google DeepMind (Cheng et al. Science 2023, doi:10.1126/science.adg7492). AlphaMissense was trained on 71 million possible human missense variants using a combination of structural context from AlphaFold and evolutionary signals from human and primate population frequency data. It explicitly captures information that no other single feature in ChanVar encodes: learned structural-evolutionary representations from a model trained at proteome scale. Critically, it handles long-range sequence context that positional conservation (f4) cannot capture, and it covers all 2,506 positions of Cav2.1 including the interdomain linkers and terminal regions where f9 has NA values. This makes it directly complementary to the structural features.
Pre-computed scores were downloaded from Zenodo record 8208688, filtered to UniProt O00555. Format: one row per possible amino acid substitution per position (47,614 rows total, 2,506 positions, ~19 substitutions per position). Score range: 0.039 to 1.0, where 1.0 is most pathogenic.
Validation of score directionality returned R192Q (the canonical FHM1 pathogenic variant) receives f11 = 0.9115. E992V, the most common benign variant in gnomAD at 13.5% allele frequency, receives f11 = 0.2313. The score correctly distinguishes these well-characterized variants in the expected direction.
Implementation-wise, a standalone loader module (chanvar/data/alphamissense_loader.py) reads the TSV once and exposes get_alphamissense_f11(residue_number, alt_aa). Exact per-variant lookup is used when alt_aa is available; per-position mean across all 19 substitutions is used as a fallback. The loader uses lru_cache for efficiency. f11 is integrated into features.py and cps.py with weight 2.5, equal to f4 (conservation), reflecting its strong prior literature performance. W_TOTAL updated from 16.5 to 18.5; W_NO_F6 updated from 15.0 to 17.0. Data completeness denominator updated from 9 to 10 active features.
To note, the validated AUROC of 0.7510 (bootstrap 95% CI: [0.646, 0.850]) does not yet reflect f11, as validate_bootstrap.py uses hardcoded pre-FoldX-batch scores. Re-validation is pending the next full feature recompute across all 93 validation variants.
*Note on EVE: the EVE model (Frazer et al. Nature 2021) was initially identified as an alternative source for evolutionary coupling scores. EVE scores for CACNA1A are pre-computed and available at evemodel.org; however, the download endpoint was non-functional across multiple browsers and devices at the time of this work (June 2026), likely a server-side issue. AlphaMissense was selected as the superior alternative given its broader coverage, higher published performance, and successful download.
In June 2026, access to the CACNA1A Data Portal was granted through the CACNA1A Foundation, facilitated by Pangkong Fox and Sunitha Malepati. The Portal aggregates clinical and genetic data from a global registry of CACNA1A patients, with phenotypes annotated using the Human Phenotype Ontology (HPO).
Dr. Tobias Brünger provided a complete patient variant dataset on June 5, 2026 (Patient_variants_CACN1A_Portal_060526.txt). The file contains 1,287 rows, representing variants mapped across four transcript versions for each patient. As instructed by Brünger, the dataset was deduplicated by Subject ID on the canonical transcript NM_001127221.2, yielding 206 unique patients. Of these, 199 have at least one HPO term annotated, and 159 carry missense variants scoreable by ChanVar's structural features. As Pangkong Fox noted, HPO does not contain a dedicated term for hemiplegic migraine, so FHM1 patients may appear under combinations of Migraine, Hemiplegia, and Hemiplegia/hemiparesis rather than a single unified term.
Among the 206 unique patients, the ten most frequently annotated HPO terms are episodic ataxia (29%), ataxia (26%), global developmental delay (20%), hemiplegia/hemiparesis (12%), cerebellar atrophy (11%), dysarthria (11%), seizure (11%), hypotonia (10%), nystagmus (10%), and EEG with spike-wave complexes (10%). The cohort spans a wide clinical range, from pure episodic ataxia at the mild end to severe epileptic encephalopathy and global developmental delay at the severe end. Patient variants are enriched in the S4, S5, S5-S6-Linker, and S6 transmembrane regions relative to population controls, consistent with ChanVar's domain weighting scheme.
A phenotype-feature correlation analysis was conducted (portal_phenotype_analysis.py). For each of 15 HPO terms with at least 10 affected patients, Mann-Whitney U tests compared ChanVar structural feature scores (f8 Grantham distance, f9 pore distance, f10 membrane context, f11 AlphaMissense) between patients with and without each phenotype. Effect sizes were computed as rank-biserial correlations, and Bonferroni correction was applied across 56 tests (adjusted threshold p < 0.00089).
The strongest and only Bonferroni-significant association was between pore-axis proximity (f9) and EEG with spike-wave complexes (p = 0.000193, Bonferroni-corrected p = 0.0108, rank-biserial r = 0.583, n = 15 positive cases). Patients with this EEG phenotype carry variants with a substantially higher mean pore-proximity score (0.810) than patients without it (0.641). The interpretation is that pore-proximal variants disrupt ion selectivity directly, driving cortical hyperexcitability and epileptiform activity.
Additional nominally significant associations (p < 0.05, not surviving correction) included episodic ataxia with Grantham distance (p = 0.00097), cerebellar atrophy with membrane context (p = 0.004), and status epilepticus and intellectual disability with membrane context (p = 0.031 and p = 0.040). An inverse association between AlphaMissense score and isolated seizure phenotype (p = 0.007) was also observed, where seizure patients carried variants with lower AlphaMissense scores than those without. One interpretation is that the most pathogenicity-extreme variants present as early developmental catastrophe rather than isolated seizures, a severity gradient that single-symptom analysis cannot fully resolve. Full results are in Table S1.
A composite disease severity score was constructed per patient, weighting epileptic encephalopathy (x3), status epilepticus (x2), global developmental delay (x2), seizure (x1), intellectual disability (x1), and cerebellar atrophy (x1). Spearman rank correlations between each feature and this severity score are reported in Table S2.
Membrane context (f10) showed the strongest significant correlation with severity (rho = 0.253, p = 0.001), followed by pore distance (f9, rho = 0.195, p = 0.014). AlphaMissense (f11) and Grantham distance (f8) did not correlate significantly (p = 0.578 and p = 0.429). The implication for ChanVar's design is direct: structural position within the channel predicts disease severity more reliably than biochemical substitution severity or global pathogenicity prediction. Features f9 and f10, both derived from Brünger's 8X90 cryo-EM annotation, carry the most clinically relevant information in this dataset.
Table S3 reports phenotype frequencies by protein domain. S5-S6-Linker variants are enriched for episodic ataxia (67% of 9 patients), consistent with the linker's role in channel gating. Pore-lining variants show the highest rate of hemiplegia/hemiparesis (50% of 8 patients), consistent with gain-of-function through direct pore disruption. S4-S5-Linker variants show elevated seizure rates (29% of 7 patients). These patterns are consistent with established CACNA1A genotype-phenotype literature and support the biological coherence of the domain weighting scheme, even at small sample sizes.
The Portal phenotype analysis directly addresses Dr. Lal's challenge from the May 2026 meeting. ChanVar's structural features predict not only variant pathogenicity but the type and severity of neurological disease a patient develops. Pore proximity and membrane context are the strongest predictors of phenotype and severity in this cohort, and this is the first time these structural features have been connected to real patient outcomes in CACNA1A.
Planned next steps include integration of functional electrophysiology data as a future feature, development of a disease-type and severity classifier trained on Portal HPO clusters, and formal re-validation of the full 11-feature pipeline after a fresh FoldX re-batch across all 93 validation variants. Portal integration of pre-computed CPS scores for all 47,614 possible CACNA1A missense variants remains a near-term goal, enabling use within the Portal's variant interpretation interface.
The variant interpretation problem in clinical genetics is a problem of asymmetric knowledge. For a small set of CACNA1A variants (R192Q, S218L, T666M, and a handful of others), there are electrophysiological data, knock-in mouse phenotypes, and many decades of clinical family data. For the other several thousand rare missense variants in gnomAD, there is a sequence, a population frequency, a structure, and a conservation score. ChanVar is a principled attempt to extract as much signal as possible from that latter set of data sources, and to quantify the uncertainty in the resulting inference honestly.
A complete channelopathy variant interpretation workflow would integrate ChanVar's structural and evolutionary features with cell-type-specific expression data (cerebellar Purkinje cells and cortical neurons express distinct Cav2.1 splice isoforms with different biophysical properties) with published electrophysiological data from the primary FHM literature, and ultimately with patient clinical phenotype and treatment response. ChanVar builds the foundational annotation layer. The rest of that stack is future work (perhaps for me, and perhaps for others).
Cheers,
Angie X.
This project is open source at github.com/axshoe/ChanVar.