Skip to main content

Biotrainer

License Documentation GitHub release (latest by date)

biotrainer logo
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

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

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

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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biotrainer 2.1.1
File Size Uploaded
biotrainer-2.1.1.tar.gz 188.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for biotrainer 2.1.1
File Interpreter ABI Platform
biotrainer-2.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 449.2 kB

Release files / biotrainer-2.1.1.tar.gz

Download URL biotrainer-2.1.1.tar.gz
Size 188.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b192fa8132085269da6ebd03a182d76c27d4f19c9ef8eb0f89ea3edc72113f5b
BLAKE2b-256 checksum
How to use checksums
3823766846b9b85ec177df8eb19763685671c2d2e227e727767881db4ec3c0b5
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.1-py3-none-any.whl

Download URL biotrainer-2.1.1-py3-none-any.whl
Size 260.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
17bbfde27b3d79ba7a3008625a4841e18e18d3f866d643be8149d2db6962773e
BLAKE2b-256 checksum
How to use checksums
127e048899155da5b97147cde849d1de3e84891f7bd4df7a936d8f4627e09da0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page