Skill Tracer
Skills › Scientific Agent Skills › alphagenome

alphagenome

skill · 297 lines · MIT · skills/alphagenome/SKILL.md

The facts

Its description

Looks up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), scores variants or scans windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and builds Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

The description the agent reads to decide when to use it.

From its settingsline 3

Tools it may use, or may not

allowed-tools: Read Write Edit Bash

Tools it may use while it runs without asking you first.

From its settingsline 6

Runs scripts

scripts/atlas_query.py, scripts/score_variants.py, python atlas_query.py (first 5 of 22 lines)

Scripts the text names. Found by matching words, so treat them as pointers.

Found by matching wordsline 38 line 39 line 51 line 84 line 85

Files it mentions

scripts/atlas_query.py, scripts/score_variants.py, references/atlas.md, references/model-api.md, references/interpretation.md (first 5 of 11 lines)

Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.

Found by matching wordsline 38 line 39 line 98 line 221 line 238

Licence

MIT, from the skill file

The terms its author shares it under, which let it be shown here.

From its settingsline 4 licence text

Other settings

compatibility: Python 3.10+ with the alphagenome package (0.9.0 or later for the Atlas client; brings numpy, pandas, anndata, grpcio). Network access to gdmscience.googleapis.com:443 and a free non-commercial AlphaGenome API key in ALPHAGENOME_API_KEY (ALPHA_GENOME_API_KEY also read). Human data is GRCh38 only; mouse is mm10 (model only). metadata: name: ALPHAGENOME_API_KEY

More settings at the top of the file, shown as written.

From its settingsline 5 line 7
Other files in this skill (7) Close

The text

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1---
2name: alphagenome
3description: "Looks up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), scores variants or scans windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and builds Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool."
4license: MIT
5compatibility: "Python 3.10+ with the alphagenome package (0.9.0 or later for the Atlas client; brings numpy, pandas, anndata, grpcio). Network access to gdmscience.googleapis.com:443 and a free non-commercial AlphaGenome API key in ALPHAGENOME_API_KEY (ALPHA_GENOME_API_KEY also read). Human data is GRCh38 only; mouse is mm10 (model only)."
6allowed-tools: Read Write Edit Bash
7metadata:
8 version: "1.2"
9 skill-author: K-Dense Inc.
10 upstream-version: "alphagenome 0.9.0"
11 last-reviewed: "2026-09-30"
12 openclaw:
13 primaryEnv: ALPHAGENOME_API_KEY
14 envVars:
15 - name: ALPHAGENOME_API_KEY
16 required: true
17 description: AlphaGenome API key, free for non-commercial use from deepmind.google.com/science/alphagenome. ALPHA_GENOME_API_KEY is accepted as an alternative spelling.
18---
20# AlphaGenome and the AlphaGenome Atlas
22AlphaGenome is DeepMind's sequence-to-function model: 1 Mb of DNA in,
23predictions at modality-specific resolutions for eleven assay types across
24thousands of human and mouse tracks out. The **AlphaGenome Atlas** (released 2026-09-08) is that model run once over
25every possible single-nucleotide change in GRCh38, about 9 billion variants,
26stored with a single ranking number, the **AlphaGenome Variant Impact (AVI)**
27score, its genome-wide percentile, and an 18-way attribution of what drives it.
28Both are reached through one `pip install alphagenome` and one API key.
30> Research and theoretical modelling only. API outputs must not be used to train
31> other models, and are not for diagnostic procedures or medical decisions.
32> Permissive-use downloads have separate terms; check the artifact licence.

AlphaGenome and the AlphaGenome Atlas

AlphaGenome is DeepMind's sequence-to-function model: 1 Mb of DNA in, predictions at modality-specific resolutions for eleven assay types across thousands of human and mouse tracks out. The AlphaGenome Atlas (released 2026-09-08) is that model run once over every possible single-nucleotide change in GRCh38, about 9 billion variants, stored with a single ranking number, the AlphaGenome Variant Impact (AVI) score, its genome-wide percentile, and an 18-way attribution of what drives it. Both are reached through one pip install alphagenome and one API key.

