How variant scoring works#
AlphaGenome 2 scores a variant by predicting reference (REF) and alternate (ALT) profiles in one condition, restricting both to a spatial mask, and summarizing their difference per track (and per gene, junction, or CpG site where applicable).
Scoring pipeline#
Each variant scorer transforms paired REF and ALT predictions into scalar scores through four steps:
Variant scoring begins by running forward passes on the REF and ALT sequences
across the requested genomic interval and output type (such as RNA_SEQ,
ATAC, or SPLICE_SITES).
Indel coordinate alignment
For insertions and deletions (indels), the ALT profile is aligned to REF genomic coordinates before comparison. Inserted bases are summarized by taking the maximum predicted signal across the inserted segment, while deleted bases are assigned zero signal in ALT so both profiles share identical positions.
A spatial mask restricts scoring to the positions relevant to the assay, discarding predictions outside the masked coordinates:
Variant-centered windows capture local cis-regulatory changes around the variant: 501 bp for
ATAC,DNASE,CAGE, andCHIP_TF; 1201 bp forSC_ATACand shared CpG sites inMETHYLATION; 2001 bp for broad histone marks inCHIP_HISTONE; and 1 Mb for 3D interactions inCONTACT_MAPS.Gene annotations from a GTF reference restrict scoring to exons (
RNA_SEQ), gene bodies including introns (SPLICE_SITES,SPLICE_SITE_USAGE), top splice sites (SPLICE_JUNCTIONS), or 400-bp windows around 3’ cleavage sites (POLYADENYLATION).
Within the spatial mask, each scorer reduces positions along the sequence axis (mean, sum, or max), applies any optional log or \(\ell_2\) scaling, and compares ALT against REF to produce one scalar value per track (and per gene or CpG site when applicable).
How AggregationType names encode order of operations
Options in AggregationType
list operations from right to left, with the rightmost operation applied first
to the masked predictions:
DIFF_LOG2_SUM sums predicted coverage across the window first, transforms with \(\log_2(\text{sum} + 1)\), and then takes ALT minus REF.
DIFF_SUM_LOG2 transforms each position with \(\log_2(\text{value} + 1)\), sums across the mask, and then takes ALT minus REF.
Raw scoring outputs are returned as AnnData objects per variant and scorer.
Calling tidy_scores() flattens
them into a tidy table with raw_score, track metadata (including
imputation_mode), optional strand matching (match_gene_strand), and optional
filtering to protein-coding genes.
Recommended variant scorers#
RECOMMENDED_VARIANT_SCORERS
provides 23 preconfigured scorers across expression, chromatin, splicing,
methylation, 3D contacts, and active-allele baseline activity.
get_recommended_scorers() returns
the subset supported for a given organism, and includes
SC_GENE_EXPRESSION_DENOISED only when cell_conditioning=True:
Gene-expression scorers
(GeneMaskLFCScorer) are
signed (ALT minus REF); POLYADENYLATION
(PolyadenylationScorer) is
unsigned:
Key |
Mask |
Score |
|---|---|---|
|
Gene exons |
\(\log(\text{mean}(\text{ALT}) + 0.001)\) \(- \log(\text{mean}(\text{REF}) + 0.001)\) |
|
Gene row ( |
\(\log(\text{ALT} + 0.001) - \log(\text{REF} + 0.001)\) on gene-level
CPM (one channel per strand; requires |
|
Gene row ( |
\(\log(\text{ALT} + 0.001) - \log(\text{REF} + 0.001)\) on gene-level CPM (one track per chemistry, suspension type, and strand) |
|
400-bp windows at 3’ cleavage sites |
Max absolute log-fold change of distal/proximal PAS usage ratios [Linder et al., 2025] |
All chromatin, transcription factor, and methylation scorers are signed
(positive when ALT increases signal or methylation relative to REF). Spatial
tracks use CenterMaskScorer;
methylation uses
MethylationScorer:
Key |
Mask |
Score |
|---|---|---|
|
501 bp centered on variant |
\(\log_2((\text{sum}(\text{ALT})+1)/(\text{sum}(\text{REF})+1))\) |
|
1201 bp centered on variant |
\(\log_2((\text{sum}(\text{ALT})+1)/(\text{sum}(\text{REF})+1))\) |
|
2001 bp centered on variant |
\(\log_2((\text{sum}(\text{ALT})+1)/(\text{sum}(\text{REF})+1))\) |
|
1201 bp centered on variant (shared CpGs) |
Per-CpG \(\operatorname{logit}(\text{ALT})-\operatorname{logit}(\text{REF})\) of the methylated fraction, for CpG sites present in both alleles (CpGs created or destroyed by the variant are omitted) |
All splicing and 3D contact scorers
(GeneMaskSplicingScorer,
SpliceJunctionScorer, and
ContactMapScorer) are
unsigned magnitudes:
Key |
Mask |
Score |
|---|---|---|
|
Gene body (exons and introns) |
\(\max\lvert\text{ALT} - \text{REF}\rvert\) across donor and acceptor probabilities |
|
Gene body (exons and introns) |
\(\max\lvert\text{ALT} - \text{REF}\rvert\) across splice site usage fractions |
|
Top-k annotated and predicted splice sites |
\(\max\lvert\log(\text{ALT}) - \log(\text{REF})\rvert\) across junction read counts |
|
1 Mb centered on variant |
Mean \(\lvert\text{ALT} - \text{REF}\rvert\) across interactions with the variant bin |
Active-allele scorers
(GeneMaskActiveScorer and
CenterMaskScorer) quantify
baseline signal intensity rather than allelic change by taking the maximum of
the aggregated REF and ALT signals within the mask:
Key |
Mask |
Score |
|---|---|---|
|
Gene exons |
\(\max(\text{mean}(\text{ALT}), \text{mean}(\text{REF}))\) |
|
Gene row ( |
\(\max(\text{sum}(\text{ALT}), \text{sum}(\text{REF}))\) |
|
501 bp centered on variant |
\(\max(\text{sum}(\text{ALT}), \text{sum}(\text{REF}))\) |
|
1201 bp centered on variant |
\(\max(\text{sum}(\text{ALT}), \text{sum}(\text{REF}))\) |
|
2001 bp centered on variant |
\(\max(\text{sum}(\text{ALT}), \text{sum}(\text{REF}))\) |
Next steps#
Run recommended scorers on single variants and batches, tidy outputs, and inspect top cell types and genes.
Compare splice site probabilities, splice site usage, and splice junction read counts on pathogenic variants.
Inspect all scorer classes, supported mask widths, and
tidy_scores() options.