Evo 2 1B Base is a GPU-accelerated genomic foundation model trained on 1 trillion nucleotides from a curated dataset of prokaryotic and eukaryotic genomes. With a context length of 8,192 tokens and single-nucleotide resolution, Evo 2 1B Base supports sequence likelihood prediction, mutation effect scoring, genome-scale generation, and embedding extraction. Typical applications include variant interpretation, genomic annotation, and evolutionary analysis across diverse organisms.

Predict

Predict properties or scores for input sequences

python
from biolmai import BioLM
response = BioLM(
    entity="evo2-1b-base",
    action="predict",
    params={},
    items=[
      {
        "sequence": "ACTGACTG"
      }
    ]
)
print(response)
bash
curl -X POST https://biolm.ai/api/v3/evo2-1b-base/predict/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    {
      "sequence": "ACTGACTG"
    }
  ]
}'
python
import requests

url = "https://biolm.ai/api/v3/evo2-1b-base/predict/"
headers = {
    "Authorization": "Token YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
      "items": [
        {
          "sequence": "ACTGACTG"
        }
      ]
    }

response = requests.post(url, headers=headers, json=payload)
print(response.json())
r
library(httr)

url <- "https://biolm.ai/api/v3/evo2-1b-base/predict/"
headers <- c("Authorization" = "Token YOUR_API_KEY", "Content-Type" = "application/json")
body <- list(
  items = list(
    list(
      sequence = "ACTGACTG"
    )
  )
)

res <- POST(url, add_headers(.headers = headers), body = body, encode = "json")
print(content(res))
POST /api/v3/evo2-1b-base/predict/

Predict endpoint for Evo 2 1B Base.

Request Headers:

Request

  • params (object, optional) — Configuration parameters for Evo2 generation:

    • max_new_tokens (int, range: 1-4096, default: 100) — Maximum number of tokens to generate

    • temperature (float, range: ≥0.0, default: 1.0) — Sampling temperature for generation

    • top_k (int, range: ≥1, default: 4) — Number of highest probability tokens to keep for top-k sampling

    • top_p (float, range: 0.0-1.0, default: 1.0) — Cumulative probability threshold for nucleus (top-p) sampling

  • items (array of objects, min: 1, max: 1) — Input sequences for generation:

    • prompt (string, min length: 1, max length: 4096, required) — DNA sequence prompt composed of unambiguous nucleotides (A, C, G, T)

Example request:

http
POST /api/v3/evo2-1b-base/predict/ HTTP/1.1
Host: biolm.ai
Authorization: Token YOUR_API_KEY
Content-Type: application/json

      {
  "items": [
    {
      "sequence": "ACTGACTG"
    }
  ]
}
Status Codes:

Response

  • results (array of objects) — One result per input item, in the order requested:

    • embeddings (array of objects) — Embeddings extracted from Evo 2 model:

      • layer (int) — Index of the Evo 2 model layer from which embeddings are extracted

      • mean (array of floats, optional, size: [4096]) — Mean embedding vector across all sequence positions, extracted from the specified layer

      • last (array of floats, optional, size: [4096]) — Embedding vector from the last sequence position, extracted from the specified layer

Example response:

http
HTTP/1.1 200 OK
Content-Type: application/json

      {
  "results": [
    {
      "log_prob": -9.828125
    }
  ]
}

Encode

Generate embeddings for input sequences

python
from biolmai import BioLM
response = BioLM(
    entity="evo2-1b-base",
    action="encode",
    params={},
    items=[
      {
        "sequence": "ACTGACTG"
      }
    ]
)
print(response)
bash
curl -X POST https://biolm.ai/api/v3/evo2-1b-base/encode/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    {
      "sequence": "ACTGACTG"
    }
  ]
}'
python
import requests

url = "https://biolm.ai/api/v3/evo2-1b-base/encode/"
headers = {
    "Authorization": "Token YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
      "items": [
        {
          "sequence": "ACTGACTG"
        }
      ]
    }

response = requests.post(url, headers=headers, json=payload)
print(response.json())
r
library(httr)

url <- "https://biolm.ai/api/v3/evo2-1b-base/encode/"
headers <- c("Authorization" = "Token YOUR_API_KEY", "Content-Type" = "application/json")
body <- list(
  items = list(
    list(
      sequence = "ACTGACTG"
    )
  )
)

res <- POST(url, add_headers(.headers = headers), body = body, encode = "json")
print(content(res))
POST /api/v3/evo2-1b-base/encode/

Encode endpoint for Evo 2 1B Base.

Request Headers:

Request

  • params (object, optional) — Configuration parameters for embeddings extraction:

    • embedding_layers (array of integers, default: [-2]) — Indices of model layers from which embeddings are extracted

    • mlp_layer (integer, default: 3) — Index of the MLP layer used for embedding extraction (fixed to 3)

    • include (array of strings, default: [“mean”]) — Types of embeddings to include in response; allowed values: “mean”, “last”

  • items (array of objects, min: 1, max: 1) — Input sequences for embedding extraction:

    • sequence (string, min length: 1, max length: 4096, required) — DNA sequence composed of unambiguous nucleotide characters (A, C, G, T)