Research and theoretical modelling only. API outputs must not be used to train other models, and are not for diagnostic procedures or medical decisions. Permissive-use downloads have separate terms; check the artifact licence.
Raw lines 1 to 33
34## When to use which
36| You have | Use | Why |
37| --- | --- | --- |
38| hg38 SNVs (a VCF, a credible set, a region up to ~1 kb) | **Atlas** via `scripts/atlas_query.py` | precomputed, higher quota, includes AVI and attributions |
39| indels, mouse variants, a non-reference background, a custom scorer or window | **model** via `scripts/score_variants.py` or Python | the Atlas is SNV-only and hg38-only |
40| a hypothesis to explain (which motif, which tissue, REF vs ALT tracks) | model `predict_variant` + plots, Atlas track scores, portal link | mechanism, not just rank |
41| GRCh37 coordinates, rsIDs, unnormalised indels | `genomic-coordinates` first, then come back | wrong build or swapped REF gives a plausible wrong answer |
42| ClinVar assertions, gene-disease validity, ACMG framing | `folklore-variant-evidence`, `database-lookup` | AlphaGenome is one evidence line, never the verdict |
43| promoter/enhancer/expression predictions without a DeepMind key | `genomic-intelligence` | different provider, keyless demo tier |

When to use which

You haveUseWhy
hg38 SNVs (a VCF, a credible set, a region up to ~1 kb)Atlas via scripts/atlas_query.pyprecomputed, higher quota, includes AVI and attributions
indels, mouse variants, a non-reference background, a custom scorer or windowmodel via scripts/score_variants.py or Pythonthe Atlas is SNV-only and hg38-only
a hypothesis to explain (which motif, which tissue, REF vs ALT tracks)model predict_variant + plots, Atlas track scores, portal linkmechanism, not just rank
GRCh37 coordinates, rsIDs, unnormalised indelsgenomic-coordinates first, then come backwrong build or swapped REF gives a plausible wrong answer
ClinVar assertions, gene-disease validity, ACMG framingfolklore-variant-evidence, database-lookupAlphaGenome is one evidence line, never the verdict
promoter/enhancer/expression predictions without a DeepMind keygenomic-intelligencedifferent provider, keyless demo tier
Raw lines 34 to 44
Reads a file scripts/atlas_query.py :38
Reads a file scripts/score_variants.py :39
Names a skill genomic-coordinates :41
Names a skill folklore-variant-evidence :42
Names a skill database-lookup :42
Names a skill genomic-intelligence :43
45## Setup
47```bash
48uv pip install alphagenome # PyPI; tested on Python 3.12 and 3.13, alphagenome 0.9.0
49export ALPHAGENOME_API_KEY="..." # https://deepmind.google.com/science/alphagenome
50cd skills/alphagenome/scripts
51python atlas_query.py scorers # proves key + network in one call
52```
54Shell examples quote variant strings because `>` otherwise redirects output.
55Network examples below are illustrative and were checked against SDK 0.9.0
56contracts, without authenticated prediction/Atlas calls during this review.
58Never put the key on a command line or in a file you commit; the scripts only
59read it from the environment. Authentication failures may surface as
60`ValueError` or `PermissionError`,
61depending on the gRPC status returned by the service.

Setup

uv pip install alphagenome                     # PyPI; tested on Python 3.12 and 3.13, alphagenome 0.9.0
export ALPHAGENOME_API_KEY="..."               # https://deepmind.google.com/science/alphagenome
cd skills/alphagenome/scripts
python atlas_query.py scorers                  # proves key + network in one call

Shell examples quote variant strings because > otherwise redirects output. Network examples below are illustrative and were checked against SDK 0.9.0 contracts, without authenticated prediction/Atlas calls during this review.

Never put the key on a command line or in a file you commit; the scripts only read it from the environment. Authentication failures may surface as ValueError or PermissionError, depending on the gRPC status returned by the service.

Raw lines 45 to 62
Runs code python atlas_query.py :51
63## The coordinate contract
65- A variant is **1-based** `chr:pos:ref>alt` (`chr22:36201698:A>C`). gnomAD
66 (`22-36201698-A-C`), GTEx (`chr22_36201698_A_C_b38`), and Open Targets
67 spellings are autodetected by the scripts. In the SDK, pass the matching
68 `variant_format=genome.VariantFormat.GNOMAD` (or `GTEX`, `OPEN_TARGETS`,
69 `OPEN_TARGETS_BIGQUERY`); `from_str` defaults to `chr:pos:ref>alt`.
70- An interval on the command line is **1-based closed** `chr:start-end`; the
71 SDK's `genome.Interval` is **0-based half-open**. The scripts convert.
72- Human is **GRCh38 only**. The Atlas key is `chr:pos:alt`; REF is implied by
73 the reference. Swapping REF/ALT can cause a miss; a wrong REF or build can
74 misidentify a record. The scripts reject a returned variant that differs
75 from the request, but cannot validate the build. Check REF against GRCh38 FASTA.
76- rsIDs are not accepted by the API or the portal. Resolve them to coordinates.
77- Use the `chr` prefix; `MT` becomes `chrM`.

