All tools

Tool guide 01

SeqTrainer BenchLab

A local-first application for inspecting a labeled DNA sequence dataset, planning a benchmark, running small local baselines, and exporting reproducibility files.

What this tool is

BenchLab is mainly the experiment-planning and benchmarking preparation step. It helps you check whether your data is usable, choose preprocessing and split settings, run practical baseline models, and hand the same settings to later local, Colab, Docker, or HPC work.

Input

A CSV or TSV with one DNA sequence column and one numeric label column.

Output

A dataset summary, benchmark plan, run_config.json, and optional local results bundle.

Use this tool when

  • You have a labeled CSV or TSV and need to inspect columns, labels, and balance.
  • You want a reproducible benchmark plan before training heavier models elsewhere.
  • You want to run verified small local baselines such as linear regression, random forest, or gradient boosting.

Do not use it when

  • You need BenchLab itself to train DNABERT2, CNN, or iPro-MP.
  • You need GPU/HPC job submission from this website.
  • You only have FASTA sequences without labels for a supervised benchmark.

What you need before starting

example.csv
sequence,label
ATGCGTACGTAG,1
TTTACCGGATCA,0
GCGCGTATATGC,1

FASTA files normally contain sequences but not classification labels. A supervised benchmark needs labels in a table or a compatible metadata source.

Where the step runs

The local Python setup starts BenchLab on your own computer at port 8001. The Docker path commonly maps the container to port 8000. Seq Design Buddy is not BenchLab and does not receive your dataset.

Windows PowerShell
git clone https://github.com/simplyshree/seqtrainer-benchlab.git
cd seqtrainer-benchlab

py -3.11 -m venv .venv
.\.venv\Scripts\activate

python -m pip install -r requirements.txt

python -m uvicorn app.main:app --host 127.0.0.1 --port 8001 --reload
macOS/Linux
git clone https://github.com/simplyshree/seqtrainer-benchlab.git
cd seqtrainer-benchlab

python3.11 -m venv .venv
source .venv/bin/activate

python -m pip install -r requirements.txt

python -m uvicorn app.main:app --host 127.0.0.1 --port 8001 --reload

Then open http://127.0.0.1:8001.

Docker port pattern
docker build -t seqtrainer-benchlab .
docker run --rm -p 8000:8000 seqtrainer-benchlab

Exact beginner steps

  1. 1Start BenchLab locally and select Beginner mode.
  2. 2Open Dataset and choose your CSV or TSV in BenchLab.
  3. 3Confirm the sequence column and target label column.
  4. 4Review row count, class counts, sequence lengths, missing values, and class imbalance warnings.
  5. 5Optionally preview preprocessing.
  6. 6Open Benchmark and either run a small local baseline or export the benchmark configuration without training.
  7. 7Open Results and download the generated bundle.

Expected output files

run_config.json

Experiment settings and dataset identity.

benchmark_plan.json

The benchmark you intend to run.

dataset_manifest.json

Dataset identity and checksum.

preprocessing_config.json

Sequence processing settings.

training_config.json

Model and training settings.

requirements.lock.txt

Python dependency snapshot.

environment.yml

Conda environment description.

Dockerfile.repro

Instructions for replaying the environment.

metrics.json

Results only when a model was actually run.

predictions.csv

Row-level predictions when available.

The raw dataset is not stored inside run_config.json. A collaborator still needs the original dataset.

How to confirm success

  • The dataset summary shows the expected row count and detected sequence/label columns.
  • A plan-only export downloads configuration files even if metrics and predictions are empty.
  • A small local benchmark writes metrics and predictions for the verified baseline models that actually ran.

Common problems

  • FASTA files usually lack labels, so use CSV/TSV for supervised promoter classification.
  • Importing JSON before loading the matching dataset can leave settings incomplete.
  • Local Python and Docker examples use different ports; check the command you ran.

What to do next

Use the exported plan to run heavier model work in SeqTrainer, Colab, Docker, or HPC. When you have a completed checkpoint and matching manifest, move to SeqTrainer annotation.

Open BenchLab GitHub repositoryRead BenchLab READMERead beginner manual