March 21, 2025

Байесовская оптимизация в химических процессах

Разработка химической технологии — задача, мягко говоря, нетривиальная. Даже в случае дженериков, когда вроде бы всё уже описано в патентах и статьях, на практике приходится перебирать десятки параметров и по сути заново изучать поведение реакции.

Особенно непросто, когда речь идёт о сложных превращениях: на поиски глобального оптимума банально не хватает ресурсов, времени и нервных клеток.

Да, есть рациональный подход — Design of Experiments (DoE) — который должен ускорить процесс и направить его в нужное русло. Но, как показывает практика, DoE иногда работает как обезьяна с гранатой: не все экспериментаторы уверенно ориентируются в статистике, и результаты могут завести совсем не туда.

Чтобы немного упростить жизнь, группа химиков из BMS и Принстонского университета применила алгоритм байесовской оптимизации для поиска глобального оптимума условий химической реакции — и вполне успешно.

Вот об этом алгоритме и поговорим. Сначала — короткая инструкция для тех, кто хочет сразу к делу, а потом разберёмся подробнее, как это вообще работает.

Короткая инструкция

Начнём сразу с сути. Особенно актуально для тех, у кого нет времени читать длинные рассуждения, и кому, по большому счёту, всё равно — что там под капотом у этого алгоритма и как его разрабатывали. Нужно просто знать: куда нажать и что сделать, чтобы оно работало.

Подробности оставим тем, кто любит копаться в статье с кофе и комментами на полях — они будут ниже. А пока — краткий гайд.

Область применения

Алгоритм становится особенно полезным на этапе первичной оптимизации, когда уже понятно, что именно должно реагировать с чем, но оптимальные условия — те самые температура, концентрация, растворитель, давление и прочее — ещё под вопросом.

Если параметров больше трёх (а так почти всегда и бывает), то возможных комбинаций уже не просто «много», а очень много — счёт идёт на сотни, если не тысячи. Ручной перебор превращается в бесконечный скрининг, где можно легко потерять и мотивацию, и пару месяцев жизни.

Предполагаемый workflow для применения алгоритма

Говоря о факторах, речь идет о температуре, концентрациях, давлении, катализаторах и в принципе всё, что может повлиять на вашу реакцию. Алгоритм съедает только дискретные факторы и не воспринимает непрерывные, то есть температуру надо будет выражать не “от 20 до 50 °C", а "20 или 50 °C"

В качестве откликов обычно используют выход продукта и энантиомерную чистоту, можно еще сюда приплюсовать уровень капризной примеси.

Очевидно, что в рамках поиска новых молекул это не очень актуально, выходы в 10-20% приемлемы до тех пор пока хватает финального количества вещества на характеризацию. А вот в рамках разработки процесса, который надо будет масштабировать - каждый процент на счету.

В качестве выходов лучше ориентироваться на выход в растворе (solution yield). Потому что во время выделения продукта в силу вступают другие факторы, которые алгоритму не скармливаются.

Литературные источники

Если захотите покопаться глубже — вот проверенные ссылки:

Поэтапный алгоритм

Автор заметки допускает, что экспериментатор знаком с Jupyter и знает базовые функции по созданию сред и установке пакетов, если нет, то LLM в помощь.

Итак алгоритм:

  • Качаете репозиторий edboplus, ставим нужные зависимости. Всё описано в инструкции — не бойтесь README.md
  • Запускаете тетрадку из папки examples. Создаете проектное поле факторов с помощью примера или отдельно в excel, для последующего импорта в csv.
  • Устанавливаете параметры реакции. Конечно совсем с потолка брать факторы не стоит, всё таки первичная экспертиза химика очень важна и стоит ограничиться вариантами, которые могут сработать с ненулевой долей вероятности на ваш взгляд. То есть не брать в дизайн заведомо нерабочие растворители или температуры при которых продукт просто развалится. Алгоритм умный, но не экстрасенс.
  • Генерируете DFT дескрипторы если в качестве факторов используются какие-то реагенты (надо перебрать растворители или лиганды например), то по собственному опыту Автор заметки очень сильно рекомендует использовать квантово-механические дескрипторы. Алгоритм просто фигачит One Hot Encoding, что не всегда дает быстрые результаты. Этого в статье нет, лишь упоминается. Пример дескрипторов для растворителей.
  • Так как для большинства квантовая химия осталась в далеком прошлом - то можно не считать самому, а воспользоваться Auto-QChem DB. Там уже нагенерировали много информации, поэтому можно не парится со специализированным ПО. Находите нужный реагент и копируете признаки. Столбец с основным параметром удаляете, т.е. если растворитель превратился с 10 новых столбцов, то сам растворитель можно удалить.
  • Ставите первые реакции, которые предложил алгоритм (объем эксперимента в 5 штук оптимален, больше лучше, меньше работает просто не так хорошо судя по опыту)
  • Загружаете полученные результаты и алгоритм выдает следующую порцию реакций которые надо поставить. Повторяете 6-7 раз, пока не достигнете искомых откликов - максимальных выходов, энантиоселективности и т.д.
  • Более подробная видеоинструкция прилагается:

После нахождения глобального оптимума параметров, уже можно прогнать DoE исследование робастности и построить Design Space. Любой Response Surface Method (методология поверхностного отклика) подойдет.

В итоге 40-50 экспериментов на поиск глобального оптимума из сотен/тысяч различных вариантов + 30-60 экспериментов для характеризации Design Space и вот уже не стыдно показывать результаты регулятору.

Всё - вы прекрасны и справились за несколько недель. А мы дальше пройдемся по тому как алгоритм разрабатывался.

May the odds be ever in your favour


Байесовская оптимизация (БО/BO)

Небольшой дисклеймер. Это нормально, если что-то из выше или ниженаписанного непонятно, Автор конечно старался упростить это безобразие, но что получилось, то получилось.
Основная мысль тут - химия это не только “закинул в колбу, выделил, охарактеризовал”, но и другие смежные области и навыки. Больше половины описанной работы это исследования за столом, так что можно вполне успешно работать на стыке наук и минимизировать работу в “мокрой” лаборатории.

Начнем с непосредственного алгоритма простыми словами насколько это допустимо, чтоб не согрешить в глазах data scientists.

Метод перекочевал из машинного обучения (ML), когда для модели необходимо подобрать гиперпараметры. Они фиксируются до начала обучения: коэффициент регуляризации, глубина решающего дерева и т.д. При обучении модели надо подобрать эти параметры и метод “gut feeling" не подходит иначе бы data scientist не получали 300к/сек.

Этапы оптимизации нейронки

Самые популярные методы оптимизации гиперпараметров: поиск по сетке (Grid Search), случайный поиск (Random Search), градиентные методы, эволюционные алгоритмы и сама байесовская оптимизация.

Извиняюсь за оффтоп, но это важно в целом для понимания сути инструмента. Если очень интересно, можно полистать обзорную статью. В целом это тот еще ящик Пандоры.

Подходы к оптимизации гиперпараметров

Особенность байесовской оптимизации в том, что на каждой итерации во время подбора принимается решение о том, какие следующие значения гиперпараметров нужно выбрать, исходя из результатов предыдущих итераций. То есть происходит корректировка во время процесса оптимизации. При бесконечном количестве попыток вероятность нахождения оптимума стремится к единице.

Автору бы хотелось избежать приступа эмоций “чоза%&”, поэтому приведем грубую бытовую аналогию - ваша цель найти самый вкусный тартар в городе.

  • Для начала вы используете рекомендацию друзей и рейтинги ресторанов - изначальное предположение.
  • Берете достаточно случайный вариант из рекомендованных о том, где самый вкусный тартар.
  • Пробуете в нескольких ресторанах искомое блюдо.
  • После каждой пробы обновляете свои предположения уже без рекомендаций и выбираете следующее место дегустации.
  • Процесс повторяется до бесконечности, пока вы или не найдете тартар максимально близкий к вашим критериям или не закончится бюджет.

Именно поэтому этот подход называют байесовским — он основан на методах байесовской статистики, при которых вероятность гипотезы оценивается на основании полученных (апостериорных) данных.

explain xkcd: 1132

Хороший материал с объяснением подходов - тут, ничего адекватного на русском не удалось найти.

Из дополнительных плюсов байесовской оптимизации - алгоритму безразлично на дифференциал функции так как его может и не быть, особенно в случае с химическими экспериментами. Из минусов - алгоритм плохо поддается масштабированию (кушает много CPU), но чтобы порадовать химиков многим жертвовать не придется.

И на всякий случай Автор умышлено пишет “алгоритм”, а не “модель”. Потому что это именно алгоритм оптимизации, у нас нет датасета на которым мы обучаем модель и применяем его к другим данным.

BO в оптимизации химических реакций