The coordinate contract

  • A variant is 1-based chr:pos:ref>alt (chr22:36201698:A>C). gnomAD (22-36201698-A-C), GTEx (chr22_36201698_A_C_b38), and Open Targets spellings are autodetected by the scripts. In the SDK, pass the matching variant_format=genome.VariantFormat.GNOMAD (or GTEX, OPEN_TARGETS, OPEN_TARGETS_BIGQUERY); from_str defaults to chr:pos:ref>alt.
  • An interval on the command line is 1-based closed chr:start-end; the SDK's genome.Interval is 0-based half-open. The scripts convert.
  • Human is GRCh38 only. The Atlas key is chr:pos:alt; REF is implied by the reference. Swapping REF/ALT can cause a miss; a wrong REF or build can misidentify a record. The scripts reject a returned variant that differs from the request, but cannot validate the build. Check REF against GRCh38 FASTA.
  • rsIDs are not accepted by the API or the portal. Resolve them to coordinates.
  • Use the chr prefix; MT becomes chrM.
Raw lines 63 to 78
79## Atlas workflow

Atlas workflow

Raw lines 79 to 80
81### 1. Rank with AVI
83```bash
84python atlas_query.py avi --variant "chr22:36201698:A>C" "chr9:128225994:G>A"
85python atlas_query.py avi --input candidates.vcf --min-phred 20 -o avi.tsv
86python atlas_query.py avi --interval chr11:5225727-5226575 --top-k 25 -o hbb_window.tsv
87python atlas_query.py avi --input credible_set.tsv --with-tracks -o avi_tracks.tsv
88```
90Output, one row per variant:
92| Column | Meaning |
93| --- | --- |
94| `avi_raw` | composite model output (the 18 attributions sum to it) |
95| `avi_cdf_quantile` | cumulative quantile against all genome-wide SNVs, as served |
96| `avi_tail_quantile`, `avi_phred`, `avi_top_percent` | `tail = 1 - cdf`, `phred = -10 log10(tail)`; Phred 20 = top 1 %, 30 = top 0.1 % |
97| `top_feature`, `top_feature_value` | largest absolute SHAP attribution and its value |
98| `fi_MERGED_SPLICING` ... `fi_IS_DELETION` | all 18 attributions (keys in `references/atlas.md`) |
99| `top_track_*` (with `--with-tracks`) | the strongest track behind the top feature: scorer, track, biosample, ontology CURIE, gene, raw score |
100| `atlas_url` | deep link to the variant on the portal |
101| `error` | per-variant lookup failure or mismatched returned allele instead of a crash |
103The Atlas report's advice: **rank, do not threshold**, and pick thresholds by
104region or application. Pathogenic regulatory variants sit in lower AVI bins
105than protein-truncating or splice-motif variants, so a single genome-wide
106cut-off under-calls exactly the variants this resource was built for.
108Read the attribution before the number. `MERGED_SPLICING` or `ALPHAMISSENSE`
109on top means a splice or coding mechanism; `MAX_ABS_DNASE`, `MAX_ABS_CHIP_TF`,
110`MAX_ABS_RNA_SEQ` mean a regulatory mechanism you can resolve by track;
111`CACTUS_241_WAY` or `PHASTCONS_470_WAY` on top means conservation is carrying
112the score and the molecular mechanism is not resolved.

1. Rank with AVI

python atlas_query.py avi --variant "chr22:36201698:A>C" "chr9:128225994:G>A"
python atlas_query.py avi --input candidates.vcf --min-phred 20 -o avi.tsv
python atlas_query.py avi --interval chr11:5225727-5226575 --top-k 25 -o hbb_window.tsv
python atlas_query.py avi --input credible_set.tsv --with-tracks -o avi_tracks.tsv

Output, one row per variant:

ColumnMeaning
avi_rawcomposite model output (the 18 attributions sum to it)
avi_cdf_quantilecumulative quantile against all genome-wide SNVs, as served
avi_tail_quantile, avi_phred, avi_top_percenttail = 1 - cdf, phred = -10 log10(tail); Phred 20 = top 1 %, 30 = top 0.1 %
top_feature, top_feature_valuelargest absolute SHAP attribution and its value
fi_MERGED_SPLICING ... fi_IS_DELETIONall 18 attributions (keys in references/atlas.md)
top_track_* (with --with-tracks)the strongest track behind the top feature: scorer, track, biosample, ontology CURIE, gene, raw score
atlas_urldeep link to the variant on the portal
errorper-variant lookup failure or mismatched returned allele instead of a crash

