# BAGEL ## Docs - [MonteCarloAnalyzer](https://bagel.softnanolab.com/bagel-api/analysis/analyzer.md) - [SimulatedTemperingAnalyzer](https://bagel.softnanolab.com/bagel-api/analysis/simulated-tempering-analyzer.md) - [Callback](https://bagel.softnanolab.com/bagel-api/callbacks/callback.md): Abstract base class for callbacks in the optimization process. - [DefaultLogger](https://bagel.softnanolab.com/bagel-api/callbacks/default-logger.md): Default file-based logger for scalar and sequence data. - [EarlyStopping](https://bagel.softnanolab.com/bagel-api/callbacks/early-stopping.md): Callback that monitors a metric and signals early stopping when it stops improving. - [FoldingLogger](https://bagel.softnanolab.com/bagel-api/callbacks/folding-logger.md): Logger that saves CIF structures and oracle attributes for a specific FoldingOracle instance. - [WandBLogger](https://bagel.softnanolab.com/bagel-api/callbacks/wandb-logger.md): Callback for logging metrics to Weights & Biases. - [Residue](https://bagel.softnanolab.com/bagel-api/core/chain.md): Standard amino acid object. - [Chain](https://bagel.softnanolab.com/bagel-api/core/chain-chain.md): Encodes residues and mutability of a monomeric chain, with functionality to read, write, and mutate the chain. - [State](https://bagel.softnanolab.com/bagel-api/core/state.md): A State is a multimeric collection of `Chain` objects with associated `EnergyTerm` objects. Chains can be independent of other States, or be shared between multiple States. - [System](https://bagel.softnanolab.com/bagel-api/core/system.md): Top level object defining the input for a protein design pipeline. In practice, a system will be a collection of states, each representing a (potentially different) collection of chains. - [ChemicalPotentialEnergy](https://bagel.softnanolab.com/bagel-api/energies/chemical-potential.md): An energy term that purely depends on the number of residues present in a system. Note for statistical mechanics: for some choice of parameters, adding this term is equivalent to making a simulation in the grand-canonical ensemble. - [EmbeddingsSimilarityEnergy](https://bagel.softnanolab.com/bagel-api/energies/embeddings-similarity.md): Energy terms measuring the cosine similarity between current embeddings and embeddings of a template. See paper: Rajendran et al. 2025 - to be published - [EnergyTerm](https://bagel.softnanolab.com/bagel-api/energies/energy-term.md): Standard energy term to build the loss (total energy) function to be minimized. Note that each energy term is a function of the structure and folding metrics. Also, note that each energy term has its own __init__ method, however, all common terms that must be initialized can be found in the __post__… - [FlexEvoBindEnergy](https://bagel.softnanolab.com/bagel-api/energies/flex-evo-bind.md): Energy that minimizes the 'average minimum distance' between two groups of residues. In practice, for each residue in the first group, it finds the closest residue in the second group and calculates the minimum distance between them. The minimum is over all possible pairs of atoms that make up the t… - [GlobularEnergy](https://bagel.softnanolab.com/bagel-api/energies/globular.md): Energy proportional to the moment of inertia of the structure around its centroid. This energy is minimized when the atoms belonging to a structure have the lowest possible distance from the centre, and, due to excluded volume effects that prevent collapse to a single point, helps forcing structures… - [HydrophobicEnergy](https://bagel.softnanolab.com/bagel-api/energies/hydrophobic.md): Energy Proportional to the amount of hydrophobic residues present. This is measured by the fraction of selected atoms that belong to hydrophobic residues (valine, isoleucine, leucine, phenylalanine, methionine, tryptophan). - [LISEnergy](https://bagel.softnanolab.com/bagel-api/energies/lis-energy.md): Energy representing the Local Interaction Score (LIS), a function of the PAE matrix. For each pair of residues with a PAE below a cutoff, the LIS contribution is (cutoff - PAE) / cutoff. The total score is either averaged over all qualifying pairs (intensive) or summed (extensive). - [OverallPLDDTEnergy](https://bagel.softnanolab.com/bagel-api/energies/overall-plddt.md): Overall Predicted Local Distance Difference Test energy. Unlike PLDDTEnergy, which averages pLDDT over specific residue groups only, OverallPLDDTEnergy averages pLDDT over all residues in the structure. This is useful when you want a measure of global structural confidence rather than per-group conf… - [PAEEnergy](https://bagel.softnanolab.com/bagel-api/energies/pae-energy.md): Energy that drives down the uncertainty in the predicted distances between two groups of residues. This uncertainty is measured by calculating the average normalised predicted alignment error of all the relevant residue pairs. - [PLDDTEnergy](https://bagel.softnanolab.com/bagel-api/energies/plddt-energy.md): Predicted Local Distance Difference Test energy. This is the spread of the predicted separation between an atom and each of its nearest neighbours. This translates to how confident the model is that the sequence has a single lowest energy structure, as opposed to a disordered, constantly changing st… - [PTMEnergy](https://bagel.softnanolab.com/bagel-api/energies/ptm-energy.md): Predicted Template Modelling score energy. This is a measure of how confident the folding model is in its overall structure prediction. - [RingSymmetryEnergy](https://bagel.softnanolab.com/bagel-api/energies/ring-symmetry.md): Energy that maximises the symmetry of different groups. Symmetry is measured by finding the centroid of the backbone of each group and checking how consistently they are spaced from one another. - [SecondaryStructureEnergy](https://bagel.softnanolab.com/bagel-api/energies/secondary-structure.md): Energy that drives the secondary structure of the selected residues to a given type. Calculated by finding the fraction of selected residues with the wrong secondary structure. Secondary structure types include alpha-helix, beta-sheet, and coil. - [SeparationEnergy](https://bagel.softnanolab.com/bagel-api/energies/separation.md): Energy that minimizes the distance between two groups of residues. The position of each group is defined as the centroid of the backbone atoms of the residues belonging of that group. - [SurfaceAreaEnergy](https://bagel.softnanolab.com/bagel-api/energies/surface-area.md): Energy term proportional to the amount of exposed surface area. This is measured by dividing the mean SASA (Solvent Accessible Surface Area) of the relevant atoms by the maximum possible SASA. - [TemplateMatchEnergy](https://bagel.softnanolab.com/bagel-api/energies/template-match.md): Energy that drives the structure to match an input-provided template. The difference with the template is always calculated by automatically considering the rotation and translation that best maximize the overlap with the template. - [Minimizer](https://bagel.softnanolab.com/bagel-api/minimizer/minimizer.md): Base class for energy minimization logic. - [MonteCarloMinimizer](https://bagel.softnanolab.com/bagel-api/minimizer/monte-carlo.md): Base class for Monte Carlo based minimization methods. - [SimulatedAnnealing](https://bagel.softnanolab.com/bagel-api/minimizer/simulated-annealing.md): Simulated annealing with linearly decreasing temperature schedule. - [SimulatedTempering](https://bagel.softnanolab.com/bagel-api/minimizer/simulated-tempering.md): Simulated tempering with cycling temperature schedule. - [Canonical](https://bagel.softnanolab.com/bagel-api/mutation/canonical.md): Canonical mutation protocol, making a substitution at random n residues. It cannot add or remove residues. - [GrandCanonical](https://bagel.softnanolab.com/bagel-api/mutation/grand-canonical.md): Grand canonical mutation protocol, making a substitution, addition or removal at random n residues. - [MutationProtocol](https://bagel.softnanolab.com/bagel-api/mutation/mutation-protocol.md) - [ESM-2](https://bagel.softnanolab.com/bagel-api/oracles/esm2.md): Object that uses ESM-2 to predict the embeddings of the residues in the chains. - [ESMFold](https://bagel.softnanolab.com/bagel-api/oracles/esmfold.md): Object that uses ESMFold to predict structure of proteins from sequence. - [Oracle](https://bagel.softnanolab.com/bagel-api/oracles/oracle.md): Oracles provide the predictions that energy terms use to evaluate protein designs - [BAGEL API Overview](https://bagel.softnanolab.com/bagel-api/overview.md): Python API reference for the BAGEL protein design library. - [Adding a Backend](https://bagel.softnanolab.com/boileroom-api/development/adding-a-backend.md): How to implement a new execution backend for boileroom. - [Adding a New Model](https://bagel.softnanolab.com/boileroom-api/development/adding-a-model.md): Step-by-step guide for integrating a new protein prediction model into the boileroom framework. - [Architecture Overview](https://bagel.softnanolab.com/boileroom-api/development/architecture.md): Understand the three-layer architecture that powers boileroom's backend-agnostic protein modeling framework. - [Contributing](https://bagel.softnanolab.com/boileroom-api/development/contributing.md): Complete contributor guide for boileroom, covering setup, testing, code quality, and the PR process. - [Getting Started](https://bagel.softnanolab.com/boileroom-api/getting-started.md): Getting started with boileroom API - [Boltz-2](https://bagel.softnanolab.com/boileroom-api/models/boltz2.md): Diffusion-based protein structure prediction with MSA support using the Boltz-2 model. - [Chai-1](https://bagel.softnanolab.com/boileroom-api/models/chai1.md): Diffusion-based protein structure prediction using the Chai-1 model. - [ESM2](https://bagel.softnanolab.com/boileroom-api/models/esm2.md): Protein language model for computing sequence embeddings using Meta's ESM-2. - [ESMFold](https://bagel.softnanolab.com/boileroom-api/models/esmfold.md): Fast single-sequence protein structure prediction using Meta's ESMFold model. - [boileroom API Overview](https://bagel.softnanolab.com/boileroom-api/overview.md): Python API reference for the boileroom protein prediction library — a unified, backend-agnostic interface to run protein prediction models on serverless or local infrastructure. - [Backends](https://bagel.softnanolab.com/boileroom-api/reference/backends.md): Modal (serverless) and Apptainer (local) backends for running boileroom models on GPU infrastructure. - [Configuration](https://bagel.softnanolab.com/boileroom-api/reference/configuration.md): How to configure boileroom models — static vs dynamic config keys, initialization vs per-call overrides. - [Output Types](https://bagel.softnanolab.com/boileroom-api/reference/output-types.md): Shared output types, cross-model field comparison, and include_fields filtering for boileroom models. - [Enzyme Variants](https://bagel.softnanolab.com/case-studies/enzyme-variants.md): Stub: BAGEL enzyme-variant workflows mapped to source scripts - [Simple Peptide Binder](https://bagel.softnanolab.com/case-studies/simple-peptide-binder.md): Stub: BAGEL peptide binder workflow mapped to source scripts - [Targeting Intrinsically Disordered Regions](https://bagel.softnanolab.com/case-studies/targeting-intrinsically-disordered-regions.md): Stub: BAGEL IDR-targeting workflows mapped to source scripts - [Concepts](https://bagel.softnanolab.com/concepts.md): Understand the core abstractions and design principles behind BAGEL - [Custom Callbacks](https://bagel.softnanolab.com/customization/custom-callbacks.md): Add custom logging, monitoring, and early stopping to optimization runs - [Custom Energy Terms](https://bagel.softnanolab.com/customization/custom-energy-terms.md): Define your own energy terms to encode design constraints - [Custom Minimizers](https://bagel.softnanolab.com/customization/custom-minimizers.md): Implement your own optimization strategy for protein design - [Custom Mutation Protocols](https://bagel.softnanolab.com/customization/custom-mutation-protocols.md): Define how BAGEL explores sequence space during optimization - [Custom Oracles](https://bagel.softnanolab.com/customization/custom-oracles.md): Plug in new ML models and prediction tools as BAGEL oracles - [Getting Started](https://bagel.softnanolab.com/getting-started.md): Install BAGEL and run your first protein design - [Introduction](https://bagel.softnanolab.com/index.md): BAGEL — Biomolecular Algorithm for Guidance in Energy Landscapes ## OpenAPI Specs - [openapi](https://bagel.softnanolab.com/api-reference/openapi.json)