Кошмар статистической теории закончился и теперь перейдем к делу. В 2021 году была опубликована статья от команды BMS и Пристонского университета, где они применяли БО метод к химической оптимизации. Конечно предпосылки были и до этого, но это первое полноценное применение этого метода с оценкой его эффективности в непосредственной химии.

Полноценная pdf без регистрации и смс - Bayesian reaction optimization as a tool for chemical synthesis

Сфера применения алгоритма

Любая химическая реакция A+B → C зависит от крайне большого количества факторов: вспомогательные реагенты, их качество, растворители, температура, время выдержки и т.д.

Пример реакции и возможных факторов

В случае с фармацевтическими субстанциями изменение каждого параметра может привести к различным последствиям, но главной целью оптимизации обычно является снижение количества побочных продуктов, примесей и увеличение выходов целевого вещества.

Для того, чтобы найти те самые, наиболее оптимальные условия, в разрезе химических экспериментов применяют три наиболее популярных подхода:

  • OFAT (one factor at time) - когда фиксируются все параметры, кроме одного. Например, время выдержки и концентрация реагентов остается неизменной, но изучают влияние температуры.
  • DoE (design of experiments) - перебирается несколько факторов одновременно. Тип дизайна зависит от целей.
  • Best Guess - метод проб и ошибок, ну или метод “научного тыка”. В принципе из названия всё понятно.
OFAT vs DoE наглядно для трех факторов

Основной недостаток OFAT и DoE методов в том, что для перебора более чем 4-5 факторов требуется неприлично большое количество экспериментов, чтобы можно было сделать вывод о стат. значимости факторов на отклики. Говоря про количество мы имеем ввиду от нескольких сотен до пары тысяч точек, чтобы “насытить” модель и добиться адекватных метрик.

Алгоритм BO позволяет найти оптимум пространства параметров, заменяя скучный скрининг, главное изначально определить не самые сумасбродные факторы. После нахождения оптимума уже можно будет проверить робастность процесса, но в любом случае общее количество экспериментов будет на порядок меньше изначального. Вместо условных 300-400 экспериментов на разработку и оптимизацию процесса, может уйти всего лишь 30-40. Меньше = дешевле и быстрее. Что еще нужно для бизнеса.

Разработка алгоритма (душная часть🤯)

Пройти мимо процесса разработки было бы преступлением. Прежде чем бросаться на экспериментальные данные необходимо оптимизировать сам алгоритм, который будет предсказывать результат максимально близко к уже имеющимся данным.

Для этого изначальный набор данных разбивают на обучающую и тренировочную выборки. В данном случае никто не стал изобретать велосипед и алгоритм проверяли на экспериментальных данных сгенерированных ранее.

То, что описано ниже, — это типичный путь, которым идут специалисты по данным. Всякий раз, когда вы слышите “мы обучили модель” или “провели анализ данных”, можно представить себе именно такой набор шагов.
BO in a nutshell
  • Для оценки производительности алгоритма были позаимствованы данные по тысячам постановок реакций Сузуки и Бухвальда (3678 и 1728 реакций) В качестве результатов брались выходы в растворе (solution yield). Финальный продукт в виде порошочка не выделялся.
Те самые реакции и параметры, которые перебирали
  • Так как компьютер в принципе туповат и не очень понимает, когда ему показывают молекулы, их надо переводить в машиночитаемый формат. Кодировка реагентов с помощью квантовых дескрипторов давала самые оптимальные результаты с погрешностью выхода всего лишь 5%. Интересно, что банальный OHE (one hot encoding) был лишь на 3% хуже.
  • Первая часть байесовской оптимизация это вероятностная модель и её надо еще подобрать. Классическую модель регрессии Гауссовского процесса (GP) сравнили с моделью регрессии случайного леса (RF) и Байесовской линейной регрессией (BLM). В итоге остановились на Гауссовской регрессии, как модели дающей меньше всего шума.
Сравнение производительности различный вероятностных моделей
  • Вторая часть BO это функция обнаружения (acquisition function), которая должна активно рыскать по экспериментальному пространству. В ходе разработки оптимизации главное подобрать баланс между exploitation и exploration.
Слева - exploitation, cправа - exploration
  • В первом случае функция может уткнуться в локальный максимум и там остаться, во втором, будет стараться найти максимально возможный выход реакции в пространстве параметров. Тут, как нетрудно догадаться, имеется целый веер возможных функции. В итоге авторы статьи перепробовали expected improvement (EI), probability of improvement (PI), upper confidence bound (UCB). EI оказался лучше остальных.
Оценка эффективности различных функций обнаружения

