LaMBO2#

Type of optimizer algorithm: proteins only LaMBO2 (py3.10 in conda)

About#

This is an implementation of LaMBO2 as described in [Gruver et al., 2024]. We use the official GitHub implementation provided by Genentech underneath.

Note

A tutorial on optimizing thermal stability of RFP proteins is available in poli-baselines’ repository.

Another minimal example is available on Colab.

How to run#

Warning

This solver runs in a different conda environment than base. You will have to install cortex to run it:

pip install pytorch-cortex
import numpy as np

from poli.objective_repository import EhrlichProblemFactory

from poli_baselines.solvers.bayesian_optimization.lambo2 import (
    LaMBO2,
)

problem = EhrlichProblemFactory().create(
    sequence_length=10,
    motif_length=4,
    n_motifs=2,
    return_value_on_unfeasible=-1.0
)
f, x0 = problem.black_box, problem.x0

solver = LaMBO2(
    black_box=f,
    x0=x0,
)

See more#

References#

If you use this solver, we expect that you cite the following resources:

[1] Gruver, N., Stanton, S., Frey, N., Rudner, T. G. J., Hotzel, I., Lafrance-Vanasse, J., Rajpal, A., Cho, K., & Wilson, A. G. (2024). Protein design with guided discrete diffusion. Advances in Neural Information Processing Systems, 36.

[2] González-Duque, M., Bartels, S., & Michael, R. (2024). poli: a libary of discrete sequence objectives [Computer software]. MachineLearningLifeScience/poli


@article{Gruver:Lambo2:2024,
  title={Protein design with guided discrete diffusion},
  author={Gruver, Nate and Stanton, Samuel and Frey, Nathan and Rudner, Tim GJ and Hotzel, Isidro and Lafrance-Vanasse, Julien and Rajpal, Arvind and Cho, Kyunghyun and Wilson, Andrew G},
  journal={Advances in Neural Information Processing Systems},
  volume={36},
  year={2024}
}


@software{Gonzalez-Duque:poli:2024,
author = {González-Duque, Miguel and Bartels, Simon and Michael, Richard},
month = jan,
title = {{poli: a libary of discrete sequence objectives}},
url = {https://github.com/MachineLearningLifeScience/poli},
version = {0.0.1},
year = {2024}
}

API reference#