The Atlas report's advice: rank, do not threshold, and pick thresholds by region or application. Pathogenic regulatory variants sit in lower AVI bins than protein-truncating or splice-motif variants, so a single genome-wide cut-off under-calls exactly the variants this resource was built for.

Read the attribution before the number. MERGED_SPLICING or ALPHAMISSENSE on top means a splice or coding mechanism; MAX_ABS_DNASE, MAX_ABS_CHIP_TF, MAX_ABS_RNA_SEQ mean a regulatory mechanism you can resolve by track; CACTUS_241_WAY or PHASTCONS_470_WAY on top means conservation is carrying the score and the molecular mechanism is not resolved.

Raw lines 81 to 113
Runs code python atlas_query.py :84
Reads a file references/atlas.md :98
114### 2. Resolve the mechanism by track
116```bash
117python atlas_query.py scorers # what the server serves right now
118python atlas_query.py tracks --scorer RNA_SEQ --query colon # find ontology CURIEs
119python atlas_query.py scores --variant "chr22:36201698:A>C" \
120 --scorers RNA_SEQ DNASE SPLICE_SITE_USAGE --ontology UBERON:0001157 -o colon.tsv
121python atlas_query.py scores --interval chr11:5225727-5226575 --scorers CHIP_TF -o hbb_tf.tsv
122```
124One row per variant x track (x gene or splice junction where applicable),
125with `raw_score` and, where served, `quantile_score`. Track-level
126scorer names: `ATAC`, `DNASE`, `CHIP_TF`, `CHIP_HISTONE`, `CAGE`, `PROCAP`,
127`RNA_SEQ`, `POLYADENYLATION`, `SPLICE_SITES`, `SPLICE_SITE_USAGE`,
128`SPLICE_JUNCTIONS`, `CONTACT_MAPS`, plus `*_ACTIVE` variants; `scorers` is the
129authority on the live list. Filter by the tissue the question is about, not
130by the genome-wide maximum: 9,440 scorer-track entries mean something may be extreme
131somewhere.

2. Resolve the mechanism by track

python atlas_query.py scorers                                   # what the server serves right now
python atlas_query.py tracks --scorer RNA_SEQ --query colon     # find ontology CURIEs
python atlas_query.py scores --variant "chr22:36201698:A>C" \
    --scorers RNA_SEQ DNASE SPLICE_SITE_USAGE --ontology UBERON:0001157 -o colon.tsv
python atlas_query.py scores --interval chr11:5225727-5226575 --scorers CHIP_TF -o hbb_tf.tsv

One row per variant x track (x gene or splice junction where applicable), with raw_score and, where served, quantile_score. Track-level scorer names: ATAC, DNASE, CHIP_TF, CHIP_HISTONE, CAGE, PROCAP, RNA_SEQ, POLYADENYLATION, SPLICE_SITES, SPLICE_SITE_USAGE, SPLICE_JUNCTIONS, CONTACT_MAPS, plus *_ACTIVE variants; scorers is the authority on the live list. Filter by the tissue the question is about, not by the genome-wide maximum: 9,440 scorer-track entries mean something may be extreme somewhere.

Raw lines 114 to 132
Runs code python atlas_query.py :117
133### 3. Send the reader to the portal
135```bash
136python atlas_link.py variant "chr22:36201698:A>C" --biosample "colon" --modalities RNA_SEQ,DNASE,CHIP_TF
137python atlas_link.py locus chr11:5225727-5226575 --tf GATA1
138python atlas_link.py gene HBB --markdown
139```
141No key, no network. The site shows the AVI track, per-modality heatmaps over
142every biosample, REF-vs-ALT prediction tracks, and motif instances. Attach a
143link to every variant you report.

3. Send the reader to the portal

python atlas_link.py variant "chr22:36201698:A>C" --biosample "colon" --modalities RNA_SEQ,DNASE,CHIP_TF
python atlas_link.py locus chr11:5225727-5226575 --tf GATA1
python atlas_link.py gene HBB --markdown

No key, no network. The site shows the AVI track, per-modality heatmaps over every biosample, REF-vs-ALT prediction tracks, and motif instances. Attach a link to every variant you report.