Example request:

http
POST /api/v3/evo2-1b-base/encode/ HTTP/1.1
Host: biolm.ai
Authorization: Token YOUR_API_KEY
Content-Type: application/json

      {
  "items": [
    {
      "sequence": "ACTGACTG"
    }
  ]
}
Status Codes:

Response

  • results (array of objects) — One result per input item, in the order requested:

    • embeddings (array of objects) — Embedding details for each requested layer:

      • layer (int) — Layer index from which embeddings are extracted

      • mean (array of floats, optional) — Mean embeddings, size varies by model configuration

      • last (array of floats, optional) — Last token embeddings, size varies by model configuration

  • metadata (object, optional) — Additional information:

    • processing_time (float) — Computation time in seconds

Example response:

http
HTTP/1.1 200 OK
Content-Type: application/json

      {
  "results": [
    {
      "embeddings": [
        {
          "layer": 23,
          "mean": [
            3.055902197957039e-09,
            8.89413058757782e-08,
            "... (truncated for documentation)"
          ]
        }
      ]
    }
  ]
}

Generate

Generate new sequences based on prompts

python
from biolmai import BioLM
response = BioLM(
    entity="evo2-1b-base",
    action="generate",
    params={},
    items=[
      {
        "prompt": "ACTG"
      }
    ]
)
print(response)
bash
curl -X POST https://biolm.ai/api/v3/evo2-1b-base/generate/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    {
      "prompt": "ACTG"
    }
  ]
}'
python
import requests

url = "https://biolm.ai/api/v3/evo2-1b-base/generate/"
headers = {
    "Authorization": "Token YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
      "items": [
        {
          "prompt": "ACTG"
        }
      ]
    }

response = requests.post(url, headers=headers, json=payload)
print(response.json())
r
library(httr)

url <- "https://biolm.ai/api/v3/evo2-1b-base/generate/"
headers <- c("Authorization" = "Token YOUR_API_KEY", "Content-Type" = "application/json")
body <- list(
  items = list(
    list(
      prompt = "ACTG"
    )
  )
)

res <- POST(url, add_headers(.headers = headers), body = body, encode = "json")
print(content(res))
POST /api/v3/evo2-1b-base/generate/

Generate endpoint for Evo 2 1B Base.

Request Headers:

Request

  • params (object, optional) — Configuration parameters:

    • embedding_layers (array of integers, default: [-2]) — Indices of model layers from which embeddings are extracted

    • mlp_layer (integer, default: 3) — Index of the MLP layer used for embedding extraction

    • include (array of strings, default: [“mean”]) — Embedding aggregation methods to include; allowed values: “mean”, “last”

  • items (array of objects, min items: 1, max items: 1) — Input sequences:

    • sequence (string, required, min length: 1, max length: 4096) — DNA sequence containing only unambiguous nucleotide characters (A, C, G, T)

Example request:

http
POST /api/v3/evo2-1b-base/generate/ HTTP/1.1
Host: biolm.ai
Authorization: Token YOUR_API_KEY
Content-Type: application/json

      {
  "items": [
    {
      "prompt": "ACTG"
    }
  ]
}
Status Codes:

Response

  • results (array of objects) — One result per input item, in the order requested:

    • embeddings (array of objects) — Embeddings extracted from Evo 2 model:

      • layer (int) — Index of the model layer from which embeddings are extracted

      • mean (array of floats, size: 4096, optional) — Mean embedding vector across all sequence positions

      • last (array of floats, size: 4096, optional) — Embedding vector from the last sequence position

  • results (array of objects) — One result per input item, in the order requested:

    • log_prob (float, range: negative infinity to 0.0) — Predicted log probability of the input DNA sequence

  • results (array of objects) — One result per input item, in the order requested:

    • generated (string) — Generated DNA sequence continuation, length determined by max_new_tokens parameter (range: 1–4096 nucleotides)

Example response:

http
HTTP/1.1 200 OK
Content-Type: application/json

      {
  "results": [
    {
      "generated": "CAGGGCTCGCCACACCAGATGCGCCTCCGCCAGCGAGAATCCCCGCACAGCCATCCGGCCCTGGCGCTTCAGCGTCGGCACCTCGACCTCGCGGTTGCCC"
    }
  ]
}

