Getting started#
This page helps you pick the right tool and shows the AlphaGenome 2 workflow in
a single example. To make API calls you need an
API key and the alphagenome package (see
installation).
Which tool do I need?#
If you want to… |
Use |
|---|---|
Predict tracks or score variants in a reference tissue or cell type, or with expression conditioning given your own scRNA-seq data |
AlphaGenome 2 (recommended), continue below |
Look up pre-computed effects for human variants without running the model |
AlphaGenome Atlas, on the zero-code website or the Atlas API |
Reproduce results from the AlphaGenome paper [Avsec et al., 2026], score variants across all tissues and cell types at once without choosing a condition, or predict PRO-cap |
AlphaGenome 1, see Migrating from AlphaGenome 1 and the AlphaGenome 1 quick start |
Each AlphaGenome 2 call predicts for one condition: either a reference condition
(condition=, including composite conditions such as
UBERON:0000178_CL:0001054) or expression conditioning given up to 256 cells
from your own scRNA-seq data (cell_conditioning= plus cell_condition_name=).
To compare conditions, loop over them or pass one condition per item
(conditions= or cell_conditionings= plus cell_condition_names=) to batch
methods such as predict_variants and score_variants.
The AlphaGenome 2 workflow#
Most AlphaGenome 2 analyses follow four steps:
Choose a condition: a reference tissue or cell type, or your own human cells (expression conditioning).
Select a genomic region: the interval, and optionally the variant, to predict.
Predict or score: predict tracks for an interval or sequence, predict the effect of a variant, or score a variant.
Plot or inspect the predictions.
The example below predicts and scores a variant’s effect on GLB1L expression, using either a reference condition (CD14-positive monocytes in blood) or expression conditioning given your own scRNA-seq data:
from alphagenome.data import genome
from alphagenome.models.v2 import dna_client
from alphagenome.models.v2 import variant_scorers
from alphagenome.visualization import plot_components
dna_model = dna_client.create('YOUR_API_KEY')
# 1. Choose a condition: CD14-positive monocytes in blood.
condition = 'UBERON:0000178_CL:0001054'
# 2. Select a genomic region: center a 1 Mb interval on the variant.
variant = genome.Variant(
chromosome='chr2',
position=219243701,
reference_bases='C',
alternate_bases='T',
)
interval = variant.reference_interval.resize(dna_client.SEQUENCE_LENGTH_1MB)
# 3a. Predict REF and ALT RNA-seq tracks across all channels.
output = dna_model.predict_variant(
interval=interval,
variant=variant,
requested_outputs=[dna_client.OutputType.RNA_SEQ],
condition=condition,
)
# 3b. Score the variant effect across genes and filter to GLB1L.
scores = dna_model.score_variant(
interval=interval,
variant=variant,
variant_scorers=[variant_scorers.RECOMMENDED_VARIANT_SCORERS['RNA_SEQ']],
condition=condition,
)
tidy = variant_scorers.tidy_scores([scores]).query('gene_name == "GLB1L"')
# 4. Plot observed REF versus ALT tracks on the negative strand, where
# GLB1L lies.
ref_tracks = output.reference.filter_to_observed().rna_seq
alt_tracks = output.alternate.filter_to_observed().rna_seq
plot_components.plot(
[
plot_components.OverlaidTracks(
tdata={
'REF': ref_tracks.filter_to_negative_strand(),
'ALT': alt_tracks.filter_to_negative_strand(),
},
colors={'REF': '#22AAE1', 'ALT': 'red'},
)
],
interval=variant.reference_interval.resize(2**15),
annotations=[plot_components.VariantAnnotation([variant])],
)
from alphagenome.data import genome
from alphagenome.models.v2 import dna_client
from alphagenome.models.v2 import variant_scorers
from alphagenome.visualization import plot_components
dna_model = dna_client.create('YOUR_API_KEY')
# 1. Choose a condition: up to 256 human cells per call as raw integer UMI
# counts (AnnData with Ensembl gene IDs in var_names), passed as
# `cell_conditioning` with a `cell_condition_name` label instead of
# `condition`.
cells = ...
# 2. Select a genomic region: center a 1 Mb interval on the variant.
variant = genome.Variant(
chromosome='chr2',
position=219243701,
reference_bases='C',
alternate_bases='T',
)
interval = variant.reference_interval.resize(dna_client.SEQUENCE_LENGTH_1MB)
# 3a. Predict REF and ALT denoised single-cell gene expression (one channel
# per strand in CPM).
output = dna_model.predict_variant(
interval=interval,
variant=variant,
requested_outputs=[dna_client.OutputType.SC_GENE_EXPRESSION_DENOISED],
cell_conditioning=cells,
# Names the condition in output metadata.
cell_condition_name='custom_cells',
)
# 3b. Score denoised single-cell gene expression conditioned on your cells.
scores = dna_model.score_variant(
interval=interval,
variant=variant,
variant_scorers=[
variant_scorers.RECOMMENDED_VARIANT_SCORERS[
'SC_GENE_EXPRESSION_DENOISED'
]
],
cell_conditioning=cells,
cell_condition_name='custom_cells',
)
tidy = variant_scorers.tidy_scores([scores]).query('gene_name == "GLB1L"')
# 4. Plot REF versus ALT denoised single-cell gene expression on a log scale
# around GLB1L.
ref_expression = output.reference.sc_gene_expression_denoised
alt_expression = output.alternate.sc_gene_expression_denoised
plot_components.plot(
[
plot_components.OverlaidGeneExpression(
gdata={
'REF': ref_expression.filter_to_negative_strand(),
'ALT': alt_expression.filter_to_negative_strand(),
},
colors={'REF': '#22AAE1', 'ALT': 'red'},
log_scale=True,
)
],
interval=variant.reference_interval.resize(2**15),
annotations=[plot_components.VariantAnnotation([variant])],
)
Next steps#
Start the ordered Tutorials beginning with Choosing a condition, or jump directly to Conditioning on your own single-cell data.
Browse Vignettes for end-to-end biological analyses.
Read the User guide for data objects, metadata, and how variant scoring works.