Это крайне краткая выжимка того, как разрабатывался алгоритм. Можно упомянуть, что с подобными задачами по оптимизации встречаются и во время дизайна молекулярных свойств молекул и материалов. Поэтому специальность data scientist так ценится, особенно с доменным знанием области.

Валидация модели (интересная часть)

Классический вопрос, касаемо любого использования ИИ в химической области - “а вы сравнивали это с химиками?”. Вот тут четко можно ответить - Да, сравнивали.

Возможно авторы статьи догадывались, что их попытаются подловить на сравнении с людьми, поэтому они подошли к вопросу уж слишком изощренно.

BO vs DoE

Реакции из обучающей выборки использовали для симуляции DoE подхода. Искусственные данные in → искусственные данные out и сравнение результатов BO с DoE.

В качестве дизайнов использовали не самый стандартный generalised subset design (GSD) и чуть более распространенный D-optimal дизайн. Детали опустим, их суть в том, что они лучше справляются с мульти уровневыми категориальными данными. В данном случае речь шла о выборе оптимальных катализаторов и лигандов, поэтому самое то.

Суммарные результаты BO (левый столбец) vs DoE
  • µ - средняя разница между реальным выходом и BO, меньше = лучше
  • σ - среднее отклонение разницы между реальным выходом и предсказанием
  • ξ - отклонение между худшими выходами

Видно, что у DoE предсказаний разброс побольше чем у BO. И да для предсказаний BO, как и для DoE брали из датасета на тысячи реакций брали по 50 реакций, так что всё честно.

Таким образом, разработанный алгоритм был верифицирован относительно классических DoE методов. Хотя конечно стоит признать, что GSD не самый очевидный вариант.

BO vs Химики

После долгой разработки алгоритма на “чужих” данных наступило время проверить его в действии, а самое главное ответить на вопрос: “насколько быстрее алгоритм найдет глобальный оптимум реакции по сравнению с химиками, ориентирующимися на своё нутро и опыт”

Реакция по которой собрали данные для создания игры
Изученные параметры самой реакции
  1. В качестве реакции была выбрана прямая С-H функционализация имидазолов. Первичный набор факторов (набор лигандов, растворителей) был сгенерирован химиками, то есть изначально была произведена экспертная оценка и первичное проектное поле было уже основано на некотором опыте.
  2. Факторы для оптимизации: лиганды (12 штук), основания (4 штуки), растворители (4 штуки), температура (3 уровня), концентрация (3 уровня). Перемножаем всё вместе - 1728 реакций, ну за пару дней можно справиться 😁
  3. И самое интересное - все результаты были собраны в один design space (пространство проектных параметров) для создания… игры!!!🎮

Вот так вот, куча £ субсидий, а они в игрушки играют, но ради науки иногда нужно, что поделать. После написания веб-приложения с данными по вышеупомянутым экспериментам 50 химикам предлагалось in silico оптимизировать эту реакцию за 20 попыток.

1 эксперимент = 5 реакций, 1 календарный месяц = 20 рабочих дней —> 100 реакций (6% из всего сгенерированного пространства), чтобы найти наиболее оптимальный выход для конкретно этого химического превращения.

Репозиторий с кодом игры (язык R) и данными: EvML

Интерфейс игры

То есть исследователи пытались понять кто быстрее придет к оптимальному результату - машина или человек.

Что получилось? Тут лучше пройтись по пунктам:

  • 28/50 и 32/50 химиков достигли результатов в пределах 1% и 5 % от максимального выхода в 100%, соответственно. То есть 36% человеков уже остались не уу ел. Конечно все попытки (N=50) BO симуляции были успешны.
Черным цветом - BO, синим цветом - люди. Жирные линии это средние выходы
  • На самом деле такая разница была связана с тем, что эти 36% людей просто бросали попытки дальнейшей оптимизации, так как верили, что уже достигли глобального оптимума. Другими словами, химики были уверены, что реакции хватит 90%-95% целевой конверсии и дальше можно уже не стараться.
    И это теоретический эксперимент, в реальной жизни задора на новую реакцию хватает на 1-2 месяца. Дальше приходится мотивировать персонал.

    По каким-то неведомым для Автора причинам (видимо чтобы заполнить NaN), авторы статьи предположили, что если бы все ленивые химики продолжили играть, то в следующем раунде, у них было бы 100% - взято в модели как некий верхний предел (upper bound). Что, конечно крайне оптимистичное предположение.
