BioStudyBench
Harbor: pendingA benchmark of 25 long-horizon agentic tasks requiring AI agents to reproduce findings from post-cutoff biomedical studies using public data and restricted tools.
- Samples
- 25
- Released
- 2026
- Scores
- 8
BixBench (Bioinformatics Analysis Benchmark)
bixbench — AI evaluation benchmark listed by harbor hub.
$ npm i -g lettokenburn-cli$ ltb bench run futurehouse/bixbench@1 --benchmark bixbench -a claude-code -m anthropic/claude-opus-4-8$ ltb bench push
Harbor-native: you can also call Harbor directly.
$ harbor run -d futurehouse/bixbench@1 -a claude-code -m anthropic/claude-opus-4-8
Runs happen on your machine with your own subscription; only the score summary is pushed. CLI docs
No sourced scores recorded yet.
Every number links to where it was published. Low-confidence rows are muted and need per-cell verification.
This adapter converts BixBench benchmark tasks into Harbor-compatible tasks, enabling evaluation of reasoning agents on real-world computational biology data analysis problems. BixBench evaluates a model's ability to explore biological datasets, perform multi-step computational analyses, and interpret results in the context of research questions.
This Harbor adapter enables evaluating on BixBench tasks within Harbor's unified framework, supporting both notebook-based and terminal-based execution models.
---
BixBench is a benchmark designed to evaluate AI agents on real-world bioinformatics tasks. Each task contains:
Metrics: Resolve rate is defined as the fraction of correctly answered questions.
---
BixbenchJupyterAgent that interacts with fhda's notebook environment via nbcli interface.codex and claude code---
datasets/bixbench/
├── environment
│ ├── data_folder.txt
│ └── Dockerfile
├── instruction.md
├── solution
│ └── solve.sh
├── task.toml
└── tests
├── ground_truth.json
├── llm_judge.py
└── test.shEach task corresponds to a single BixBench problem with its associated questions and data files.
The adapter template directory mirrors this layout under harbor/adapters/bixbench/src/bixbench/task-template/:
adapters/bixbench/
├── bixbench.yaml # job configuration file to run full 205 tasks with the jupyter agent
├── bixbench-cli.yaml # job configuration file to run full 205 tasks with the terminal agent (codex+gpt5)
├── create_parity_subset.py # create 50 tasks subset deterministically
├── oracle.yaml # job configuration file to run full 205 tasks with the oracle agent
├── parity_experiment.json # parity experiment results and meta data
├── parity_subset50.yaml # job configuration file to run 50 tasks with the jupyter agent
├── pyproject.toml # dependencies needed by adapter.py and custom_agent
├── uv.lock # pinned dependency versions
├── README.md # this file
└── src/bixbench
├── adapter.py # the adapter itself that packages harbor tasks
├── main.py # cli wrapper of adapter.py
├── custom_agent # custom jupyter agent that mirror the original custom agent
│ ├── __init__.py
│ └── agent.py
└── task-template # task template
├── environment
│ ├── Dockerfile
│ ├── Dockerfile-cli
│ ├── download_capsule.py # used by Docker; unavailable to agents
│ ├── entrypoint.sh
│ └── nbcli # custom installed package
│ ├── nbcli
│ │ ├── __init__.py
│ │ ├── cli.py # cli wrapper of the server
│ │ └── server.py # maintains a persistent gym env
│ ├── pyproject.toml
│ └── README.md
├── instruction-cli.md
├── instruction.md
├── solution
│ └── solve.sh # cat to answer.txt
├── task.toml
└── tests
├── llm_judge.py # queries remote judge to compare submitted answer and reference answer
└── test.sh # run llm_judge---
Harbor Registry & Datasets makes running adapter evaluation easy and flexible.
Simply run
# Use oracle agent
uv run harbor run -d bixbench
# Use the SimpleAgent from the original benchmark (no image, gpt-4o)
uv run harbor run -d bixbench \
--agent-import-path bixbench.custom_agent:BixbenchJupyterAgent
# Use your specified agent and model
uv run harbor run -d bixbench -a <agent_name> -m "<model_name>"from the harbor root to evaluate on the entire dataset.
However, if you choose to prepare the task directories locally and/or with custom versions/subsets for evaluation, you may either use harbor run or harbor trial. Instructions for using the adapter code to prepare task directories are provided in the [Usage](#usage-create-task-directories) section.
From harbor root directory
# Run the jupyter notebook agent version uv run harbor run -c adapters/bixbench/bixbench.yaml # Run the terminal agent version uv run harbor run -c adapters/bixbench/bixbench-cli.yaml
Or without config:
uv run harbor run -p datasets/bixbench --agent-import-path bixbench.custom_agent:BixbenchJupyterAgent
uv run harbor job resume -p /path/to/jobs/directory
Results are saved in the jobs/ director