biolm.pipeline

Multi-stage protein design pipelines with DuckDB caching, resumability, and dependency resolution. See Python SDK overview for SDK onboarding.

Overview

The pipeline framework provides:

  • Multi-stage orchestration with automatic dependency resolution

  • DuckDB caching for predictions, embeddings, and structures

  • Resumability — skip completed stages on re-run

  • Streaming for large datasets

  • Visualization — funnel plots, PCA/UMAP, distributions

Quick start

python
from biolm.pipeline import GenerativePipeline, SaturationMutagenesisConfig

config = SaturationMutagenesisConfig(
    parent_sequence="MKTAYIAKQRQ",
    scoring_model="esm2-650m",
    scoring_action="predict",
    score_field="logits",
    top_n=10,
)
pipeline = GenerativePipeline(configs=[config])
results = pipeline.run()

Config hierarchy

All pipeline configs inherit from ScoringProtocolConfig. Use isinstance to dispatch on config type:

python
from biolm.pipeline.generative import (
    ScoringProtocolConfig,
    GenerativeProtocolConfig,
    SaturationMutagenesisConfig,
    IterativeMaskingDMSConfig,
    DirectGenerationConfig,
)

if isinstance(config, SaturationMutagenesisConfig):
    pipeline = GenerativePipeline(configs=[config])
elif isinstance(config, DirectGenerationConfig):
    pipeline = GenerativePipeline(configs=[config])
text
ScoringProtocolConfig
├── SaturationMutagenesisConfig
├── IterativeMaskingDMSConfig
└── DirectGenerationConfig (extends GenerativeProtocolConfig)

Model quick-reference

Config type

Model

Action

Notes

SaturationMutagenesisConfig

esm2-650m

predict

Single-mutant library + scoring

IterativeMaskingDMSConfig

esm2-650m

predict

Greedy MLM argmax DMS

DirectGenerationConfig

proteinmpnn / dsm / antifold

generate

Structure-conditioned generation

Config classes

Field details are documented on each class below.

Pipeline examples

Saturation mutagenesis funnel:

python
from biolm.pipeline import GenerativePipeline, SaturationMutagenesisConfig

config = SaturationMutagenesisConfig(
    parent_sequence="MKTAYIAKQRQ",
    scoring_model="esm2-650m",
    scoring_action="predict",
    score_field="logits",
    top_n=10,
)
pipeline = GenerativePipeline(configs=[config])
results = pipeline.run()

Direct generation (ProteinMPNN):

python
from biolm.pipeline import GenerativePipeline, DirectGenerationConfig

config = DirectGenerationConfig(
    model_name="protein-mpnn",
    structure_path="design.pdb",
    num_sequences=10,
)
pipeline = GenerativePipeline(configs=[config])
results = pipeline.run()

Serialization and resumability

Pipeline definitions can be serialized with PipelineDef for round-trip storage. DuckDB caches predictions and embeddings so re-runs skip completed work.

We speak the language of bio-AI

© 2022 - 2026 BioLM. All Rights Reserved.