Все файлы по данному практикуму находятся в папке.
  1. Построение выравнивания последовательности из структуры ID: 1lmp и предложенного белка (в моем случае LYS_BPPS1). Выравнивание строили в программе ClustalW и сохранили в формате PIR.

  2. Модификация файла выравнивания:
    Последовательность в файле выравнивания переименовали как в примере:

    БылоСтало
    >P1;uniprot|P37712|LYSC_CAMDR >P1;seq
    >P1;1LMP__|PDBID|CHAIN|SEQUENCE >P1;1lmp

    После имени последовательности моделируемого белка добавили строчку:

    sequence:XXXXX::::::: 0.00: 0.00
    
    эта строчка описывает входные параметры последовательности для modeller.
    После имени последовательности белка-образца добавили:
    structureX:1lmp_now.ent:1 :A: 132 :A:undefined:undefined:-1.00:-1.00
    
    эта строчка описывает, какой файл содержит структуру белка с этой последовательностью, номера первой и последней аминокислот в структуре, идентификатор цепи и т.д.
    В конце каждой последовательности добавили символы
    /.
    
    Символ "/" означает конец цепи белка. Точка указывает на то, что имеется один лиганд (если бы было два лиганда стояли бы две точки). В итоге получился файл aligned.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. Создание управляющего скрипта. Нам представлена следующая заготовка:

    from modeller.automodel import *
    сlass 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 ангстрем между азотом или кислородом белка с подходящими атомами лиганда)
    А затем по уже построенному выравниванию образца с нашим белком, так как в моделируемом белке число остатков не совпадает с числом остатков в белке-образце и номера "остатков" лиганда изменились.

    В итоге имеем скрипт lys_bpps1.py.

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

     
    mod9v7 lys_bpps1.py & 
    
  6. Рассмотрим полученные модели.

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

  7. Проверим качество моделей и выберем лучшую. Инструменты для оценки качества структуры можно найти в веб интерфейсе WHATIF. Достаточно 2-3 инструментов.

    1 Model
     Structure Z-scores, positive is better than average:
      Ramachandran Z-score : -0.810
    
     RMS Z-scores, should be close to 1.0:
      for bond lengths     :  0.988
      for bond angles      :  1.312
      Improper dihedral    :  1.104
    
    2 Model
     Structure Z-scores, positive is better than average:
      Ramachandran Z-score : -1.137
    
     RMS Z-scores, should be close to 1.0:
      for bond lengths     :  0.975
      for bond angles      :  1.295
      Improper dihedral    :  1.121
    
    3 Model
     Structure Z-scores, positive is better than average:
      Ramachandran Z-score : -1.264
    
     RMS Z-scores, should be close to 1.0:
      for bond lengths     :  0.985
      for bond angles      :  1.272
      Improper dihedral    :  1.095
    
    4 Model
     Structure Z-scores, positive is better than average:
      Ramachandran Z-score : -1.288
    
     RMS Z-scores, should be close to 1.0:
      for bond lengths     :  0.985
      for bond angles      :  1.338
      Improper dihedral    :  1.052
    
    5 Model
     Structure Z-scores, positive is better than average:
      Ramachandran Z-score : -1.267
    
     RMS Z-scores, should be close to 1.0:
      for bond lengths     :  0.999
      for bond angles      :  1.319
      Improper dihedral    :  1.046
    

    Лучшая модель по z-score Рамачандрана: 1
    По Bond lengths: 5
    По Bond angles: 3
    По Improper dihedral: 5
    Кажется, 5 модель лучше остальных.

 

 

© Дудина Дарья.