Raw data - средние значения по людям
  • Ученые, были бы не учеными, если бы они не применили статистический тест для оценки значимости отличий принимаемых решений - машина vs химик. Для этого они использовали t-критерий Уэлча для сравнения средних выходов полученных с помощью BO оптимизации и химиками.

    Чтобы не путать читателя нулевыми гипотезами и т.д. - если p<0.05, то значит средние выходы не равны и алгоритм справляется лучше человека (с учетом того, что на предыдущих графиках выходы по BO стремились к максимуму).

    Исходя из графика ниже можно сказать, что в среднем уже к пятом раунду оптимизации алгоритм отличается по результатам от химиков в среднем, и лишь к 11 раунду результаты их решений становятся эквивалентными. Зеленую линию с супер оптимистичным предположением можно считать так, что некоторые химики в принципе справлялись не хуже модели.
Стат. оценка - люди vs BO. Серая зона - когда результаты сильно различаются

Небольшой итог по сравнению BO с химиками:

В среднем алгоритм справлялся с оптимизацией на 7-8 раундов экспериментов (35-40 реакций). Химики же догоняли алгоритм на 11-12 раундов (55-60 реакций). При этом алгоритм уже на 5-м раунде находил куда стоит двигаться.

Конечно обязательно нужно сказать, что в некоторых случаях химики добивались таких же результатов на 5-6м раунде, но самый главный момент:

Результаты сильно зависели от опыта, индустрии и специализации химика, алгоритм же был постоянен и выдавал оптимальные результаты без прихотей и особенностей “человеческого мышления”.

Автор этой заметки ни в коем случае не умаляет роль химиков, так как тоже относится к ним - ему это невыгодно. Да и кто-то же выбрал изначальное поле факторов для реакции, если загружать изначальный тотальный рандом, то никакая модель не справится с таким накалом бреда. Нас не заменят… пока не доработают LLM для сбора первичных данных.

Но все же оставлю один интересный график по максимальным выходам относительно разного опыта опрошенных химиков, на подумать 😏

Средние выходы в игре в зависимости от опыта игрока в хим. индустрии

Проверка алгоритма (наконец-то)

Пример 1

Классическая реакция Мицунобу повсеместно используется в органическом синтезе. Основной минус - сложность оптимизации в погоне за лучшими выходами, потому что классическая комбинация PPh₃/DEAD редко работает на приемлемом уровне.

Реакция и факторы, которые перебирали

Если перебирать все возможные варианты то потребовалось бы поставить 180,000 реакций, задача не очень тривиальная даже для HTE. Поэтому алгоритму BO позволили делать свое волшебное дело.

Как оно работает - после первичного рандомного пула факторов и десяти экспериментов, алгоритму скормили результаты и он предложил условия для следующей итерации. Всё это повторили 4 раза.

Выходы реакции в зависимости от серии эксперимента

40 экспериментов и вуаля - реакция, которая обычно работает на средние 60% в стандартных условиях уже выдает 99% выхода. Не иначе как колдовство.

Красным - стандартные условия, черным - топ3 из BO

Мы оставляем за скобками дороговизну азадикарбоксилатов и масштабируемость реакций. При доработке алгоритма можно добавить дескрипторы связанные с ценой и попытаться минимизировать общую цену, но не будем усложнять. Результаты все равно впечатляют.

Пример 2

Для наглядности тот же трюк провернули с реакцией фторирования. Теоретически, чтобы перебрать все параметры потребовалось бы 312,500 реакций. C BO удалось управиться за 8 раундов по 5 реакций - всего лишь 40 постановок.

Думаю вполне понятно, что алгоритм достаточно хорош, чтобы использовать в многофакторной оптимизации, но это же наука, гранты сами себя не получат. Всегда можно сделать что-то лучше.

Оптимизация BO: EDBO+

Всё те же аффилиации и авторы спустя пару лет допилили алгоритм - A Multi-Objective Active Learning Platform and Web App for Reaction Optimization

Так подробно уже расписывать разработку мы не будем, но пробежимся по основным пунктам:

  • Функцию обнаружения заменили с EI (expected improvement) на q-Expected Hypervolume Improvement (qEHVI). Ну статья-то новая, надо было что-то прикрутить. Отклик реакции заменили на hypervolume, который позволяет объединить несколько откликов сразу (выход + энантиоселективность)
  • Из актуального и правда недоработанного раньше- первичный пул параметров, влияет ли метод выборки на финальные результаты и важен ли объем серии экспериментов. Проще говоря - с чего начать и сколько реакций надо ставить за раз. Из изученных вариантов: случайный, метод латинских гиперкубов (Latin hypercube sampling) и Centroidal Voronoi tessellation (я не знаю как это переводить). В честной борьбе с небольшим преимуществом победил CVT

