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

В предыдущем блоге (https://sunitach10.github.io/2019/09/10/DeepDT-in-pytorch.html) я писал об использовании архитектуры глубокого обучения для определения силы взаимодействий лекарство-мишень (DTI). (сродство связывания) с использованием подхода к представлению последовательности на основе символов.

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

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

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

Набор данных и предварительная обработка данных-

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

В этом случае у нас есть разные длины белков и лигандов, но мы считали, что лиганд имеет длину последовательности 50 (символов), и для каждой белковой последовательности составляет 600 (символов), количество белков и лигандов уменьшено, это легко запустить в моем процессоре. GPU мы можем взять максимальную длину, чтобы учесть большее количество белков и лигандов.

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

Вход в модель - три seq. LS, PS, PDM

Последовательность белка (PS). Последовательность белка состоит из 20 различных типов аминокислот. Сначала мы собрали последовательности соответствующих белков для каждого набора данных, а затем извлекли из последовательностей слова с 3 остатками. Например, пример протеинкиназы SGK1 (UniProt, O00141) с последовательностью «MTVKTEAAKGTLTYSRMRGMVA …… YAPPTDSFL» представлен следующим набором слов {'MTV', 'KTE', ..., 'TDS', 'TVK', «TEA»,…, «DSF», «VKT», «EAA»,…, «SFL»}.

Белковые домены и мотивы (PDM) - PROSITE - это база данных, которая служит ресурсом для описателей мотивов и профилей белков. Множественное выравнивание последовательностей белков показывает, что определенные области в последовательности белка более консервативны, чем другие, и эти области обычно важны для укладки, связывания, каталитической активности или термодинамики. Эти подпоследовательности называются мотивами или профилями. Мотив - это короткая последовательность аминокислот (обычно 10–30), а профили обеспечивают количественную оценку последовательностей на основе содержащихся в них аминокислот. Профили лучше при обнаружении доменов и семейств. Например, киназа SGK1 (UniProt, O00141) имеет АТФ-связывающий мотив «IGKGSFGKVLLARHKAEEVFYAVKVLQKKAILK», тогда как профиль протеинкиназного домена примерно в семь раз длиннее, чем этот мотив. Мы использовали базу данных PROSITE для извлечения мотивов и профилей для каждого соответствующего белка в наших наборах данных. Затем мы извлекли подпоследовательности с 3 остатками из каждого мотива и домена аналогично подходу, принятому в PS.

Лиганд SMILES (LS) - химическое соединение может быть представлено строкой SMILES [ссылка charRNN), строка SMILES «C (C1CCCCC1) N2CCCC2» разделена на следующие 8-значные химические слова: «C (C1CCCC», «(C1CCCCC», «C1CCCCC1», «1CCCCC1),« CCCCC1) N »,« CCCC1) N2 »,…,«) N2CCCC2 ». Мы экспериментировали с диапазоном длины слова между значениями 7–12 и не было статистически значимой разницы в характеристиках прогнозирования, поэтому мы выбрали 8 в качестве длины символа.

Мы изменили синтаксис представления SMILES на Deep SMILES. Deep SMILES изменяет использование круглых скобок и цифр замыкания кольца в обычных SMILES и направлен на повышение производительности алгоритмов машинного обучения, которые используют нотацию SMILES как вход в различные разные задачи. Сначала мы извлекли канонические SMILES соединений из PubChem, а затем преобразовали каждый SMILES в DeepSMILES. Например, строка SMILES «C (C1CCCCC1) N2CCCC2» представлена ​​как «1940C6)))))) NCCCC5», а химические слова: «1940C6», «19406)», «CCCC6)) »,…,«) ) NCCCC5 »с глубокими УЛЫБКАМИ.

Мы строим модель на основе слов вместо модели на основе символов по следующим причинам: (i) мотивы и домены, которые были извлечены из последовательности белка, не были последовательными и могут содержать перекрывающиеся остатки.

Входное представление модели:

Мы использовали одноразовое кодирование для лиганда (символы), белка (символы) и мотива для представления входных данных. Т.к. как SMILES (Len ‹50), так и белковые последовательности (Len‹ 600) имеют разную длину. Следовательно, чтобы создать эффективную форму представления (одноразовое представление), мы выбрали фиксированную максимальную длину 50 для SMILES и 600 для последовательностей белков для нашего набора данных. Подробнее см. В этой статье (https: // arxiv. org / abs / 1902.04166 ).

Пользовательский набор данных -

Мы реализовали Custom Dataset и использовали Pytorch Dataloader-torch.utils.data.DataLoader для доступа к набору данных. Построили отдельный поезд и тестовый загрузчик для обучения и тестирования модели.

ПРОГНОЗНАЯ МОДЕЛЬ-

Мы построили модель на основе CNN в библиотеке Pytorch, которую мы называем WideDTA, которая объединяет не более трех частей различной текстовой информации. Архитектура модели аналогична модели DeepDTA на основе CNN https://sunitach10.github.io/2019/09/10/DeepDT-in-pytorch.html. Разница в том, что DeepDTA - это символьная модель, тогда как WideDTA зависит от слов в качестве входных данных.

Архитектура модели-

В нашей модели CNN для каждого текстового информационного модуля мы использовали два одномерных сверточных слоя с максимальным уровнем объединения наверху и выпрямленным линейным модулем (RELU) в качестве функции активации. Мы использовали 16 фильтров в первом слое CNN и 32 во втором слое CNN, чтобы уловить более конкретные шаблоны.

Мы следовали этой архитектуре и построили три отдельных блока CNN для белковой последовательности, лигандов и информации о мотиве / домене. Элементы, извлеченные из этих блоков, были объединены и переданы в три полностью связанных слоя, между которыми было два выпадающих слоя (значение 0,3) для предотвращения чрезмерного подгонки.

Для обучения модели мы использовали Adam Optimizer и loss-RMSE loss для полного кода, пожалуйста, посетите https://github.com/Sunitach10/MolPro.