Skip to main content
BAGEL is a modular, open-source Python framework for programmable protein engineering. It formalizes protein design as optimization over an energy landscape, letting you define arbitrary design objectives as energy terms and explore sequence space with gradient-free Monte Carlo methods.

Getting started

Getting Started

Install BAGEL and run your first protein design.

Concepts

Understand the energy landscape, system hierarchy, oracles, and Monte Carlo optimization.

Customization

Custom Energy Terms

Define your own energy terms to encode design constraints.

Custom Mutation Protocols

Control how BAGEL explores sequence space with custom mutation logic.

Custom Minimizers

Implement your own optimization or sampling strategy.

Custom Oracles

Plug in new ML models as oracles for structure, embeddings, or properties.

Custom Callbacks

Add custom logging, checkpointing, and early stopping to optimization runs.

Case studies

Simple Peptide Binder

Design a peptide binder from scratch.

Targeting IDRs

Design binders for intrinsically disordered regions.

Enzyme Variants

Design functional enzyme variants with conserved active sites.