Учебная страница курса биоинформатики,
год поступления 2018
Связывание лигандов. Карманы связывания. Индуцированное соответствие
Вам дано два PDB файла, соответствующие свободной и связанной с лигандом форме некоторого белка. Соответственно называются они free.pdb и bound.pdb. В этом задании вам предстоит отработать ряд инструментов структурной биоинформатики и изучить, к каким изменениям в структуре белка приводит связывание лиганда. В конце задания вы познакомитесь с докингом – рутинным инструментом дизайнеров лекарств.
Задание 1. Изменения
1.25 балла
Изучите оба файла в PyMol. Локализуйте лиганд (он там гарантированно один). Опишите, какие изменения произошли с остатками, выстилающими карман связывания, с самой формой кармана. Почему, как вам кажется, они произошли? Какие взаимодействия стали выгоднее или вовсе появились впервые в связанной форме? Приведите минимум 3 примера, снабдите их иллюстрациями.
Сравните объемы полостей – той, что была в свободной форме, и той, что получается, если из связанной формы удалить лиганд. Какой смысл имеет второе число? Оно, в сравнении с первым, покажет вам, насколько "стянутым" оказались остатки белка, будучи скрепленными взаимодействиями через посредник-лиганд.
1.1. Создайте еще один файл pdb, например, bound_without_lig.pdb, в который сохраните только атомы белка из bound.pdb, без лиганда.
1.2. Воспользуйтесь веб-сервером POCASA, чтобы автоматически выделить полости в free.pdb и bound_without_lig.pdb. Используйте параметры по умолчанию. Время выполнения расчета - 1-5 секунд.
Убедитесь, что подаете файлы без водородов – этот сервис очень чувствителен к ним и работает корректно, если их нет. Если ожидаемые карманы не нашлись, попробуйте снизить Probe radius до 1 ангстрема.
1.3. Апплет jmol на сайте может не работать. Чтобы ознакомиться, где же программа нашла карманы, скачайте файл с суффиксом _TopN_pockets.pdb. Откройте его в PyMol. Кластеры точек демонстрируют найденные карманы. Номер остатка точки показывает ID кармана, который фигурирует в ранжировании на сайте. Сделайте изображение, покрасив точки, формирующие топ-5 карманов, в свой цвет для каждого кармана. Подпишите кластеры их ID. Удалось ли программе найти полости, которые, на ваш взгляд, присутствуют в этой молекуле?
1.4. Нашелся ли карман связывания вашего лиганда в обоих случаях (free.pdb и bound_without_lig.pdb)? Каков объем этого кармана в обеих формах, как меняется объем кармана при связывании лиганда? Что это говорит в контексте "стягивания" остатков белка лигандом? Как вы думаете, это стягивание, если оно есть в вашем случае, происходит во время связывания или уже после того, как лиганд стабилизировал свое положение?
Задание 2. Протонирование, подготовка к докингу
0.75 балла
Введение
Докинг – это метод молекулярного моделирования, применяющийся для определения позы и конформации лиганда в кармане связывания белка. Подавляющее большинство инструментов докинга очень быстрые и позволяют получить результат в пределах минуты на пару "лиганд-белок". Однако при этом они очень многим жертвуют. Так, остов белка всегда остается неизменным, и только лишь в отдельных случаях можно разрешить Монте-Карло перебор ротамеров боковых радикалов. Положение и конформация лиганда же всегда подвержена Монте-Карло перебору, и происходит генерация миллионов гипотез о том, как он может располагаться в таком "жестком" кармане связывания. После этого для каждой гипотезы рассчитывается некоторый эмпирический "скор", который должен выделить из всего созданного многообразия наиболее реалистичные позы. Они и являются выдачей программы.
Скор-функции инструментов докинга могут быть очень разными, но их объединяет назначение – максимизация вероятности того, что топ-1 поза будет соответствовать "реальной" из известного комплекса белок-лиганд в обучающей выборке. При этом попытки по значению скор-функции делать выводы об аффинности связывания в общем случае проваливаются – корреляции Пирсона с экспериментальными IC50 обычно в районе 0.3 для задач "один белок - много лигандов" и "много белков - много лигандов". Наш случай "один белок - один лиганд" является удачным исключением, и допустимо рассуждать с привлечением значения скор-функции как аргумента.
Задание
Мы воспользуемся докингом, чтобы сымитировать ранние стадии связывания лиганда с карманом связывания. Получается, что нам нужно провести докинг, взяв в качестве конформации белка free.pdb, а лиганд позаимствовав из bound.pdb. При этом, как было описано выше, мы не создадим биас стартового состояния для конформации лиганда, так как инструменты докинга генерируют большое разнообразие конформаций для лигандов, а не берут исходную.
Инструментам докинга нужны уже протонированные структуры как белка, так и лиганда.
2.1. Для подготовки протонированной структуры белка воспользуйтесь веб-сервисом PDB2PQR. Запустите его для free.pdb, используя параметры по умолчанию, за исключением "Create an APBS input file" - его выключите. Время работы сервиса – 20-30 секунд.
2.2. Если все отработало, вам станет доступен для скачивания файл с форматом .pqr. Скачайте его и переименуйте как-то осмысленно, например, free-H.pdq. Файлы pqr спокойно открываются PyMol.
(Доп. баллы) Скачайте и изучите файл .err или .log, секцию "pKa summary". PDB2PQR внутри использует программу для предсказания pKa PROPKA, и в этом разделе вы можете найти предсказанные значения. Есть ли среди них сильно отличающиеся от референса? Что это за остатки? Найдите их, проиллюстрируйте их окружение и взаимодействия в PyMol. Согласны ли вы с предсказанием программы? Правильно ли она расположила водороды? Повторите процедуру для файла bound_without_lig.pdb
2.3. Теперь нужно даровать протоны лиганду. Откройте в PyMol bound.pdb, выделите лиганд и сохраните его в формате .mol2, например, используя команду save lig.mol2, sele. Как протонировать лиганд? Вы можете сделать это вручную (h_add внутри PyMol, и затем ручная коррекция через Builder, если добавление окажется неверным - а оно скорее всего окажется). Либо использовать программные решения (рекомендованный путь).
2.4. Программное добавление протонов. Забросьте файл lig.mol2 на кодомо и поспользуйтесь программой SPORES. Бинарник лежит по пути
/home/students/y13/alexander.zlobin/SPORES_64bit
Вы можете как скопировать программу себе, так и вызывать ее по полному пути. Сам вызов: SPORES_64bit --mode complete <input.mol2> <output.mol2>. Скачайте выходной файл, изучите его в PyMol. Сделайте изображения "до-после". Разумно ли добавление протонов? Сохраните эту молекулу в дополнительный файл с расширением pdb, он нам понадобится дальше.
Задание 3. Докинг
2.5 балла
Теперь мы готовы генерировать гипотезы о расположении лиганда. Мы будем использовать веб-версию, наверное, самого популярного открытого инструмента для докинга Autodock Vina – Webina.
3.1. Зайдите на сайт Webina. В первом поле загрузите ваш файл белка в формате pqr. Во всплывающем окне не выбирайте добавлять водороды – вы их уже добавили сами. Нажмите Convert, подождите 20-30 секунд.
3.2. Загрузите файл лиганда с протонами в формате mol2. Не добавляйте протоны, нажмите Convert.
3.3. В третье окно загрузите файл лиганда в формате pdb, который вы сделали на пункте 2.4.
Появятся отображения белка и лиганда. Под изображением белка есть опции, оставьте только "Correct pose", так вы сможете идентифицировать визуально, где находится поза лиганда из bound.pdb структуры. Так как все файлы для задания я дал уже исходно выровненными, положение лиганда из bound.pdb вам автоматически послужит отправной точкой для задания кармана связывания для программы докинга. Он на отображении выглядит как цветной параллелепипед. Вам нужно, чтобы он покрыл собой лиганд с отступами по несколько ангстрем со всех краев. Тут есть два пути:
3.4. Используйте ползунки на сайте или
3.5. В PyMol идентифицируйте наиболее "центральный" атом лиганда (не строго, на глаз). Открыв файл bound.pdb в текстовом виде, найдите этот атом и вбейте его координаты на сайт. Размеры ячейки можно долго не подбирать, а задать, например, как 20-20-20 – практически наверняка подойдет. Снижать размеры есть смысл только чтобы сэкономить время расчета.
3.6. Расчет будет проводиться на вашем компьютере, поэтому задайте число CPU в разумных пределах (меньше, чем общее число CPU на вашей машине). Альтернативно можно скачать все инпуты и провести расчет на kodomo – вызов Autodock Vina производится просто командой vina. Какие флаги и как использовать, если вы хотите пойти таким путем, Webina вам сообщает в конце страницы.
3.7. Параметр exhaustiveness оставьте дефолтным.
3.8. Проведите расчет любым из способов – он займет несколько минут (3-5).
3.9. Изучите страницу выдачи. На ней есть простенький визуализатор, однако чтобы изучать взаимодействия его мало. Скачайте выходные позы в формате pdbqt и откройте их в PyMol. Можете разбить один объект с множеством состояний на несколько отдельных, соответствующих позам – так будет удобнее с ними работать. Это делает команда split_states.
3.10. Есть ли среди выдачи поза, похожая по положению на ту, что была в bound.pdb? Если нет, как вы думаете, почему?
3.11. Изучите более детально лучшую позу из выдачи. Постройте для нее визуализацию всех взаимодействий в PoseView. Сделайте то же самое для взаимодействий истинной позы в связаннос состоянии (bound.pdb). Покажите обе диаграммы. Есть ли в них общие взаимодействия? Что это может значить в контексте процесса связывания лиганда с белком?
PoseView это один из инструментов в составе ProteinsPlus. После того, как загрузите белок и лиганд, найдите этот инструмент в правом меню.
ProteinsPlus принимает лиганд в формате sdf. PyMol умеет сохранять в этом формате. save lig.sdf, sele
Валерия Зубарева привлекла внимание к следующей проблеме: PyMol может некорректно разметить валентности связей в объекте из файла pdbqt. Сам pdbqt формат не имеет информации о валентности связей, однако sdf имеет, и если в нем будут напутаны валентности, ProteinsPlus сломается. Если у вас PyMol ошибся с валентностями, сделайте следующее – сохраните нужную позу как pdb, и на kodomo воспользуйтесь командой babel -ipdb <input.pdb> -osdf <output.sdf>. Можно так сделать прямо сразу же, не полагаясь на конвертатор форматов в PyMol.
О чем здесь стоит порассуждать
- Если есть общие взаимодействия, могут ли они быть первоначальными "якорями" в этом процессе? Задерживая диффундирующий мимо лиганд, тем самым инициируя замыкание дополнительных связей?
Насколько для вашей пары вероятен эффект индуцированного соответствия (induced fit)? Как подойти к ответу на этот вопрос – если и в свободной форме лиганд лег в карман относительно похоже на референсную позу, значит, все дальнейшие изменения с белком произошли вследствие этого связывания, то есть позже во времени. Это значит, что индуцированного соответствия нет, а есть вызываемые связыванием лиганда конформационные перестройки, которые могут иметь функциональное значение.
- Если же без изменения конформации белка похожей позы никак не получается, это может значить, что сам процесс связывания не может произойти без подстройки белка под лиганд, что и есть суть эффекта индуцированного соответствия.
(Доп. баллы) Удалось ли PoseView найти все взаимодействия верно, или он где-то наврал?
Еще один доп
Дойдя до конца, вы можете заметить, что и добавление протонов, и поиск карманов реализованы в виде инструментов в ProteinsPlus. Либо, возможно, вы это знали заранее, и справедливо задаетесь вопросом, почему мы используем много разных инструментов. Ответ на этот вопрос – потому что на мой взгляд тулы внутри ProteinsPlus работают плохо, особенно выделение полостей, которое и работает долго, и косячит люто. PoseView же мы используем, потому что все имеющиеся аналоги либо хуже, либо платные. PROPKA и SPORES – лидеры в своих областях.
У вас может быть другое мнение касательно функционала ProteinsPlus – сравните результаты поиска карманов POCASA и DoGSiteScorer, протонирования SPORES и Protoss. Сравнивать PROPKA (PDB2PQR) и Protoss бессмысленно – Protoss не занимается попытками предсказывать pKa, и в этом его главная проблема при работе с белками в сравнении с PDB2PQR.