EVOLVEpro
EVOLVEpro EvolvePro
Peer-reviewed Prospective flag Direct antibody flagSummary card
| Поле | Значение |
|---|---|
| Год / version | 2025 / NR |
| Last verified | 2026-08-27 |
| Что генерирует | Ranked single or multi-mutant variants for next round |
| Форматы | General proteins and antibody examples |
| De novo или optimization | Optimizes existing protein |
| DOI | 10.1126/science.adr6006 |
| Paper | https://doi.org/10.1126/science.adr6006 |
| GitHub / repo | https://github.com/mat10d/EvolvePro |
| Service / docs | NR |
| Лицензия | Repository license file present; exact SPDX NR in this pass |
| Доступность / commercial-use | Open code |
Задача и generated object
Used in these tasks: Few-shot active learning, ML-guided directed evolution, Affinity maturation
Part of these workflows: Few-shot / labelled mutation optimization
| Поле | Значение |
|---|---|
| Required input | Parent sequence, defined mutational library and ≥~10 experimental labels per round |
| Conditioning | User-defined mutational space; single/multi-mutant workflows |
| Fixed | NR |
| Editable | NR |
| Generated | Ranked single or multi-mutant variants for next round |
| Single mutations | Yes |
| Combinatorial mutations | Yes in iterative workflow |
| Multi-objective | Yes—repository describes multiple properties; evidence depends on campaign |
Architecture and operating principle
Author-reported (matrix)| Поле | Значение |
|---|---|
| Base architecture | NR |
| Model type | 6 Mutation generator / optimization workflow |
| Representation | NR |
| Generation unit | Ranked single or multi-mutant variants for next round |
| Conditioning | User-defined mutational space; single/multi-mutant workflows |
| Output | Ranked single or multi-mutant variants for next round |
| Sampling | NR |
| Internal scorer | Supervised regression on PLM embeddings |
| Structure generation | No |
Input representation
NR
| Поле | Значение |
|---|---|
| Node features | NR |
| Edge / pair features | NR |
Encoder и decoder
NR
| Поле | Значение |
|---|---|
| Encoder | NR |
| Decoder | NR |
Latent or generative state
NR
Conditioning mechanism
User-defined mutational space; single/multi-mutant workflows
Generation mechanism
Protein-LM embeddings + lightweight regression/random forest + iterative acquisition
Sampling: NR
Training objectives
NR
Losses: NR
Mathematical details: NR
Integrated evaluation
Supervised regression on PLM embeddings
Architectural limitations
- Not zero-shot.
- performance depends on assay noise/library definition.
- active-learning rounds and experimental turnaround dominate.
Uses these architecture components: Protein language models, Active learning, Few-shot mutation optimization
Generator versus evaluation
| Component | Role | Architecture class | Integrated or external | Required or optional | Influences generation or post hoc | Runtime included or excluded |
|---|---|---|---|---|---|---|
| Active-learning acquisition proposes variants | primary_generator | Protein-LM embeddings + lightweight regression/random forest + iterative acquisition | integrated | required | generation | included |
| Supervised regression on PLM embeddings | integrated_scorer | NR | integrated | optional | post_hoc | unknown |
| Assay is mandatory; structure/developability optional by objective | mandatory_external_dependency | NR | external | required | post_hoc | excluded |
| Experimental binding/function assays | experimental_validation | NR | external | required | post_hoc | excluded |
Training data и biases
| Поле | Значение |
|---|---|
| Training data | NR |
| Preprocessing | NR |
| Negative examples | NR |
| Fine-tuning | NR |
| Label requirements | NR |
| Training hardware | NR |
| Training time | NR |
Inference hardware и runtime
| Поле | Значение |
|---|---|
| Candidate count | NR |
| Batch size | NR |
| Generation steps | NR |
| Recycles | NR |
| Size | NR |
| Reported runtime | NR |
| Runtime boundary | NR |
| CPU | NR |
| GPU | NR |
| VRAM | NR |
| RAM | NR |
| Disk | NR |
| Databases | NR |
Experimental evidence
| Поле | Значение |
|---|---|
| Evidence class | 4 prospective functional validation |
| Retrospective | Six proteins across reported applications; minimal rounds can use ~10 labels, but campaign sizes vary |
| Prospective binding | Up to 100× property improvement across tasks; cannot generalize this number to antibodies |
| Prospective function | Up to 100× property improvement across tasks; cannot generalize this number to antibodies |
| Developability | NR |
| Tested design count | Six proteins across reported applications; minimal rounds can use ~10 labels, but campaign sizes vary |
| Success criterion | Up to 100× property improvement across tasks; cannot generalize this number to antibodies |
| Independent validation | NR |
| Summary | Up to 100× property improvement across tasks; cannot generalize this number to antibodies |
Limitations and failure modes
- Not zero-shot.
- performance depends on assay noise/library definition.
- active-learning rounds and experimental turnaround dominate.
Deployment: Limited pilot when assay data exist
Reproducibility, license, commercial use
| Поле | Значение |
|---|---|
| Repo | https://github.com/mat10d/EvolvePro |
| License | Repository license file present; exact SPDX NR in this pass |
| Commercial-use status | Open code |
Related tools
Alternative tools: NR
Complementary: NR
Related: NR
Not directly comparable with
Efficient evolution with ESM-1v, FrameDiff, RFdiffusion, RFdiffusion All-Atom (RFdiffusionAA), Structural evolution (ESM-IF1 complex)Depends on these external modules
NR
Related glossary terms
Active learning, Few-shotPrimary paper и полный список источников
Few-shot learning for protein evolution with EVOLVEproSource matrix: landscape xlsx, last verified 2026-08-13.
Review queue
- Bibliographic title must be verified against the PDF.
Детальный source-grounded разбор
Недоступные или неполные источники
| Источник | Почему недоступен | Что использовано вместо |
|---|---|---|
| Science 10.1126/science.adr6006 full text | Paywall | bioRxiv 10.1101/2024.07.17.604015 HTML; GitHub implementation |
| Science Supporting Information / Data S1 полный файл | Не скачан | Preprint Methods описывает grid search; детали PCA «не помог» — по preprint |
EVOLVEpro не генерирует de novo sequences из шума. Это few-shot ранжировщик вариантов в заранее заданном пуле: frozen PLM embeddings + top-layer regressor, итеративно обучаемый на experimental labels. Default acquisition released code — top-N по $\hat y$, не UCB/EI/PI/BALD.
Происхождение источников
| Метка | Источник | Ссылка | Примечание |
|---|---|---|---|
| [PAPER] | Jiang et al., bioRxiv 10.1101/2024.07.17.604015 | https://doi.org/10.1101/2024.07.17.604015 | NR |
| [PAPER] | Jiang et al., Science 10.1126/science.adr6006 (метаданные; полный текст NR) | https://doi.org/10.1126/science.adr6006 | NR |
| [CODE] | https://github.com/mat10d/EvolvePro | https://github.com/mat10d/EvolvePro | commit 1c77697d0c09bf6989a1562a55da99301a12e2cd |
| Поле | Значение |
|---|---|
| Репозиторий | https://github.com/mat10d/EvolvePro |
| Commit | 1c77697d0c09bf6989a1562a55da99301a12e2cd |
| Ветка / tag | main |
| Лицензия | NR в этом проходе (файл LICENSE не цитировался целиком) |
Проверенные файлы реализации:
evolvepro/src/model.pyevolvepro/src/evolve.pyevolvepro/src/data.pyevolvepro/src/process.pyREADME.md
1. Что именно делает инструмент
[CODE]Вход: parent / WT FASTA, таблица experimental activity по вариантам, матрица PLM embeddings для того же набора variant ID. Пул $\mathcal{X}$ задаётся пользователем (single- и/или multi-mutant файлы). evolve_experimental / load_experimental_embeddings
[CODE]Выход: таблица y_pred по ещё не измеренным вариантам и ranked shortlist на следующий round. Это не sampled FASTA из generative LM и не 3D-структура.
[PAPER]Фиксируется: PLM веса (не fine-tune под activity в описанном методе). Изменяется: набор измеренных labels и, следовательно, fit top-layer; выбранные mutants для синтеза/assay. preprint: frozen embeddings + top layer
[PAPER]Parent-based optimization, не de novo topology. Generated object каталога: ranked mutation set / next-round library.
2. Архитектура в одном абзаце
[PAPER]Каждый вариант $s$ отображается pretrained protein language model в вектор $E(s)$ (оптимальная конфигурация preprint: ESM-2 15B, residue-pooled average embeddings). На накопленных парах $(E(s),y)$ обучается sklearn-регрессор; default и победитель grid search — RandomForestRegressor. Следующая партия — $k$ вариантов с наибольшим $\hat y$ (learning_strategy='topn'). Раунд 0 в оптимальной DMS-конфигурации — random (не medoids). PLM не дообучается на fitness. preprint grid search; CODE defaults
4. Математическая модель
[CODE]Другие learning_strategy в симуляции: random, dist (max min-Euclidean distance в embedding к train — exploration), topn2bottomn2. Это не EI/PI. regression_type может быть ridge/lasso/elasticnet/linear/neuralnet/randomforest/gradientboosting/knn/gp — но experimental path жёстко вызывает randomforest. evolve.py directed_evolution_simulation; evolve_experimental regression_type='randomforest'
regression_type.| Символ | Тип | Определение |
|---|---|---|
| $E(s)$ | vector | PLM embedding варианта |
| $f_phi$ | function | top-layer regressor |
| $U_t$ | set | ещё не измеренные варианты в таблице embeddings |
| $k$ | integer | num_mutants_per_round (DMS sim. часто 16; experimental default number_of_variants=12 для печати top) |
Нет $\kappa\sigma(x)$. Переменные std_predictions в dataframe — нули.
friedman_mse), не выписанный авторами как одна формула в preprint HTML.5. Физическое устройство состояния
[CODE]Состояние цикла: множество sequences (mutation strings), их embeddings, скаляр activity (и производные activity_scaled, activity_binary в DMS-таблицах). Нет atom coordinates, residue frames, torsion, interface tensors. «Мутация» — идентификатор варианта в таблице, не 3D-трансформация.
6. Физико-химическая интерпретация
[PAPER]Sequence compatibility с семейством белка может присутствовать косвенно в ESM-2. Fold, packing, H-bonds, электростатика, гидрофобность, конформационные ограничения — не явные. Evolutionary prior — в frozen PLM. Функция — только в labels. Preprint: activity landscape часто не коррелирует или отрицательно коррелирует с ESM-2 predicted masked marginal (pMMS) «fitness» — поэтому zero-shot PLM scoring не заменяет AL-цикл. preprint Results, PLM fitness vs activity
7. Training
[PAPER]PLM: pretrained (ESM-2 и сравнение ESM-1, UniRep, ProtT5, ProteinBERT, Ankh, one-hot, integer). Не fine-tune на activity в описанном методе.
[PAPER]Top-layer: каждый round fit на всех накопленных labels. Grid search на 12 DMS datasets: победили random first round, random forest, residue-pooled average embeddings, top-N. PCA embeddings не улучшили (Methods / Data S1 в preprint). preprint Methods, grid search
[PAPER]DMS-симуляция: 16 mutants/round, порядка 10 раундов; тестировали 10–100/round. Few-shot 5×16 ≈ 80 измеренных vs упоминание порядка pretrain 160/500 в тексте preprint — точные цифры сравнения few-shot vs linear probing см. preprint; здесь не выдумывать сверх HTML.
NRHardware PLM embedding: NR в этом проходе. RF на CPU — лёгкий. Negative sampling как в contrastive learning — нет.
8. Inference
[CODE]Подготовка: посчитать embeddings для всего пула; собрать CSV раундов. Кандидаты: все rows без iteration label. Нет diffusion, recycles, temperature decoding. number_of_variants в evolve_experimental — сколько top строк напечатать (default 12), не обязательно бюджет синтеза. В симуляции num_mutants_per_round задаёт $|B_t|$.
[PAPER]Prospective preprint: REGN10987 — 11 mutants/round, 5 rounds (не 16). Не путать симуляционный default с каждой кампанией.
10. Почему, по мнению авторов, метод эффективен
[PAPER]Proposed mechanism. Frozen large PLM даёт informative features даже при десятках labels; лёгкий nonlinear surrogate ловит landscape activity, который не совпадает с unsupervised PLM fitness; итеративный отбор направляет бюджет на высокие $\hat y$.
[PAPER]Author claim (preprint). Few-shot learning с PLM ускоряет directed evolution across proteins, включая antibody example; multi-objective T7 RNAP. Формулировка Science «up to 100×» в матрице сайта не верифицирована по журнальному PDF в этом выпуске — не переносить как универсальный antibody result.
[PAPER]Evidence. (i) Retrospective DMS simulations vs random и vs другими эмбеддингами/регрессорами. (ii) Prospective кампании: REGN10987 ELISA vs spike; PsaCas12f; PE2 RT; Bxb1; T7 RNAP. (iii) Ablation-like grid search по strategy/regressor/PLM.
[INTERPRETATION]Causal support. Выбор RF + top-N + ESM-2 15B поддержан grid search на DMS (ablation-like, не prospective). Prospective gains — overall campaign success, не изолированный абляционный фактор на каждой кампании. Связь «именно average pooling причина» — из grid search, не из мокрой лаборатории.
12. Ablation analysis
[PAPER]Preprint grid search на 12 DMS: варьировали first-round strategy, discriminator/regressor, embedding pooling, selection rule, PLM family. Оптимум указан выше. PCA не помог. Это ретроспективная симуляция, не wet-lab ablation. Статистика различий между всеми 12 DMS в этом проходе не перенесена таблично из фигур — см. preprint figures / Data S1 (SI файл не скачан).
13. What the model does not represent
- Явный растворитель, протонирование, ионы, гликозилирование, металлы
- Конформационная энтропия и MD
- Структура комплекса и epitope geometry
- Истинная $\Delta G$ / $K_d$ (ELISA improvement ≠ thermodynamic affinity без отдельной калибровки)
- Экспрессия, агрегация, иммуногенность — кроме случаев, когда они измерены как $y$ (T7 multi-objective)
- De novo CDR backbone
14. Evidence and limitations
[PAPER]Prospective antibody example preprint — REGN10987, ELISA vs spike, 63% ELISA improvement, IC50 11.9 nM (цифры preprint HTML). Landscape-матрица сайта упоминает C143 — возможное расхождение версий paper/matrix; Science не сверен. Не обобщать 100× property improvement на все antibodies.
[INTERPRETATION]DMS simulation ≠ новый терапевтический антиген. Assay noise и определение library критичны. Не zero-shot.
15. Reproducibility
[CODE]Repo https://github.com/mat10d/EvolvePro commit 1c77697d0c09bf6989a1562a55da99301a12e2cd. Также встречается https://github.com/idmjky/EvolvePro и Zenodo 10.5281/zenodo.13899358 — не инспектировались целиком. Hardcoded output path в evolve_experimental указывает на внутренний кластер /orcd/archive/... — практический барьер воспроизведения без правки пути. default output_dir in evolve.py
Физико-химический смысл
| Признак или операция модели | Физико-химическая интерпретация | Прямо / косвенно / внешне | Важное ограничение |
|---|---|---|---|
| PLM embedding | evolutionary sequence statistics | косвенно, pretrained | не энергия и не affinity |
| RF y_pred | эмпирический fit к assay | прямо к y, не к физике | extrapolation вне library опасен |
| top-N | exploitation | правило отбора | нет exploration через σ |
Модульная схема
| Модуль | Класс модели | Вход | Выход | Обучается или frozen | Generator или evaluator |
|---|---|---|---|---|---|
| PLM encoder (ESM-2 и др.) | pretrained protein LM | amino-acid sequence | per-residue or pooled embedding | frozen для activity-цикла | feature extractor, не generator |
| Top-layer surrogate | sklearn RF / optional other regressors | embedding matrix + labels | y_pred (std не используется) | обучается каждый раунд | evaluator / ranker |
| Acquisition / batch picker | rule-based sort (topn, dist, random, topn2bottomn2) | y_pred или dist_metric | список variant ID | необучаемое правило | selection (не generative sampler) |
| Assay | эксперимент | синтезированные варианты | новые y | n/a | experimental validation |
Generator versus evaluator
| Компонент | Роль | Integrated или external | Required или optional | Влияет на generation или только ранжирует после |
|---|---|---|---|---|
| PLM embeddings | представление x | integrated (скрипты plm/) | required | косвенно: features для ranking, не sampling tokens |
| Random forest y_pred | integrated scorer | integrated | required в experimental path | определяет, кто попадёт в следующий round (generation of the batch), не последовательность de novo |
| top-N rule | batch selector | integrated | required (default) | generation of experimental batch |
| ELISA / activity assay | experimental_validation | external | required для AL | labels only after the fact |
Claim–evidence matrix
| Утверждение | Предполагаемый механизм | Тип evidence | Датасет / эксперимент | Comparator | Метрика / результат | Источник | Оговорка |
|---|---|---|---|---|---|---|---|
| Few-shot PLM+surrogate превосходит случайный отбор на DMS-симуляциях | итеративный top-N на RF(ESM-2) | 2. retrospective benchmark | 12 DMS datasets (preprint) | random screening; другие PLM и regressors | top activity / enrichment vs round (см. preprint figures) | [PAPER] bioRxiv Results, grid search | Симуляция по уже измеренному DMS; не новый белок |
| Оптимальны RF, average pooling, random round 1, top-N, ESM-2 15B | grid search hyperparameters | 3. ablation evidence | те же 12 DMS | ESM-2 smaller, ESM-1, UniRep, ProtT5, ProteinBERT, Ankh, one-hot; PCA; other strategies | aggregate simulation performance | [PAPER] preprint Methods | Не wet-lab ablation; SI Data S1 не скачан |
| Метод улучшает свойства белков в prospective кампаниях | closed-loop assay + ranking | 5. prospective functional validation | PsaCas12f, PE2, Bxb1, T7 RNAP (preprint) | parent / starting activity (детали в preprint) | activity / function assays (не единая Kd) | [PAPER] preprint prospective sections | Не переносить величину улучшения на все задачи |
| Antibody binding можно улучшить few-shot циклом | тот же surrogate на Ab variants | 4. prospective binding validation | REGN10987 vs spike ELISA (preprint) | parent mAb | ELISA improvement 63%; IC50 11.9 nM (preprint HTML) | [PAPER] preprint antibody campaign | Science vs preprint (C143?) не сверены; ELISA ≠ полная developability |
| Released code implements UCB active learning | — | 1. только architectural rationale | n/a | n/a | опровергнуто кодом | [CODE] learning_strategy=='topn' | Утверждение ложно для released implementation |
Различия между статьёй и реализацией
| Версия статьи | Commit репозитория | Checkpoint / model | Файл | Различие | Практическое следствие |
|---|---|---|---|---|---|
| bioRxiv HTML 10.1101/2024.07.17.604015 | 1c77697d0c09bf6989a1562a55da99301a12e2cd | experimental path always randomforest | evolvepro/src/evolve.py evolve_experimental | Симуляция позволяет ridge/GP/и др.; live helper фиксирует RF. | Пользователь experimental API не получит GP-UCB, даже если GP выбран в grid-search скрипте. |
| preprint antibody = REGN10987 | README / landscape matrix may mention C143 | n/a | site landscape vs preprint | Идентичность кампании C143 vs REGN10987 не подтверждена без Science PDF | Не смешивать названия antibody examples без сверки журнала |
| литература AL (UCB) | 1c77697d | n/a | model.py y_std_* = 0 | Нет predictive std в selection | Страницы, где у EVOLVEpro написан UCB, были бы фактической ошибкой |
Схемы information flow
flowchart LR
subgraph gen["Выбор партии"]
R["top-N по yhat"]
end
subgraph scorer["Integrated scorer"]
RF["Random forest"]
end
subgraph ext["External"]
PLM["Frozen ESM-2 embed"]
Assay["Wet-lab assay"]
end
PLM --> RF
Assay --> RF
RF --> R
R --> Assay
flowchart TB S["Sequence variant s"] --> E["E(s) PLM embedding"] Y["Assay y"] --> F["RF fit"] E --> F F --> Yh["yhat"] Yh --> Rank["Sort descending"]
Источники
- [1] Jiang et al. bioRxiv 10.1101/2024.07.17.604015 — primary source this pass. · DOI · источник
- [2] Jiang et al. Science 10.1126/science.adr6006 — peer-reviewed; full text NR this pass. · DOI · источник
- [3] EvolvePro GitHub mat10d/EvolvePro · источник
Нерешённые научные вопросы
- Science vs preprint: C143, 100× claim wording, SI tables
- License SPDX
- Точный pooling код ESM-2 15B в evolvepro/plm (директория не читалась построчно)