Raw lines 133 to 144
Runs code python atlas_link.py :136
145### In Python
147```python
148import os
149from alphagenome.atlas import atlas
150from alphagenome.data import genome
152client = atlas.create(os.environ["ALPHAGENOME_API_KEY"], timeout=30)
153scores = client.query_variant(
154 genome.Variant.from_str("chr22:36201698:A>C"),
155 requested_scorers=["AVI_SCORE", "AVI_SCORE_FEATURE_IMPORTANCE", "RNA_SEQ"],
156 ontology_terms=["UBERON:0001157"], # optional; ignored for scorers without ontology metadata
158avi = scores["AVI_SCORE"] # AnnData: X (1,1) raw; layers['quantiles'] (1,1) cdf
159fi = scores["AVI_SCORE_FEATURE_IMPORTANCE"] # AnnData: X (1,18); var['name'] = feature keys
160rna = scores["RNA_SEQ"] # AnnData: obs = variant x gene, var = tracks, X = natural-log FC
161client.query_interval(genome.Interval("chr11", 5225726, 5226575), requested_scorers=["AVI_SCORE"])
162```
164`query_interval` returns up to 3 SNVs per non-`N` base, in 32 bp chunks. Keep windows
165to about 1 kb (3,000 variants); `atlas_query.py` refuses more unless
166`--max-window` is raised. `query_variants` raises if any submitted lookup fails;
167completion order is not input order;
168the script makes separate variant requests so misses become `error` cells.

In Python

import os
from alphagenome.atlas import atlas
from alphagenome.data import genome

client = atlas.create(os.environ["ALPHAGENOME_API_KEY"], timeout=30)
scores = client.query_variant(
    genome.Variant.from_str("chr22:36201698:A>C"),
    requested_scorers=["AVI_SCORE", "AVI_SCORE_FEATURE_IMPORTANCE", "RNA_SEQ"],
    ontology_terms=["UBERON:0001157"],          # optional; ignored for scorers without ontology metadata
)
avi = scores["AVI_SCORE"]                        # AnnData: X (1,1) raw; layers['quantiles'] (1,1) cdf
fi = scores["AVI_SCORE_FEATURE_IMPORTANCE"]      # AnnData: X (1,18); var['name'] = feature keys
rna = scores["RNA_SEQ"]                          # AnnData: obs = variant x gene, var = tracks, X = natural-log FC
client.query_interval(genome.Interval("chr11", 5225726, 5226575), requested_scorers=["AVI_SCORE"])

query_interval returns up to 3 SNVs per non-N base, in 32 bp chunks. Keep windows to about 1 kb (3,000 variants); atlas_query.py refuses more unless --max-window is raised. query_variants raises if any submitted lookup fails; completion order is not input order; the script makes separate variant requests so misses become error cells.

Raw lines 145 to 169
170## Model workflow

Model workflow

Raw lines 170 to 171
172### Score variants the Atlas does not hold
174```bash
175python score_variants.py --variant "chr22:36201698:A>C" -o scores.tsv # 12 recommended scorers, 1 Mb
176python score_variants.py --input indels.vcf --scorers RNA_SEQ SPLICE_SITE_USAGE \
177 --ontology UBERON:0001157 --min-abs-quantile 0.99 -o colon.tsv
178python score_variants.py --organism mouse --variant "chr7:45000000:A>G" --scorers RNA_SEQ --sequence-length 500KB -o mouse.tsv
179python score_variants.py --list-scorers
180python score_variants.py --list-tracks --output-type RNA_SEQ --query liver -o tracks.tsv
181```
183Output is the official tidy table from `variant_scorers.tidy_scores`: one row
184per variant x scorer x track (x gene) with `raw_score` and `quantile_score`,
185sorted by |raw|. Default scorers are the 12 recommended difference scorers;
186`--include-active` adds the seven `*_ACTIVE` activity scorers. At most 20
187scorers per request. Mouse has no calibrated quantiles; use raw scores there.
188`--min-abs-quantile` uses the supplied signed quantile magnitude (unsigned
189scorers use their upper-tail quantile); it never treats zero as an extreme.
191```python
192from alphagenome.models import dna_client, variant_scorers
193model = dna_client.create(os.environ["ALPHAGENOME_API_KEY"])
194variant = genome.Variant.from_str("chr22:36201698:A>C")
195interval = variant.reference_interval.resize(dna_client.SEQUENCE_LENGTH_1MB)
196adatas = model.score_variant(interval, variant, variant_scorers=[variant_scorers.RECOMMENDED_VARIANT_SCORERS["RNA_SEQ"]])
197df = variant_scorers.tidy_scores(adatas) # filter df.ontology_curie afterwards; score_variant takes no ontology_terms
198```