Сомневаюсь, что кто-то вообще дочитал до этого момента. Да это скучно, но мне хотелось показать, как можно доработать, казалось бы уже готовый и продуктивный алгоритм.

Дата саенс это не только про import from sklearn → .fit → .predict.

EDBO+ в действии

В отличие от реакций в предыдущей статье, тут взяли пример с реакцией которую так успешно и не оптимизировали в лаборатории - энантиоселективный кросс-электрофильный каплинг. Для подбора оптимальных условий уже было поставлено по 500 реакций классическим OFAT методом, поэтому сейчас дали шанс BO.

Реакции и факторы, которые перебирали

Для кодировки лигандов использовали DFT дескрипторы, для остальных факторов OHE. Оптимизация заняла 21 эксперимент - 7 раундов по 3 эксперимента, что в итоге привело к чуть лучшим результатам, чем после 500 экспериментов. Результаты A1 и B1 это после классической оптимизации, A2 и B2 после BO

A1,B1 - OFAT результаты, A2,B2 - BO результаты

Думаю можно согласится, что 500 реакций это чуть больше 21 для нахождения оптимальных условий для реакции.

В совокупности с предыдущими результатами всё это может звучать слишком идеалистично, да метод имеет изъяны, но его потихоньку все активнее применяют в разработках:

BO vs DoE в разработке

После прочтения этой заметки😅

Нахождение глобального оптимума химической реакции это одна из главных задач разработки технологии. Дальше идет масштабирование и верификация модели на увеличенном масштабе.

Чтобы изначально найти глобальный оптимум можно потратить буквально месяцы работы и самое главное так и не ответить на вопрос - а может ли быть лучше? То есть конверсия 60% это максимум возможностей или мы просто сидим в локальном максимуме.

С грамотным DoE подходом можно без проблем ответить на эти вопросы, но к сожалению банальный факторный эксперимент не всегда подходит, нужно вручную подбирать дизайн, а самое главное - правильно считывать финальные результаты. Нужно ли учитывать LOF? Что там с residual plot? А что такое Q²? Без стат. подготовки на все эти вопросы иногда можно ответить неправильно (особенно работая с JMP😁)и уйти в дебри.

Поэтому алгоритм BO это отличная замена скрининговых DoE. Потому что он эффективнее находит глобальный оптимум реакции. Не требуя глубоких знаний стат. анализа.

Однако минус в том, что регулятора не устроит алгоритм “черной коробки”. Со стороны это выглядит как - "нам оптимальные условия компьютер нагадал". BO не строит модель y=f(x). Но для масштабирования и прозрачности разработки процесса нужно иметь конкретную функцию которая описывает устойчивый процесса, что очень важно для будущего GMP производства.

После нахождение глобального оптимума, с помощью RSM DoE можно сгенерировать “белую модель” характеризующую процесс с конкретной функцией y=f(x), где f специфическая регрессия.

Ну и дальше уже можно масштабировать процесс,

Итого

BO — это не волшебная палочка, но иногда чёрный ящик справляется лучше, чем белый халат.

Попробуем суммировать, когда описанный алгоритм BO актуален:

  • Разработка технологии получения АФС, когда необходимо найти оптимальные условия протекания реакции быстро и дешево. Без долгих переборов.
  • Нет возможности ставить много десятков скрининговых экспериментов, чтобы найти оптимальные условия.
  • Нет цели написать статью о том, какие факторы влияют на что, нужен просто результат.

BO отлично заменяет скрининговые эксперименты, после чего уже можно исследовать робастность реакции по старинке.

Киллер фича в том, что при совмещении BO с LLM и HTE платформами, возможно проводить полуавтоматическую оптимизацию реакции с минимальным вовлечением специалиста, что значительно повышает эффективность всего процесса.

К сожалению метод чувствителен к дескрипторам и если полениться закодировать реагенты в виде DFT признаков, то алгоритм может дольше искать оптимум. Также отсутствие красивого GUI, немного увеличивает входной порог для использования.

Есть интересная и свежая альтернатива с GUI - webBO, но личного опыта использования именно этого пакета в работе у Автора нет.

И конечно BO как алгоритм уже успешно применяется не только в оптимизации химических процессов, но также в разработке самих молекул и формуляций. Подробности я пожалуй оставлю на отдельный пост, если будет интересно 🔥