Гомологичное моделирование комплекса белка с лигандом

Будем работать с белком лизоцимом из какого-нибудь организма. Используя известную структуру лизоцима форели (1LMP) как образец, необходимо построить модель комплекса моего белка с лигандом.

Для работы был выбран белок лизоцим мартышки-гусара: LYSC_ERYPA.

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

  1. Построим выравнивание последовательности из структуры ID 1LMP и LYSC_ERYPA. Воспользуемся ресурсом Clustal. Полученное выравнивание сохраним в формате PIR.

  2. Модификация файла выравнивания:
    Переименуем последовательности в файле выравнивания:
    БылоСтало
    >P1;uniprot|P37712|LYSC_ERYPA >P1;seq
    >P1;1LMP__|PDBID|CHAIN|SEQUENCE >P1;1lmp
    После имени последовательности моделируемого белка добавим строчку:

    sequence:ХХХХХ::::::: 0.00: 0.00
    Эта строчка описывает входные параметры последовательности для modeller.
    После имени последовательности белка-образца добавим:
    structureX:1lmp_now.ent:1 :A: 130 :A:undefined:undefined:-1.00:-1.00
    Эта строчка описывает, какой файл содержит структуру белка с этой последовательностью, номера первой и последней аминокислот в структуре, идентификатор цепи и т.д. В конце каждой последовательности добавим символы
    /.
    Символ "/" означает конец цепи белка. Точка указывает на то, что имеется один лиганд (если бы было два лиганда стояли бы две точки).

    В результате имеем следующий файл выравнивания: aln.pir.

  3. Модификация файла со структурой:

    Удалим всю воду из структуры (в текстовом редакторе)

    Всем атомам лиганда присвоим одно и то же имя и один и тот же номер "остатка" (MODELLER считает, что один лиганд = один остаток) и модифицируем имена атомов каждого остатка, добавив в конец буквы A, B, C. Смысл операции в том, чтобы атомы остатка 130 имели индекс А, атомы остатка 131 имели индекс В и т.д. . После модификации имен атомов измените номера остатков на 130.
    Пример:
    БылоСтало
    HETATM 1014 O7 NAG 130 HETATM 1014 O7A NAG 130
    HETATM 1015 C1 NAG 131 HETATM 1015 C1B NAG 130

    Сохраним в файле 1lmp_now.ent.

  4. Создание управляющего скрипта LYSC_ERYPA.py.
    Предоставлялась следующая заготовка:

    from modeller.automodel import *
    class mymodel(automodel):
        def special_restraints(self, aln):
            rsr = self.restraints
            for ids in (('OD1:98:A', 'O6A:131:A'),
                        ('N:65:A', 'O7B:132:A'),
                        ('OD2:73:A', 'O1C:133:A')):
                        atoms = [self.atoms[i] for i in ids]
                        rsr.add(forms.upper_bound(group=physical.upper_distance,
                          feature=features.distance(*atoms), mean=3.5, stdev=0.1)) 
    env = environ()
    env.io.hetatm = True
    a = mymodel(env, alnfile='test1.ali', knowns=('1lmp'), sequence='seq')
    a.starting_model = 1
    a.ending_model = 5
    a.make()
    
    В скрипте указано:
    • что нужно использовать стандартные валентные углы в полипептидной цепи (строчка 4)
    • что дополнительно нужно сохранять взаимное расположение определенных пар атомов (3.5 ангстрема);
      В данном случае трех атомов белка, образующих водородные связи с тремя атомами лиганда - строчки 5-7 с ID пар атомов; параметры взаимного расположения атомов пары описаны в строчке 9-10. 3 точки могут однозначно расположить сложную структуру в пространстве, поэтому мы выбираем водородные связи как источник данных точек.
    • что ковалентные связи в гетероатомах нужно вычислять по расстояниям между атомами (так же, как это делает Rasmol), строчка 12
    • что имя файла с выравниванием и имена последовательностей образца и моделируемого белка, строчка 13 (а имя файла со структурой содержится в выравнивании)
    • что число и номера моделей, которые нужно построить (в данном примере 5 моделей), строки 14-15
    • что пора строить модель строчка 16

    В скрипте необходимо отредактировать строчки, в которых указаны какие водородные связи белка с лигандом должны быть В БУДУЩЕЙ МОДЕЛИ. Номера остатков и имена нужных атомов определим по выравниванию и тому, какие водородные связи имеются в образце. Критерий водородной связи: расстояние менее 3.5 ангстрем между азотом или кислородом белка с подходящими атомами лиганда.
    Так как моделируемом белке число остатков не совпадает с числом остатков в белке-образце, то номера "остатков" лиганда изменятся.
    Также необходимо изменить имя файла с выравниванием в строчке 13.

    Полученный скрипт: LYSC_ERYPA.py

  5. Запуск исполнения скрипта командой

     mod9v7 myscript
    Во всех моделях имеется неструктурированный "хвост" на N-конце. Этого и следовало ожидать, так как Modeller строит последовательность по гомологии и использует только соответствующую информацию, а в моём белке как раз был участок на N-конце, выравненный с гэпами.
  6. Проверим качество моделей и выберем лучшую. Инструменты для оценки качества структуры можно найти в веб интерфейсе WHATIF.

    Проведём анализ средством "Build/check/repair model -> Protein Model Check", который выполняют общую проверку модели белка. Наиболее важными пунктами для нас будут те, по которым белок имеет ошибки (error).

    Ошибки не очень разнообразны, в список входят ошибки: угла тау (N-Calpha-C'), слишком маленькие межатомные расстояния и провёрнутые боковые радикалы HIS, ASN, GLN (оценивается возможным наличием водородных связей в случае поворота боковых радикалов, которых нет).

    Наименьшее количество ошибок в третьей модели, поэтому будем считать её лучшей.



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