Performance

  • Evo 2 1B Base is optimized for rapid inference on DNA sequence modeling tasks, achieving significantly faster inference speeds compared to larger Evo 2 variants (7B, 40B).

  • Typical inference latency is on the order of seconds per sequence, enabling efficient processing for high-throughput genomic workflows.

  • The Evo 2 1B Base model runs efficiently on a single NVIDIA L4 GPU, providing cost-effective inference with lower computational resource requirements compared to Evo 2 7B Base and Evo 2 40B Base.

  • Predictive accuracy of Evo 2 1B Base is lower than Evo 2 7B Base and Evo 2 40B Base on tasks such as zero-shot variant effect prediction (ClinVar, SpliceVarDB, BRCA1/BRCA2) and deep mutational scanning benchmarks.

  • Evo 2 1B Base delivers competitive performance on simpler sequence modeling tasks, such as gene completion and short-sequence generation, but is less accurate for complex genomic tasks involving long-range context and nuanced regulatory elements compared to Evo 2 7B and 40B variants.

  • Evo 2 1B Base uses the StripedHyena 2 architecture, which provides improved computational efficiency and throughput compared to previous-generation Evo 1 models using the original Hyena architecture.

  • The model’s smaller parameter count (1 billion parameters) allows for rapid inference and lower GPU memory usage, making it suitable for applications requiring high-throughput and low-latency predictions at the expense of reduced accuracy relative to larger Evo 2 models.

Applications

  • Predicting functional impacts of genetic variants in protein-coding and noncoding regions, enabling accurate prioritization of clinically relevant mutations; valuable for diagnostic companies or clinical genetics services to rapidly interpret patient genomic data, though not optimal for predicting effects of structural variants or large chromosomal rearrangements.

  • Designing novel DNA sequences with user-defined chromatin accessibility patterns via inference-time search, allowing precise control of gene expression regulation; useful for synthetic biology companies engineering mammalian cell lines for bioproduction or gene therapy applications, but less effective for short regulatory elements or non-mammalian genomes.

  • Identification and annotation of genomic features such as exon-intron boundaries, transcription factor binding sites, and mobile genetic elements, enabling rapid genome annotation and functional characterization; beneficial for biotech companies developing engineered organisms or cell lines, although accuracy may vary for poorly characterized or highly repetitive genomes.

  • Generating realistic synthetic genomes at scale, including mitochondrial, bacterial, and yeast chromosomes, facilitating design of minimal genomes or novel metabolic pathways; valuable for companies engineering microbial strains for bioproduction, though generated sequences should be experimentally validated for biological viability.

  • Predicting mutational effects on organismal fitness across diverse species, supporting high-throughput screening and optimization of engineered strains; useful for industrial biotechnology companies optimizing microbial hosts for fermentation or bio-manufacturing, but predictions may be less accurate for organisms with limited genomic representation in training data.

Limitations

  • Maximum Sequence Length: The Evo 2 1B Base model supports a maximum sequence length of 4096 nucleotides. Ensure that input sequences do not exceed this limit to avoid errors.

  • Batch Size: The API allows a Batch Size of up to 1 per request. This means only one sequence can be processed at a time.

  • GPU Type: The model is optimized for GPU Type L4, which may affect performance on different hardware configurations.

  • Algorithmic Complexity: Evo 2 is designed for general genomic modeling but may not be optimal for tasks requiring detailed protein-level predictions or specific structural insights.

  • Use Case Suitability: While Evo 2 can handle a wide range of genomic data, it may not be the best choice for tasks involving very short sequences or those requiring real-time processing due to its computational demands.

  • Scientific Limitations: The model is trained on a broad dataset, which might not capture niche genomic variations or rare mutations specific to certain organisms or conditions.

How We Use It

The Evo 2 1B Base algorithm provides rapid, sequence-level modeling and variant scoring of DNA sequences, enabling efficient predictive assessments of protein and RNA fitness across diverse biological contexts. Integrated into scalable BioLM engineering workflows, Evo 2 1B Base supports early-stage filtering, ranking, and prioritization of candidate protein and antibody designs, facilitating iterative optimization cycles that reduce experimental overhead and accelerate research timelines. Its standardized APIs allow seamless combination with BioLM’s predictive models, generative algorithms, and embedding-based classifiers for comprehensive biological engineering solutions.

  • Enables rapid, iterative variant scoring within protein optimization pipelines

  • Integrates seamlessly with predictive and generative BioLM workflows for enhanced design prioritization

References

  • Brixi, G., Durrant, M. G., Ku, J., Poli, M., Brockman, G., Chang, D., Gonzalez, G. A., King, S. H., Li, D. B., Merchant, A. T., Naghipourfar, M., Nguyen, E., Ricci-Tam, C., Romero, D. W., Sun, G., Taghibakshi, A., Vorontsov, A., Yang, B., Deng, M., Gorton, L., Nguyen, N., Wang, N. K., Adams, E., Baccus, S. A., Dillmann, S., Ermon, S., Guo, D., Ilango, R., Janik, K., Lu, A. X., Mehta, R., Mofrad, M. R. K., Ng, M. Y., Pannu, J., Ré, C., Schmok, J. C., St. John, J., Sullivan, J., Zhu, K., Zynda, G., Balsam, D., Collison, P., Costa, A. B., Hernandez-Boussard, T., Ho, E., Liu, M.-Y., McGrath, T., Powell, K., Burke, D. P., Goodarzi, H., Hsu, P. D., & Hie, B. L. (2024). Genome modeling and design across all domains of life with Evo 2. bioRxiv.