Score variants the Atlas does not hold

python score_variants.py --variant "chr22:36201698:A>C" -o scores.tsv                   # 12 recommended scorers, 1 Mb
python score_variants.py --input indels.vcf --scorers RNA_SEQ SPLICE_SITE_USAGE \
    --ontology UBERON:0001157 --min-abs-quantile 0.99 -o colon.tsv
python score_variants.py --organism mouse --variant "chr7:45000000:A>G" --scorers RNA_SEQ --sequence-length 500KB -o mouse.tsv
python score_variants.py --list-scorers
python score_variants.py --list-tracks --output-type RNA_SEQ --query liver -o tracks.tsv

Output is the official tidy table from variant_scorers.tidy_scores: one row per variant x scorer x track (x gene) with raw_score and quantile_score, sorted by |raw|. Default scorers are the 12 recommended difference scorers; --include-active adds the seven *_ACTIVE activity scorers. At most 20 scorers per request. Mouse has no calibrated quantiles; use raw scores there. --min-abs-quantile uses the supplied signed quantile magnitude (unsigned scorers use their upper-tail quantile); it never treats zero as an extreme.

from alphagenome.models import dna_client, variant_scorers
model = dna_client.create(os.environ["ALPHAGENOME_API_KEY"])
variant = genome.Variant.from_str("chr22:36201698:A>C")
interval = variant.reference_interval.resize(dna_client.SEQUENCE_LENGTH_1MB)
adatas = model.score_variant(interval, variant, variant_scorers=[variant_scorers.RECOMMENDED_VARIANT_SCORERS["RNA_SEQ"]])
df = variant_scorers.tidy_scores(adatas)         # filter df.ontology_curie afterwards; score_variant takes no ontology_terms
Raw lines 172 to 199
Runs code python score_variants.py :175
200### Predict tracks and mutagenise
202```python
203vo = model.predict_variant(interval, variant,
204 requested_outputs=[dna_client.OutputType.RNA_SEQ, dna_client.OutputType.DNASE],
205 ontology_terms=["UBERON:0001157"])
206vo.reference.rna_seq.values, vo.alternate.rna_seq.values # (1048576, n_tracks)
208window = genome.Interval("chr20", 3_753_000, 3_753_400).resize(dna_client.SEQUENCE_LENGTH_16KB)
209ism = model.score_ism_variants(interval=window, ism_interval=window.resize(256),
210 variant_scorers=[variant_scorers.CenterMaskScorer(
211 requested_output=dna_client.OutputType.DNASE, width=501,
212 aggregation_type=variant_scorers.AggregationType.DIFF_MEAN)])
213```
215Supported windows: 16 kb, 100 kb, 500 kb, 1 Mb (`2**14` to `2**20`); 1 Mb is
216the recommended default for full context; the recommended contact-map scorer
217uses a 1 Mb mask. Shorter windows lose distal sequence context. Ontology
218terms are CURIEs (`UBERON:0002048` lung, `CL:0000084` T cell); discover them
219with `--list-tracks` or `model.output_metadata(...).concatenate()`. Plotting,
220gene annotation (GENCODE v46 Feather on GCS), splicing and haplotype recipes:

Predict tracks and mutagenise

vo = model.predict_variant(interval, variant,
                           requested_outputs=[dna_client.OutputType.RNA_SEQ, dna_client.OutputType.DNASE],
                           ontology_terms=["UBERON:0001157"])
vo.reference.rna_seq.values, vo.alternate.rna_seq.values      # (1048576, n_tracks)

window = genome.Interval("chr20", 3_753_000, 3_753_400).resize(dna_client.SEQUENCE_LENGTH_16KB)
ism = model.score_ism_variants(interval=window, ism_interval=window.resize(256),
                               variant_scorers=[variant_scorers.CenterMaskScorer(
                                   requested_output=dna_client.OutputType.DNASE, width=501,
                                   aggregation_type=variant_scorers.AggregationType.DIFF_MEAN)])

Supported windows: 16 kb, 100 kb, 500 kb, 1 Mb (2**14 to 2**20); 1 Mb is the recommended default for full context; the recommended contact-map scorer uses a 1 Mb mask. Shorter windows lose distal sequence context. Ontology terms are CURIEs (UBERON:0002048 lung, CL:0000084 T cell); discover them with --list-tracks or model.output_metadata(...).concatenate(). Plotting, gene annotation (GENCODE v46 Feather on GCS), splicing and haplotype recipes: references/model-api.md.

