|
1 |
| -# Tutorials on protein optimization using poli |
| 1 | +# Protein optimization using `poli` |
2 | 2 |
|
3 | 3 | This book contains documentation on how to use `poli` and `poli-baselines`, our tools for creating and optimizing black box objective functions.
|
4 | 4 |
|
5 | 5 | At its core, `poli` allows you to isolate calls to complicated objective functions which might, for example, depend on simulators, binaries, or a weird version of the Java runtime.
|
6 | 6 | Our promise is: if you can run your objective function reliably in a `conda` environment, then you can register it and call it from other projects without having to worry about re-installing all the dependencies.
|
7 | 7 |
|
8 |
| -`poli` comes batteries-included. By this, we mean that there are already a collection of black box objective functions you could register and use out-of-the-box. Examples include: |
9 |
| -- standard white noise, |
10 |
| -- computing the stability of proteins and their mutations from a wildtype `pdb`, |
11 |
| -- optimizing the number of jumps Mario performs in a Super Mario Bros level sampled from the latent space of a Variational Autoencoder. |
12 |
| -- optimizing the QED and penalized logP of small molecules, presented as either SELFIES or SMILES. [WIP] |
| 8 | +`poli` comes batteries-included. By this, we mean that there are already a collection of black box objective functions you could register and use out-of-the-box. |
13 | 9 |
|
14 |
| -On top of `poli`, we provide `poli-baselines`, a collection of black-box optimization algorithms (focusing especially on *discrete* sequences). Examples include |
15 |
| -- Random mutations, |
16 |
| -- Evolutionary and genetic algorithms like CMA-ES, or NSGA-2 [WIP], |
17 |
| -- Bayesian Optimization in latent space [WIP]. |
| 10 | +## Black-box objective functions |
| 11 | + |
| 12 | +These are some objective functions available on `poli`. **For a full list**, check [getting started](./getting_started/getting_started.md). |
| 13 | + |
| 14 | +::::{grid} |
| 15 | +:gutter: 3 |
| 16 | + |
| 17 | +:::{grid-item-card} White noise |
| 18 | +:link: ./using_poli/objective_repository/white_noise.html |
| 19 | +:columns: 4 |
| 20 | +White noise drawn from a unit Gaussian |
| 21 | +::: |
| 22 | + |
| 23 | +:::{grid-item-card} Aloha |
| 24 | +:link: ./using_poli/objective_repository/aloha.html |
| 25 | +:columns: 4 |
| 26 | +A toy example about optimizing 5-letter words to spell "ALOHA" |
| 27 | +::: |
| 28 | + |
| 29 | +:::{grid-item-card} Protein Stability |
| 30 | +:link: ./using_poli/objective_repository/foldx_stability.html |
| 31 | +:columns: 4 |
| 32 | +Stability of mutations of a wildtype using `foldx` |
| 33 | +::: |
| 34 | + |
| 35 | +:::{grid-item-card} Mario jumps |
| 36 | +:link: ./using_poli/objective_repository/super_mario_bros.html |
| 37 | +:columns: 4 |
| 38 | +Optimizing the number of jumps on a Super Mario Bros level |
| 39 | +::: |
| 40 | + |
| 41 | +:::{grid-item-card} Small molecule properties |
| 42 | +:link: ./using_poli/objective_repository/small_molecule.html |
| 43 | +:columns: 4 |
| 44 | +Small molecule's synthesizability, druglikeness, and more. [WIP] |
| 45 | +::: |
| 46 | + |
| 47 | +:::{grid-item-card} RaSP |
| 48 | +:link: ./using_poli/objective_repository/RaSP.html |
| 49 | +:columns: 4 |
| 50 | +Rapid Stability Predictions of single mutations from a wildtype. [WIP] |
| 51 | +::: |
| 52 | + |
| 53 | +:::{grid-item-card} TDC oracles |
| 54 | +:link: ./using_poli/objective_repository/tdc_oracles.html |
| 55 | +:columns: 4 |
| 56 | +Some of the oracles provided by the Therapeutics Data Commons. [WIP] |
| 57 | +::: |
| 58 | + |
| 59 | +:::: |
| 60 | +## Black-box optimization algorithms |
| 61 | + |
| 62 | +On top of `poli`, we provide `poli-baselines`, a collection of **black-box optimization algorithms** (focusing especially on *discrete* sequences). Examples include |
| 63 | + |
| 64 | +::::{grid} |
| 65 | +:gutter: 3 |
| 66 | + |
| 67 | +:::{grid-item-card} Random Mutations |
| 68 | +:link: ./using_poli_baselines/random_mutations.html |
| 69 | +:columns: 4 |
| 70 | +Optimizing a discrete sequence by performing random mutations |
| 71 | +::: |
| 72 | + |
| 73 | +:::{grid-item-card} NSGA-2 |
| 74 | +:link: ./using_poli_baselines/nsga_2.html |
| 75 | +:columns: 4 |
| 76 | +A Genetic algorithm for optimizing more than one metric [WIP] |
| 77 | +::: |
| 78 | + |
| 79 | +:::{grid-item-card} CMA-ES |
| 80 | +:link: ./using_poli_baselines/cma_es.html |
| 81 | +:columns: 4 |
| 82 | +An evolutionary strategy for continuous problems [WIP] |
| 83 | +::: |
| 84 | + |
| 85 | +:::{grid-item-card} Latent Space Bayesian Optimization |
| 86 | +:link: ./using_poli_baselines/latent_space_bo.html |
| 87 | +:columns: 4 |
| 88 | +Learning continuous representations and optimizing in latent space. [WIP] |
| 89 | +::: |
| 90 | + |
| 91 | +:::{grid-item-card} Graph GA |
| 92 | +:link: ./using_poli_baselines/graph_ga.html |
| 93 | +:columns: 4 |
| 94 | +Graph Genetic Algorithms for small molecules. [WIP] |
| 95 | +::: |
| 96 | + |
| 97 | +:::: |
| 98 | + |
| 99 | +## Get started! |
18 | 100 |
|
19 | 101 | A good place to start is the next chapter! [Go to Getting Started](./getting_started/getting_started.md).
|
20 | 102 |
|
21 |
| -## Contents |
| 103 | +<!-- ## Contents of the book |
22 | 104 |
|
23 | 105 | ```{tableofcontents}
|
24 |
| -``` |
| 106 | +``` --> |
0 commit comments