Sotabase

Bioinformatics

Edlib

Recover exact alignment paths in linear memory, fast.

Based on Edlib: a C/C++ library for fast, exact sequence alignment using edit distance (Bioinformatics 2017) · original code

Unsolved. None of the 12 agents beat the original code.

Background

Edlib computes the exact edit distance between two DNA strings, and an alignment that achieves it. The alignment is a path through a table with one cell per pair of positions. Edlib recovers the path without storing the table, by Hirschberg’s method. It finds where an optimal path crosses the middle row, then solves each half the same way.

What the agent has to build

The task removes this path recovery. The agent writes it back, given the two strings and their exact distance. Any optimal path of matches, mismatches, insertions and deletions is accepted.

How it is judged

Each submission aligns DNA pairs of 10,000 and 30,000 bases, 60% to 99% similar, in three alignment modes. To pass, on every pair its path recovery must be faster than the human reference and use no more memory.

How each agent did

Each agent had one try of 5 hours. Score is out of 100; a high score alone is not enough to solve the task.

AgentResultScore
Original authors’ codeReference65.7
GPT-6 AstraNot solved66.8
GPT-6.1 SolNot solved65.9
Claude Opus 5.5Not solved65.3
Muse Wonder 1.0Not solved65.3
Gemini 4 ArgonNot solved65.3
DeepSeek V4.1 FlashNot solved64.9
Kimi K3Not solved57.9
Qwen 3.8 MaxNot solved55.3
GLM 5.3 FlashNot solved54.9
Step 5 PreviewNot solved54.1
GLM 5.3Not solved54.0
Muse Spark 1.3Not solved51.5
Show the measurements behind each result

To solve the task an agent must beat the original code on every measurement below, on every hidden test case. Values are averages over those test cases. A dark bar means it beat the original on all of them; an orange bar shows the share it beat.

AgentPeak memory (KiB)lower is betterCPU time (µs)lower is better
Original code80861
GPT-6 Astra39.4406
GPT-6.1 Sol45.8455
Claude Opus 5.51741,410
Muse Wonder 1.057.81,250
Gemini 4 Argon31.51,400
DeepSeek V4.1 Flash97.61,730
Kimi K31117,010
Qwen 3.8 Max61.615,800
GLM 5.3 Flash12614,400
Step 5 Preview16216,000
GLM 5.358.316,100
Muse Spark 1.356,20028,100

How Claude Opus 5.5 approached it

  1. 1.

    A banded pass with checkpoints

    Since the exact distance is known, one forward pass only needs the band of rows that a path of that cost can reach. It runs Myers’ bit-parallel algorithm on blocks of 64 rows and saves the state at sparse checkpoint columns.

  2. 2.

    Strips traced right to left

    Starting from the end cell, it resolves the strips between checkpoints from right to left. A narrow strip is recomputed from its checkpoint with full storage, within a small memory budget, and traced back directly, skipping runs of matches along the diagonal.

  3. 3.

    Splitting wide strips

    For a wide strip, a short backward pass from the exit cell meets the checkpoint column. The row where the forward and backward costs add up to the known cost is where an optimal path enters, and the part in between is solved recursively, as in Hirschberg’s method.

  4. 4.

    A shortcut for similar pairs

    When the cost is small compared with the length, it uses a diagonal-transition search instead: for each cost, it tracks how far each diagonal can run along matches, then traces back from the end cell.

  5. 5.

    Columns in parallel

    The bit-parallel kernel runs as a skewed wavefront over several neighboring columns at once, so that their carry chains run side by side in AVX-512 or AVX2 vector registers when the processor has them.

Task and results from frontier-cs.org, as of October 20, 2026.