Raw lines 200 to 222
Reads a file references/model-api.md :221
223## Reading the numbers
225Always report raw score **and** quantile or Phred, with the scorer, track,
226biosample CURIE, and gene. `raw_score` is the effect size on the scorer's scale
227(RNA_SEQ is `ln(mean ALT + 0.001) - ln(mean REF + 0.001)`:
228-1 is about 0.37x the pseudocount-adjusted REF signal). `quantile_score` ranks against
229common variants: signed scorers use `[-1, 1]`, unsigned scorers `[0, 1]`,
230with finite calibration limits near 1. AVI instead uses a genome-wide SNV CDF.
231A quantile above 0.99 with |raw| < 0.1 can reflect a narrow background in a quiet region; inspect REF/ALT tracks and
232report the small predicted change without declaring biological absence of effect.
233Raw-score thresholds are scorer-specific; quantiles are ranks, not p-values. Unsigned
234scorers (`SPLICE_*`, `POLYADENYLATION`, `CONTACT_MAPS`, `*_ACTIVE`) have no
235direction. "AlphaGenome predicts no appreciable change in the queried tracks"
236is a complete answer, and a variant inside a peak whose REF and ALT tracks are
237identical is not "disrupting" anything. Full rules, tissue matching, and the
238reporting checklist: `references/interpretation.md`.
240Model limitations include trans effects, poorly represented non-polyadenylated
241RNAs (training includes both poly(A)+ and total RNA tracks), absent cell types,
242and protein-level consequences
243(AlphaMissense is folded into AVI for that), RNA structure and miRNA biology,
244diploid dosage, developmental time, species other than human and mouse.

Reading the numbers

Always report raw score and quantile or Phred, with the scorer, track, biosample CURIE, and gene. raw_score is the effect size on the scorer's scale (RNA_SEQ is ln(mean ALT + 0.001) - ln(mean REF + 0.001): -1 is about 0.37x the pseudocount-adjusted REF signal). quantile_score ranks against common variants: signed scorers use [-1, 1], unsigned scorers [0, 1], with finite calibration limits near 1. AVI instead uses a genome-wide SNV CDF. A quantile above 0.99 with |raw| < 0.1 can reflect a narrow background in a quiet region; inspect REF/ALT tracks and report the small predicted change without declaring biological absence of effect. Raw-score thresholds are scorer-specific; quantiles are ranks, not p-values. Unsigned scorers (SPLICE_*, POLYADENYLATION, CONTACT_MAPS, *_ACTIVE) have no direction. "AlphaGenome predicts no appreciable change in the queried tracks" is a complete answer, and a variant inside a peak whose REF and ALT tracks are identical is not "disrupting" anything. Full rules, tissue matching, and the reporting checklist: references/interpretation.md.

Model limitations include trans effects, poorly represented non-polyadenylated RNAs (training includes both poly(A)+ and total RNA tracks), absent cell types, and protein-level consequences (AlphaMissense is folded into AVI for that), RNA structure and miRNA biology, diploid dosage, developmental time, species other than human and mouse.

