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
sequence,label
ATGCGTACGTAG,1
TTTACCGGATCA,0
GCGCGTATATGC,1FASTA 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.
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 --reloadgit 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 --reloadThen open http://127.0.0.1:8001.
docker build -t seqtrainer-benchlab .
docker run --rm -p 8000:8000 seqtrainer-benchlabExact beginner steps
- 1Start BenchLab locally and select Beginner mode.
- 2Open Dataset and choose your CSV or TSV in BenchLab.
- 3Confirm the sequence column and target label column.
- 4Review row count, class counts, sequence lengths, missing values, and class imbalance warnings.
- 5Optionally preview preprocessing.
- 6Open Benchmark and either run a small local baseline or export the benchmark configuration without training.
- 7Open Results and download the generated bundle.
Expected output files
run_config.jsonExperiment settings and dataset identity.
benchmark_plan.jsonThe benchmark you intend to run.
dataset_manifest.jsonDataset identity and checksum.
preprocessing_config.jsonSequence processing settings.
training_config.jsonModel and training settings.
requirements.lock.txtPython dependency snapshot.
environment.ymlConda environment description.
Dockerfile.reproInstructions for replaying the environment.
metrics.jsonResults only when a model was actually run.
predictions.csvRow-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.