Открытие новых возможностей в разработке лекарств с помощью VQE и квантовых вычислений

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

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

Процесс обнаружения наркотиков

  1. Идентификация мишени. Первым шагом в поиске лекарства является определение конкретной мишени, такой как конкретный белок или фермент, который играет ключевую роль в заболевании. Исследователи используют различные методы, включая генетический анализ и компьютерное моделирование, для выявления этих целей.
  2. Идентификация попадания. Как только цель была идентифицирована, исследователи начинают процесс поиска соединений/молекул, которые могут связываться с целью и модулировать ее. Этот этап включает в себя скрининг больших библиотек молекул для выявления потенциальных «попаданий», которые могут связываться с мишенью.
  3. Оптимизация свинца. После того, как попадание выявлено, исследователи работают над оптимизацией соединения, изменяя его химическую структуру, чтобы улучшить его сродство к связыванию и селективность в отношении мишени. Фаза оптимизации включает в себя итерационные циклы синтеза, тестирования и модификации для разработки лучших кандидатов в лекарства.
  4. Доклинические испытания. Перед тестированием на людях любое лекарство должно пройти всестороннее доклиническое тестирование для оценки его безопасности и эффективности. Это может включать тестирование препарата на клеточных культурах и животных моделях для определения его фармакокинетики, токсичности и терапевтического потенциала.
  5. Клинические испытания. Если лекарство-кандидат проходит доклинические испытания, оно должно пройти серию клинических испытаний для оценки его безопасности и эффективности на людях. Существует множество фаз с растущим числом участников и более тщательным тестированием на каждой фазе по мере прохождения препарата.
  6. Одобрение FDA. Если препарат успешно прошел клинические испытания и признан безопасным и эффективным, он может быть представлен в Управление по санитарному надзору за качеством пищевых продуктов и медикаментов США (FDA) для утверждения. FDA рассматривает данные о безопасности и эффективности препарата и решает, следует ли одобрить его для использования среди населения в целом.

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

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

Вариационный квантовый собственный решатель (VQE) — обзор

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

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

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

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

Основы квантовой механики ⚙️

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

Что такое оператор Гамильтона?

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

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

Квантовые схемы

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

Состояние кубита также может быть представлено вектором в двумерном гильбертовом пространстве. Итак, теперь, когда вы соедините эти кубиты и квантовые вентили вместе, вы получите квантовую схему! И эта схема может делать все, что угодно, например вычислять, сколько энергии имеет молекула.

Теория VQE 📓

ШАГИ:

  1. Выберите анзац. Первым шагом является выбор анзаца, который представляет собой параметризованную квантовую схему, которую можно использовать для подготовки приблизительного основного состояния гамильтониана. Этот анзац обычно выбирается на основе некоторых предварительных знаний или интуиции об изучаемой системе. Математически анзац можно представить как унитарный оператор, действующий на начальное состояние, которое может быть состоянием произведения отдельных кубитов или каким-либо другим простым состоянием.
  2. Оцените энергию. Следующим шагом является оценка ожидаемого значения гамильтониана для состояния, подготовленного анзацем. Это делается путем измерения состояния в вычислительном базисе и вычисления среднего значения гамильтониана.
  3. Оптимизация параметров. Третий этап — оптимизация параметров анзаца для минимизации энергии, оцениваемой на этапе 2. Обычно это делается с использованием классического алгоритма оптимизации, такого как градиентный спуск или L-BFGS. Целевая функция, которую необходимо минимизировать, представляет собой энергию, оцененную на шаге 2.
  4. Повторять до сходимости: процесс оптимизации повторяется до тех пор, пока не будет достигнута минимальная энергия, что указывает на то, что анзац является хорошей аппроксимацией основного состояния гамильтониана. Процесс оптимизации можно остановить, когда энергия достигает заданного порога или когда алгоритм оптимизации сходится.

Кодирование основного состояния молекулы водорода 👩‍💻

Процесс 📚

ШАГ 1. Импорт библиотек📖

# Library Imports
import matplotlib.pyplot as plt
import pennylane as qml
from pennylane import numpy as np
from pennylane import qchem
  • Я начинаю с импорта необходимых библиотек, которые в основном представляют собой основные продукты машинного обучения, такие как Pytorch, Matplotlib, Numpy, Time и другие, после чего я форматирую свои данные.

ШАГ 2. Укажите молекулу + создайте ее🧪

#Specify the molecule we want to simulate
symbols = ["H", "H"]
coordinates = np.array([0.0, 0.0, -0.6614, 0.0, 0.0, 0.6614])

#Build the electronic Hamiltonian of the hydrogen molecule 
H, qubits = qml.qchem.molecular_hamiltonian(symbols, coordinates)
print("Number of qubits = ", qubits)
print("The Hamiltonian is ", H)

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

ШАГ 3. Состояние Хартри-Фока⚒️

#Generate the vector representing the Hartree-Fock state
electrons = 2
hf = qml.qchem.hf_state(electrons, qubits)
print(hf)

