Докинг низкомолекулярных лигандов в структуру белка

Будем работать с белком лизоцимом (LYSC_ERYPA), структуру которого была построена на основе гомологичного моделирования на прошлом практикуме. Программе Autodock Vina для докинга необходимы специально форматированные файлы pdb c зарядами и указанием торсионных углов.
  1. Находим SMILES нотацию для NAG. Это удобно сделать на странице структуры 1lmp. Сохраним эту нотацию в файл nag.smi.

  2. C помощью obgen построим 3D структуру этого сахара в pdb формате.

    obgen nag.smi > nag.mol
    babel -imol nag.mol -opdb nag.pdb
  3. Скриптом prepare_ligand4.py из пакета Autodock tools создаём pdbqt файл лиганда.

    prepare_ligand4.py -l nag.pdb
  4. Так же, скриптом prepare_receptor4.py из пакета Autodock tools создаём pdbqt файл белка.

    prepare_receptor4.py -r prot.pdb
  5. Итак у нас есть входные файлы. Теперь надо создать файл с параметрами докинга vina.cfg. Для докинга необходимо указать область структуры белка в которой будет происходить поиск места для связывания. Удобно его задать как куб с неким центором. Координаты центра мы определим из модели комплекса, которую мы построили на прошлом занятии. Выберим атом сахара С2, так как он находится в центре сайта связывания и из текста pdb файла извлечём его координаты.

    Построим файл vina.cfg.

  6. Теперь можно провести первый докинг:

    vina --config vina.cfg --receptor prot.pdbqt --ligand nag.pdbqt --out nag_prot.pdbqt --log nag_prot.log
  7. Просмотрим файл nag_prot.log. Энергии 3ёх лучших расположений и геометрическую разницу между ними:

    mode |   affinity | dist from best mode
         | (kcal/mol) | rmsd l.b.| rmsd u.b.
    -----+------------+----------+----------
       1         -5.8      0.000      0.000
       2         -5.5      2.763      4.413
       3         -5.4      1.759      2.952
    
    В PyMol загрузим файлы nag_prot.pdbqt и prot.pdbqt. Отобразим все состояния на одной картинке.

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

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

    prepare_flexreceptor4.py -r prot.pdbqt -s ASN64_TRP82_ASP120
    и проведём докинг:
    vina --config vina.cfg --receptor prot_rigid.pdbqt --flex prot_flex.pdbqt --ligand nag.pdbqt --out nag_prot_flex.pdbqt --log nag_prot_flex.log 
  9. Время счёта было в несколько раз больше, чем для случая с жёстким белком. Просмотрим файл nag_prot_flex.log. Энергии 3ёх лучших расположений и геометрическую разницу между ними:

    mode |   affinity | dist from best mode
         | (kcal/mol) | rmsd l.b.| rmsd u.b.
    -----+------------+----------+----------
       1         -5.1      0.000      0.000
       2         -4.8      0.956      1.991
       3         -4.7      1.620      3.076
    

    По сравнению с первым случаем, у лиганда здесь гораздо больше возможностей связаться с белком. Здесь лиганд в различных конформациях занимает больший объём. Слева снизу на картинке даже есть одна обособленная конформация лиганда. Но смущает тот факт, что энергия лучшего связывания с некоторыми подвижными аминокислотами (-5.1) гораздо выше энергии связывания с жёстким белком (-5.8).

  10. Расположение, наиболее близкое к тому, что было получено в моделировании, находится на 18 месте в списке для конформаций с жёстким белком, с энергией связываения -4.4 ккал/моль. Но в данном случае и не следовало ожидать близких расположений, так как в при моделирование в качестве лиганда мы имели трисахарид, а при докинге всего лишь моносахарид.

  11. NAG содержит в себе СH3C(=O)NH группу. Создадим 3 лиганда где метильный радикал этой группы будет заменён на OH (nag2.smi), NH2 (nag3.smi), H (nag4.smi). Для каждого из этих лигандов проведём обыкновенный докинг. Для этого напишем следующий скрипт:

    #проведение докинга
    for i in {2..4};do
    obgen nag${i}.smi > nag${i}.mol
    babel -imol nag${i}.mol -opdb nag${i}.pdb
    prepare_ligand4.py -l nag${i}.pdb
    vina --config vina.cfg --receptor prot.pdbqt --ligand nag${i}.pdbqt --out nag${i}_prot.pdbqt --log nag${i}_prot.log
    done
    
    #получение таблиц трёх лучших расположений
    #для каждого проведённого докинга
    for i in *.log;do
    echo -e "$i" >> logs.txt
    grep 'mode' $i -A 5 >> logs.txt
    echo -e "\n" >> logs.txt
    done
    
    Таблицы лучших расположений.

    Для получения изображений откроем файл prot.pdbqt, расположим структуру так, чтоб по центру экрана был центр связывания, и выполним следующий скрипт в PyMOL:

    load nag_prot.pdbqt, n1
    load nag2_prot.pdbqt, n2
    load nag3_prot.pdbqt, n3
    load nag4_prot.pdbqt, n4
    
    set all_states, on
    disable all
    enable prot.pdbqt
    
    python
    for i in range(1,5):
    	cmd.enable("n"+str(i))
    	cmd.show("sticks","n"+str(i))
    	cmd.ray(640,480)
    	cmd.png("nag"+str(i))
    	cmd.disable("n"+str(i))
    python end
    
    Полученные изображения: nag2.png, nag3.png, nag4.png.
    Для удобства анализа сделаем из них одно анимированное изображение:

    На изображении видно, что одни лиганды помещаются в белке более глубоко, а другие менее. Глубже всех связывается nag4 (-H), дальше всех - nag2 (-OH). Хотя наибольшую аффинность показывает nag3 (-NH2), -5.9 ккал/моль.



© Айдарханов Руслан 2008