Evo 2
v0.6.0Score variants, rank DNA sequences and generate DNA with the Evo 2 genome language model
Evo 2 is a DNA language model from the Arc Institute, trained to predict the next base across genomes from all domains of life. ProteinIQ runs the Evo 2 7B model, with a context of 1 million bases, and the Evo 2 1B base model, with a context of 8,192 bases, both released under the Apache 2.0 licence. The method is described in Brixi et al., Nature 2026.
A language model that can say how likely a DNA sequence is can also say how much a change to it matters. The webserver offers four tasks: variant effect, scoring, generation and embeddings. Variant effect follows the source's BRCA1 notebook: it scores a reference sequence and the same sequence with a variant, then subtracts the two scores. No training data or labels are needed, which is why the approach is called zero-shot.
For protein-level variant scores use ESM-C mutation scoring, and for regulatory effects on gene expression use AlphaGenome. Another DNA language model, Carbon, runs on the same kind of input.
A run costs at least 34 credits, the price of two one-base sequences on the 1B model. The exact quote is calculated before submission from the model, the number of bases scored or generated, and whether reverse-complement averaging is on.
Every job pays for starting a GPU and loading the checkpoint before any sequence is read, so short jobs cost about the same. Starting the GPU and loading the model takes 14 to 48 seconds for the 7B and 1B models, and the quote allows for the slowest start. After that, scoring costs little per base, and generation costs most because each new base needs its own pass through the model.
| Task | Input | 7B credits | 1B credits |
|---|---|---|---|
| Variant effect | 1,000 bp reference and alternate | 63 | 34 |
| Variant effect | 8,192 bp reference and alternate (the BRCA1 window) | 64 | 35 |
| Variant effect | 32,768 bp reference and alternate | 68 | 37 |
| Variant effect with reverse-complement averaging | 8,192 bp reference and alternate | 65 | 36 |
| Score | 20 sequences of 8,192 bp | 76 | 41 |
| Generate | 500 bp prompt, 100 new bases | 67 | 37 |
| Generate | 500 bp prompt, 500 new bases | 80 | 45 |
| Generate | 500 bp prompt, 4,096 new bases | 202 | 125 |
| Embeddings | one 4,096 bp sequence | 63 | 34 |
The sampling settings, the layer name and the seed do not change the price. Several prompts of different lengths are generated one after the other, so the quote grows with the number of prompts.
All sequences are read as written, one character per token, and no letters are changed or removed. Upper and lower case are different characters to the model, and the examples use uppercase. Each input can be a FASTA file with one or more records, or one plain sequence without a header.
| Task | Input | Limits |
|---|---|---|
| Variant effect | Reference sequence and Alternate sequence, one record each | 32,768 bp per sequence |
| Score | DNA sequences | 20 sequences, 32,768 bp each and 262,144 bp in total |
| Generate | Prompt, one or more records | 10 prompts and 4,096 bp in total |
| Embeddings | DNA sequences | 5 sequences, 4,096 bp each and 8,192 bp in total |
A prompt can also be a phylogenetic tag, such as |D__BACTERIA;P__PSEUDOMONADOTA;G__ESCHERICHIA;S__ESCHERICHIA COLI|. The Evo 2 generation notebook builds these tags from a species name through the GBIF taxonomy service; the webserver takes the finished tag as text.
The limits are set by the memory of the GPU, not by the model. The 7B model holds a 32,768 bp sequence on the 48 GB GPU used here, but a longer generation prompt than 4,096 bp runs out of memory, because Evo 2 prefills the whole prompt at once.
| Parameter | Type | Default | Description |
|---|---|---|---|
Task | enum | Variant effect | Variant effect, Score sequences, Generate DNA or Embeddings. |
Model | enum | Evo 2 7B (1M context) | Evo 2 7B (1M context) or Evo 2 1B base (8K context). |
These settings apply to Variant effect and Score sequences.
| Parameter | Type | Default | Description |
|---|---|---|---|
Score | enum | Mean log-likelihood per base | Combine the per-base log-likelihoods of a sequence as their mean, or as their Total log-likelihood. |
Average with reverse complement | boolean | off | Score each sequence and its reverse complement, and report the mean of the two scores. |
| Parameter | Type | Default | Description |
|---|---|---|---|
Bases to generate | integer | 500 | New bases after each prompt, from 1 to 4,096. |
Temperature | number | 1 | Sampling temperature, at least 0.01. It has no effect with Top-k 1. |
Top-k | integer | 4 | Number of most likely bases to sample from. 1 always takes the most likely base. |
Top-p | number | 1 | Cumulative probability cutoff, from 0.01 to 1. 1 keeps every candidate. |
Random seed | integer | optional | Seeds the random number generator before sampling. Leave it empty for an unseeded run. |
| Parameter | Type | Default | Description |
|---|---|---|---|
Layer | string | blocks.28.mlp.l3 | Name of the model module whose output is returned. |
The Evo 2 authors extract blocks.28.mlp.l3 from the 7B model and find that intermediate layers work better than the final one. The 7B model has 32 blocks and the 1B base model 25, so with the 1B base model the default layer must be changed. A layer that does not exist is rejected with the model's own error message.
Every task returns a result table, shown as a spreadsheet, plus downloadable files.
| File | Tasks | Contents |
|---|---|---|
evo2-results.csv | all | The result table. |
evo2-results.json | all | The table with the settings, the checkpoint revision and checksum, timings and peak memory. |
evo2-generated-sequences.fasta | Generate DNA | One record per prompt holding only the generated bases. |
evo2-embeddings.npz | Embeddings | One array per sequence, named by the sequence identifier. |
An embedding array has one row per base and one column per hidden unit of the model, 4,096 for the 7B model and 1,920 for the 1B base model, stored as 32-bit floats. A 4,096 bp sequence on the 7B model produces a file of about 67 MB.
mean_log_likelihood is the average natural-log probability that the model gave to each base given the bases before it. It is negative, and a value closer to zero means a sequence the model finds more predictable. A sequence the model predicts well scores near zero, and one it cannot predict at all scores near -1.4, the log of four equally likely bases.
In the two example sequences of the Score sequences preset, an E. coli lac region scores -0.22 and a human mitochondrial segment scores -0.90.
total_log_likelihood is the sum instead of the mean, so it falls as a sequence gets longer. Compare totals only between sequences of the same length.
A score describes how well a sequence fits what Evo 2 learned. It is not a probability of function, a fitness or a pathogenicity.
delta_score is alternate_score minus reference_score. A negative value means the model finds the variant sequence less likely than the reference, and the more negative the value, the more the variant disrupts what the model expects at that position. Values are small because a single base in an 8,192 bp window changes the mean by a tiny amount, so only the sign and the comparison between variants carry information.
The two BRCA1 examples show the pattern. Both come from the saturation screen of Findlay et al. that the Evo 2 notebook uses, with an 8,192 bp window of the GRCh37 chromosome 17 reference around each variant. BRCA1 C61G is classified as loss of function and pathogenic in ClinVar, and its delta_score on the 7B model is -0.0094. BRCA1 D67Y is classified as functional and benign, and its delta_score is -0.0028.
Two variants cannot establish a threshold. Rank many variants of one gene against each other and compare with experimental or clinical labels, as the notebook does with an area under the ROC curve over 3,893 BRCA1 variants. The notebook runs on the 1B base model as a quick demonstration and recommends the larger 7B and 40B models for more accurate predictions.
Reference and alternate sequences are not checked against each other. They should have the same length and differ only at the variant, as in the examples, but the webserver scores whatever is submitted.
generated_sequence holds the new bases only, and mean_log_probability is the average log probability that the model gave to the bases it chose. With Top-k 1 the run is deterministic and picks the most likely base at each step. With the default Top-k of 4 and a temperature of 1, each run differs unless a Random seed is set.
A generated sequence has no guarantee of function, and a high mean_log_probability means only that the model found its own output predictable. Check generated DNA with independent tools, for example by translating it with DNA to protein or looking for open reading frames, before using it.
The Generate DNA preset continues the first 500 bases of the E. coli lac region by 200 bases with Top-k 1.
The array of a sequence has the shape 1 x length x 4096 on the 7B model and 1 x length x 1920 on the 1B base model, which the table reports as embedding_shape. Load it with numpy.load; each key in the file is a sequence identifier. The authors report that these activations support downstream classifiers, such as their exon classifier, but ProteinIQ returns the activations only.
The tool page opens with four examples. Two score BRCA1 C61G and D67Y with the 7B model, one generates 200 bases from an E. coli lac region prompt, and one scores two 1,000 bp sequences.
arcinstitute/evo2_7b and arcinstitute/evo2_1b_base, Apache 2.0Generate, score, and compare canonical DNA sequences with Carbon language models.
Identify CpG-rich DNA regions using GC content, CpG density, and observed-to-expected ratios.
Calculate GC content, AT content, GC/AT skew, melting temperature, and CpG islands for DNA or RNA, with a sliding-window GC plot.
Calculate insert mass and molar ratio, then turn DNA stock concentrations into a practical ligation pipetting plan.
Analyze independent DNA oligos or screen a bounded set for primer interactions with Primer3 thermodynamic conditions.
Identify potential protein-coding regions in DNA across all six reading frames with NCBI ORFfinder.
Restore residues and generate antibody-specific representations or likelihood scores.
Assess docking quality between model and native structures
Predict protein aggregation nucleation propensity from amino acid sequences.
Calculate protein and peptide pI values using validated pKa scales and sequence models.