#Initialize qubit registers
def circuit(param, wires):
    qml.BasisState(hf, wires=wires)
    qml.DoubleExcitation(param, wires=[0, 1, 2, 3])
  • Теперь мы инициализируем квантовую схему для моделирования электронной структуры молекулы водорода. На первом этапе генерируется вектор, представляющий состояние Хартри-Фока для молекулы, что является простейшим приближением электронной структуры. Переменная electrons указывает количество электронов в молекуле, а qubits — количество кубитов, необходимых для представления гамильтониана молекулы.
  • Следующий шаг инициализирует квантовую схему с помощью функции circuit, которая принимает параметр param и список кубитов wires. Функция использует операцию qml.BasisState для инициализации регистра кубита в состоянии Хартри-Фока, а затем применяет операцию qml.DoubleExcitation для имитации взаимодействия между электронами в молекуле.

ШАГ 4. Оптимизация🧰

# Store values of the cost function
energy = [cost_fn(theta)]

# Store values of the circuit parameter
angle = [theta]

#Optimization over max of 100 steps
max_iterations = 100

#Aim to reach a convergence tolerance of 10^−6
conv_tol = 1e-06

for n in range(max_iterations):
    theta, prev_energy = opt.step_and_cost(cost_fn, theta)

    energy.append(cost_fn(theta))
    angle.append(theta)

    conv = np.abs(energy[-1] - prev_energy)

    if n % 2 == 0:
        print(f"Step = {n},  Energy = {energy[-1]:.8f} Ha")

    if conv <= conv_tol:
        break

print("\n" f"Final value of the ground-state energy = {energy[-1]:.8f} Ha")
print("\n" f"Optimal value of the circuit parameter = {angle[-1]:.4f}")Step Two: Prepare Trial Ground State
  • Затем мы оптимизируем модель, чтобы найти энергию основного состояния молекулы водорода, используя алгоритм вариационного квантового собственного решателя (VQE). Списки energy и angle инициализируются для хранения значений функции стоимости и параметров схемы соответственно.
  • Оптимизация выполняется с использованием метода step_and_cost объекта оптимизатора opt, который обновляет параметр схемы theta и возвращает новое значение функции стоимости. Цикл оптимизации продолжается максимум 100 итераций или до тех пор, пока не будет достигнут допуск сходимости 10^-6.
  • Во время каждой итерации текущее значение theta обновляется, а энергия оценивается и сохраняется в списке energy. Переменная conv используется для проверки сходимости, и цикл завершается, если соблюдается допуск сходимости.

  • Код также выводит конечное значение энергии основного состояния и оптимальное значение параметра схемы. Оптимизируемая функция cost_fn представляет собой математическое ожидание гамильтониана молекулы водорода и оценивается с помощью метода qml.ExpvalCost.

ШАГ 5. Визуализация🖌️

#Plotting the Values
fig = plt.figure()
fig.set_figheight(5)
fig.set_figwidth(12)

#FCI energy classically computer
E_fci = -1.136189454088

#Add energy plot = Column 1
ax1 = fig.add_subplot(121)
ax1.plot(range(n + 2), energy, "go", ls="dashed")
ax1.plot(range(n + 2), np.full(n + 2, E_fci), color="red")
ax1.set_xlabel("Optimization step", fontsize=13)
ax1.set_ylabel("Energy (Hartree)", fontsize=13)
ax1.text(0.5, -1.1176, r"$E_\mathrm{HF}$", fontsize=15)
ax1.text(0, -1.1357, r"$E_\mathrm{FCI}$", fontsize=15)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)

# Add angle plot = Column 2
ax2 = fig.add_subplot(122)
ax2.plot(range(n + 2), angle, "go", ls="dashed")
ax2.set_xlabel("Optimization step", fontsize=13)
ax2.set_ylabel("Gate parameter $\\theta$ (rad)", fontsize=13)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)

plt.subplots_adjust(wspace=0.3, bottom=0.2)
plt.show()
  • Наконец, мы визуализируем процесс оптимизации алгоритма VQE, применяемого для нахождения энергии основного состояния молекулы водорода. Результирующий график содержит два подграфика, один из которых отображает значения энергии, полученные во время оптимизации, а другой показывает значения параметров схемы.
  • Значения энергии показаны зелеными точками, соединяющими их пунктирной линией, а точное значение энергии, полученное классическим методом с использованием метода FCI, показано красной линией. Значения параметров схемы также отображаются зелеными точками. График скорректирован для лучшей визуализации, подграфики расположены рядом, а оси помечены соответствующим образом. Метод plt.show используется для отображения графика.

Заключительные мысли 🎉

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

Меня зовут Анушка, мне 15 лет, и я обожаю использовать новые технологии для создания решений, которые влияют на будущее. Если у вас есть какие-либо предложения, идеи или вы просто хотите пообщаться, вы можете написать мне в LinkedIn! Не стесняйтесь подписаться на мою среду и мой ежемесячный информационный бюллетень, чтобы быть в курсе того, что я делаю. Спасибо, что прочитали, и я надеюсь, что вам понравилось читать это так же, как мне писать!