Biotrainer
Biological prediction models made simple.
Overview
Biotrainer is an open-source framework that simplifies machine learning model development for protein analysis. It provides the following modules:
- Training: Easy to use training and inference pipelines for protein feature prediction
- Embedding: Built-in support for protein language models (ProtT5, ESM-2, ESM-C, ...) and baselines (blosum62, one_hot_encoding, ...)
- BioEngineer: Zero-shot predictions and mutation generation of protein sequences
- AutoEval: Automated evaluation of protein language models on curated downstream tasks
Quick Start
1. Installation
Install using pip:
pip install biotrainer
Manual installation using uv:
# First, install uv if you haven't already:
pip install uv
# Create and activate a virtual environment
uv venv
source .venv/bin/activate # On Unix/macOS
# OR
.venv\Scripts\activate # On Windows
# Basic installation
uv sync
# Installation with extras (jupyter, onnx, tensorboard)
uv sync --all-extras
# For Windows users with CUDA support:
# Visit https://pytorch.org/get-started/locally/ and follow GPU-specific installation, e.g.:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
2. Basic Usage
# Training
biotrainer train --config examples/training/sequence_to_class/config.yml
# Inference after Training
python3
>>> from biotrainer.training import BiotrainerModel
>>> model = BiotrainerModel.from_training_result("output/out.yml")
>>> predictions = model.predict("SEQUENCE")
# AutoEval
autoeval_report = (AutoEval(embedder_name="facebook/esm2_t6_8M_UR50D", development_mode=True).
pbc_supervised_contact().
pbc_zeroshot_contact().
pbc_supervised().
pgym(zero_shot_method=ZeroShotMethod.MASKED_MARGINALS).
run())
autoeval_report.summary(development_mode=False)
Note: Biocentral provides a more powerful CLI that uses biotrainer for local or remote model training. The biotrainer CLI is marked as deprecated and might be removed in a future release.
3. Quick Start Datasets
- Subcellular Localization Prediction
- Protocol:
sequence_to_class/residues_to_class - Citations and Download
- Protocol:
- Secondary Structure Prediction
- Protocol:
residue_to_class - Citations and Download
- Protocol:
Features
Supported Training Protocols
- Residue-level classification (
residue_to_class) - Residue-level regression (
residue_to_value) [BETA] - Sequence-level classification (
sequence_to_class) - Sequence-level regression (
sequence_to_value) - Residues-level classification (
residues_to_class, like sequence_to_class with per-residue embeddings) - Residues-level regression (
residues_to_value, like sequence_to_value with per-residue embeddings)
Autoeval
The biotrainer autoeval module allows automatical evaluation of a protein language model on downstream tasks.
You can find public results (wip!) on the autoeval dashboard and compare them
to your own. Learn more in the autoeval examples.
Documentation
Tutorials
- First Steps Guide
- Interactive Training Tutorial
- Config Options Overview
- Biocentral Web Interface (Biotrainer Frontend)
Detailed Guides
Example Training Configuration
protocol: residue_to_class
input_file: input.fasta
model_choice: CNN
optimizer_choice: adam
learning_rate: 1e-3
loss_choice: cross_entropy_loss
use_class_weights: True
num_epochs: 200
batch_size: 128
embedder_name: Rostlab/prot_t5_xl_uniref50
Docker Support
# Run using pre-built image
docker run --gpus all --rm \
-v "$(pwd)/examples/docker":/mnt \
-u $(id -u ${USER}):$(id -g ${USER}) \
ghcr.io/sacdallago/biotrainer:latest /mnt/config.yml
More information on running docker with gpus: Nvidia container toolkit
Getting Help
- Check our Troubleshooting Guide
- Create an issue
- Visit biocentral.cloud
Citation
@inproceedings{
sanchez2022standards,
title={Standards, tooling and benchmarks to probe representation learning on proteins},
author={Joaquin Gomez Sanchez and Sebastian Franz and Michael Heinzinger and Burkhard Rost and Christian Dallago},
booktitle={NeurIPS 2022 Workshop on Learning Meaningful Representations of Life},
year={2022},
url={https://openreview.net/forum?id=adODyN-eeJ8}
}
Metadata
Release files for biotrainer 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| biotrainer-2.1.0.tar.gz | 188.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| biotrainer-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 449.1 kB
Release files / biotrainer-2.1.0.tar.gz
| Download URL | biotrainer-2.1.0.tar.gz |
|---|---|
| Size | 188.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de1a19d2a716d273c132e741c947373ee89261faa01cad414ef0cc311fb7c043
|
|
BLAKE2b-256 checksum How to use checksums |
bdc08d1301bab01229e3d2f3bc81ae347162808da2943652e6272ea19ae3fcda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|
Release files / biotrainer-2.1.0-py3-none-any.whl
| Download URL | biotrainer-2.1.0-py3-none-any.whl |
|---|---|
| Size | 260.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
709cfb6c268aaff9f82d3aaddc5008090fab95d16eda386553ef935c87fba77f
|
|
BLAKE2b-256 checksum How to use checksums |
9a16db79b9d9b1d244061f96aaa506c568878e21a860e85b8b48cdcbb08d823f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|