Skip to content

Sequence Generation Inference

This tutorial demonstrates how to generate novel DNA sequences using a pre-trained causal language model.

Full Notebook

View Full Notebook

Prerequisites

uv pip install -e '.[base,inference,cuda124]'

Load Configuration

from dnallm import load_config

configs = load_config("./generation_config.yaml")

Load Model

from dnallm import load_model_and_tokenizer

model_name = "zhangtaolab/plant-dnagpt-BPE"
model, tokenizer = load_model_and_tokenizer(
    model_name,
    task_config=configs['task'],
    source="modelscope"
)

Create Inference Engine

from dnallm import DNAInference

inference_engine = DNAInference(
    model=model,
    tokenizer=tokenizer,
    config=configs
)

Generate Sequences

Provide a short prompt and generate continuation:

output = inference_engine.generate(
    ["ACGT"],
    n_tokens=512,
    temperature=0.8,
    top_p=0.9
)

Display generated sequences:

for seq in output:
    print(f"Input Sequence: {seq['Prompt']}")
    print(f"Generated Sequence: {seq['Output']}")
    print()