Raw lines 223 to 245
246## Limits, quota, terms
248- Atlas: GRCh38 SNVs only for now; indels were scored for the paper and are
249 promised later. Reference `N` bases were never scored.
250- Quotas are per key and unpublished; the Atlas is documented as having a
251 larger query rate than on-demand prediction. Transient `RESOURCE_EXHAUSTED`
252 and `UNAVAILABLE` are retried. Atlas also retries `DEADLINE_EXCEEDED`
253 (up to 5 attempts, 60 s call deadline); model streaming RPCs use a separate
254 retry policy. `--timeout` controls channel setup only, not total query time.
255- Access tiers (Atlas report): AVI scores are also a **permissively licensed**
256 Tabix download at https://alphagenome.google/downloads; feature attributions
257 and splicing scores are non-commercial downloads; all other raw track scores
258 are API-only and non-commercial. Commercial **Atlas** access is announced
259 as coming soon; the base model
260 is already available through Google Cloud Model Garden. See the current
261 [official FAQ](https://www.alphagenomedocs.com/faqs.html).
262- The `alphagenome` client is Apache-2.0; model weights and outputs carry
263 DeepMind's terms. Cite Avsec et al., *Nature* 649:1206 (2026) and the Atlas
264 report (Cheng et al., medRxiv, 2026, doi:10.64898/2026.09.16.26363192).

Limits, quota, terms

  • Atlas: GRCh38 SNVs only for now; indels were scored for the paper and are promised later. Reference N bases were never scored.
  • Quotas are per key and unpublished; the Atlas is documented as having a larger query rate than on-demand prediction. Transient RESOURCE_EXHAUSTED and UNAVAILABLE are retried. Atlas also retries DEADLINE_EXCEEDED (up to 5 attempts, 60 s call deadline); model streaming RPCs use a separate retry policy. --timeout controls channel setup only, not total query time.
  • Access tiers (Atlas report): AVI scores are also a permissively licensed Tabix download at https://alphagenome.google/downloads; feature attributions and splicing scores are non-commercial downloads; all other raw track scores are API-only and non-commercial. Commercial Atlas access is announced as coming soon; the base model is already available through Google Cloud Model Garden. See the current official FAQ.
  • The alphagenome client is Apache-2.0; model weights and outputs carry DeepMind's terms. Cite Avsec et al., Nature 649:1206 (2026) and the Atlas report (Cheng et al., medRxiv, 2026, doi:10.64898/2026.09.16.26363192).
Raw lines 246 to 265
266## References
268- `references/atlas.md` - what the Atlas contains, the 19 scorer
269 configurations with track counts, AVI training and the 18 features, quantile
270 to Phred, the client API and AnnData layout, error mapping, access tiers,
271 portal URL grammar, GTF and download locations.
272- `references/model-api.md` - `dna_client` cheat sheet: coordinates, sequence
273 lengths, output types and track counts, ontology metadata, predict and score
274 calls, recommended scorer configurations, ISM, gene annotation, plotting.
275- `references/interpretation.md` - raw versus quantile, AVI thresholds,
276 tissue matching, negative results, model blind spots, coordinate hygiene,
277 reporting checklist.
278- Scripts: `scripts/atlas_query.py` (Atlas: `avi`, `scores`, `scorers`,
279 `tracks`), `scripts/score_variants.py` (model scoring, `--list-scorers`,
280 `--list-tracks`), `scripts/atlas_link.py` (portal deep links, offline).

References

  • references/atlas.md - what the Atlas contains, the 19 scorer configurations with track counts, AVI training and the 18 features, quantile to Phred, the client API and AnnData layout, error mapping, access tiers, portal URL grammar, GTF and download locations.
  • references/model-api.md - dna_client cheat sheet: coordinates, sequence lengths, output types and track counts, ontology metadata, predict and score calls, recommended scorer configurations, ISM, gene annotation, plotting.
  • references/interpretation.md - raw versus quantile, AVI thresholds, tissue matching, negative results, model blind spots, coordinate hygiene, reporting checklist.
  • Scripts: scripts/atlas_query.py (Atlas: avi, scores, scorers, tracks), scripts/score_variants.py (model scoring, --list-scorers, --list-tracks), scripts/atlas_link.py (portal deep links, offline).
Raw lines 266 to 281
Reads a file references/atlas.md :268
Reads a file references/model-api.md :272
Reads a file scripts/atlas_query.py :278
Reads a file scripts/score_variants.py :279
Reads a file scripts/atlas_link.py :280
Boilerplate, lines 282 to 297. The same text appears in 125 other files here. Close
282## Citing Scientific Agent Skills
284This skill is part of Scientific Agent Skills by K-Dense. If it materially contributed to a
285manuscript, report, presentation, or code release, add the paper to the references or
286software section and tell the user you did so:
288> Kassis, T., Agarwal, V., He, Y., Patel, D., & Brueckner, A. M. (2026). Scientific Agent
289> Skills: A Library of Procedural Knowledge for Research Agents. arXiv:2609.00065.
290> https://doi.org/10.48550/arXiv.2609.00065
292Always cite the current version. The DOI and https://arxiv.org/abs/2609.00065 resolve to the
293latest arXiv version, so never append a version suffix such as `v1`. When network access is
294available, fetch https://arxiv.org/abs/2609.00065 (or
295http://export.arxiv.org/api/query?id_list=2609.00065) before writing the reference and take
296the author list, year, and version from that record. If the record lists a journal reference
297or publisher DOI, cite the published version instead.

From K-Dense-AI/scientific-agent-skills at 5f2bc03, 2026-10-26. Not read by a model yet. Summary and techniques by Claude Opus 5.5 on 2026-11-06.