Облако тегов

Авторизация


 
 

Уровень 1. Моделирование лактат-дегидрогеназы Trichomonas vaginalis основанный на одиночном образце

Печать E-mail
Автор Королёва Юлия   
08.04.2009 г.

Руководство составлено на основе инструкций по моделированию,  которые предложены на сайте программы MODELLER

Ген лактат-дегидрогеназы был индентифицирован в секвенированном геноме Trichomonas vaginalis (TvLDH). Соответствующий белок имел большее сходство с малат-дегидрогеназой трихомонады (TvMDH) чем с любыми другими лактат-дегидрогеназами (LDH). Мы предположили, что TvLDH возник из TvMDH относительно недавно путём конвергентной эволюции. Были сконструированы сравнительные модели TvLDH и TvMDH для изучения их аминокислотных последовательностей, а также эксперимента по сайт-директивному мутагенезу (для объяснения специфических изменений при конвергентной эволюции данных ферментов). Были экспрессированы как нативный, так и мутировавший фермент и проводилось сравнение их активности.

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

1. Поиск структур, родственных TvLDH

Во-первых, необходимо поместить исследуемую последовательность TvLDH в PIR-формат, читаемый программой MODELLER (файл "TvLDH.ali").

>P1;TvLDH
sequence:TvLDH:::::::0.00: 0.00
MSEAAHVLITGAAGQIGYILSHWIASGELYGDRQVYLHLLDIPPAMNRLTALTMELEDCAFPHLAGFVATTDPKA
AFKDIDCAFLVASMPLKPGQVRADLISSNSVIFKNTGEYLSKWAKPSVKVLVIGNPDNTNCEIAMLHAKNLKPEN
FSSLSMLDQNRAYYEVASKLGVDVKDVHDIIVWGNHGESMVADLTQATFTKEGKTQKVVDVLDHDYVFDTFFKKI
GHRAWDILEHRGFTSAASPTKAAIQHMKAWLFGTAPGEVLSMGIPVPEGNPYGIKPGVVFSFPCNVDKEGKIHVV
EGFKVNDWLREKLDFTEKDLFHEKEIALNHLAQGG*
File: TvLDH.ali

 Первая строка содержит код последовательности в формате ">P1;code".

Вторая строка с десятью полями отделяет двоеточием основную содержащуюся информацию о структуре файла. Только два из этих полей используются для последовательности: "sequence" (показывает, что файл содержит последовательность без известных структур) и "TvLDH" (имя моделируемого файла). Основа этого файла содержит последовательность TvLDH, где "*" обозначает её конец. Здесь используется стандартная однобуквенная кодировка аминокислот (Другие кодировки используются только в случае наличия  нестандартных остатков. Для дополнительной информации смотрите файл modlib/restyp.lib в дистрибутиве Modeller)

Поиск возможно родственных последовательностей в известных белковых структурах может быть проведён с помощью команды profile.build() в программе MODELLER. Введённая последовательность, строка за строкой, будет сравниваться с уже известными (см.файл "build_profile.py"):

1.  Иницилизация «окружения» для запуска моделирования, путём создания нового «окружающего» объекта. Почти все сценарии MODELLER требуют этот шаг. Создание нового объекта (здесь 'env', но вы можете назвать его по своему желанию) необходимо для построения многих других полезных объектов.

2. Создайте новый объект 'sequence_db', назовите его 'sdb'. Объект 'sequence_db' используется для поиска больших баз данных аминокслотных последовательностей белков.

3. Откройте файл, содержащий полный PDB-вариант тех 95% последовательностей, содержащихся в базе данных sdb, в текстовом формате. Последовательности могут быть найдены в файле "pdb_95.pir". Это файл в формате PIR. Из него удалены последовательности, длиной менее чем 30 аминокислотных остатков или содержщие более чем 4000 нестандартных или не занесённых в базу остатков.

4. Сохраните файл, содержащий все последовательности, прочитанные в предыдущих шагах, как двоичный (для машины).

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

6. Создайте новый «регулируемый» ('alignment') объект, назовите его 'aln', откройте исследуемую последовательность "TvLDH" (файла "TvLDH.ali"), и конвертируйте его в профиль 'prf'.

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

7.  Найдите базу данных последовательностей 'sdb' для нашего изучаемого профиля 'prf'. Подходящие последовательности из базы данных будут добавлены в профиль.

8. Напишите профиль исследуемой последовательности и её гомологов (см. файл "build_profile.prf"). Эквивалентная информация также написана в стандартном регулируемом формате.

from modeller import *
log.verbose()
env = environ()
#-- Prepare the input files
#-- Read in the sequence database
sdb = sequence_db(env)
sdb.read(seq_database_file='pdb_95.pir', seq_database_format='PIR',
chains_list='ALL', minmax_db_seq_len=(30, 4000), clean_sequences=True)
#-- Write the sequence database in binary form
sdb.write(seq_database_file='pdb_95.bin', seq_database_format='BINARY',
chains_list='ALL')
#-- Now, read in the binary database
sdb.read(seq_database_file='pdb_95.bin', seq_database_format='BINARY',
chains_list='ALL')
#-- Read in the target sequence/alignment
aln = alignment(env)
aln.append(file='TvLDH.ali', alignment_format='PIR', align_codes='ALL')
#-- Convert the input sequence/alignment into
#   profile format
prf = aln.to_profile()
#-- Scan sequence database to pick up homologous sequences
prf.build(sdb, matrix_offset=-450, rr_file='${LIB}/blosum62.sim.mat',
gap_penalties_1d=(-500, -50), n_prof_iterations=1,
check_profile=False, max_aln_evalue=0.01)
#-- Write out the profile in text format
prf.write(file='build_profile.prf', profile_format='TEXT')
#-- Convert the profile back to alignment format
aln = prf.to_alignment()
#-- Write out the alignment file
aln.write(file='build_profile.ali', alignment_format='PIR')

File: build_profile.py

 

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

mod9v1 build_profile.py

(Вы можете вызвать командную строку, используя xterm или GNOME Terminal в Linux, Terminal в Mac OS X, или ссылку 'Modeller' в пусковом меню Windows. Для большей информации о запуске Modeller, смотрите «release notes». Для большей информации об использовании Python, смотрите «Python web site». Необходимо помнить, что вы можете использовать и другие модули Python в ваших Modeller-скриптах, если Python установлен в вашей системе)

Команда profile.build() имеет много опций. В этом примере rr_file приведён для использования матриц подобия BLOSUM62 (файл "blosum62.sim.mat" в MODELLER-дистрибутиве) Соответственно, параметры matrix_offset и gap_penalties_1d установлены для соответствия значений матрицы BLOSUM62. В этом примере, мы будем запускать только один поиск повторений (установка  параметра n_prof_iterations равному 1). Нет необходимости для проверки профиля на отклонения (check_profile set to False). Параметр max_aln_evalue установленный на 0.01, показывает что только последовательности с уровнями энергии меньшими или равными 0.01 будут включены в финальный профиль.

2. Выбор образца

Вывод скрипта "build_profile.py" прописан в файле "build_profile.log". MODELLER всегда создает лог-файлы. Ошибки и опасности в этих лог-файлах могут быть найдены  поиском с помощью  "_E>и "_W>" по отдельности. MODELLER также пишет профили в текстовом формате, как файл "build_profile.prf". Первые 6 строк с комментарями показывают введённые параметры, которые MODELLER использует для построения профиля. Следующие строки отвечают за  последовательности, обнаруженные в profile.build().

# Number of sequences:     30
# Length of profile  :    335
# N_PROF_ITERATIONS  :      1
# GAP_PENALTIES_1D   :   -900.0   -50.0
# MATRIX_OFFSET      :    0.0
# RR_FILE            : ${MODINSTALL8v1}/modlib//as1.sim.mat
1 TvLDH                                    S     0   335     1   335     0     0     0    0.    0.0
2 1a5z                                       X     1   312    75   242    63   229   164   28.   0.83E-08
3 1b8pA                                    X     1   327     7    331     6    325   316   42.    0.0
4 1bdmA                                   X     1   318     1    325     1    310   309   45.    0.0
5 1t2dA                                     X     1   315     5    256     4    250   238   25.   0.66E-04
6 1civA                                      X     1   374     6    334    33   358   325   35.    0.0
7 2cmd                                       X     1   312     7    320     3    303   289   27.   0.16E-05
8 1o6zA                                     X     1   303     7    320     3    287   278   26.   0.27E-05
9 1ur5A                                      X     1   299    13   191    9   171   158   31.   0.25E-02
10 1guzA                                   X     1   305    13   301     8   280   265   25.   0.28E-08
11 1gv0A                                   X     1   301    13   323     8   289   274   26.   0.28E-04
12 1hyeA                                   X     1   307     7   191      3    183   173   29.   0.14E-07
13 1i0zA                                    X     1   332    85   300    94   304   207   25.   0.66E-05
14 1i10A                                    X     1   331    85   295    93   298   196   26.   0.86E-05
15 1ldnA                                    X     1   316    78   298    73   301   214   26.   0.19E-03
16 6ldh                                       X     1   329    47   301    56   302   244   23.   0.17E-02
17 2ldx                                       X     1   331    66   306    67   306   227   26.   0.25E-04
18 5ldh                                       X     1   333    85   300    94   304   207   26.   0.30E-05
19 9ldtA                                     X     1   331    85   301    93   304   207   26.   0.10E-05
20 1llc                                         X     1   321    64   239    53   234   164   26.   0.20E-03
21 1lldA                                      X     1   313    13   242     9    233   216   31.   0.31E-07
22 5mdhA                                  X     1   333     2    332     1    331   328   44.    0.0
23 7mdhA                                  X     1   351     6    334    14   339   325   34.    0.0
24 1mldA                                   X     1   313     5    198     1    189   183   26.   0.13E-05
25 1oc4A                                   X     1   315     5    191     4    186   174   28.   0.18E-04
26 1ojuA                                    X     1   294    78   320    68   285   218   28.   0.43E-05
27 1pzgA                                   X     1   327    74   191    71   190   114   30.   0.16E-06
28 1smkA                                  X     1   313     7    202     4   198   188   34.    0.0
29 1sovA                                   X     1   316    81   256    76   248   160   27.   0.93E-03
30 1y6jA                                    X     1   289    77   191    58   167   109   33.   0.32E-05 

File: build_profile.prf

  Наиболее важные колонки в выведенной таблице profile.build() – вторая, десятая, одиннадцатая и двенадцатая.

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

Одиннадцатая строка описывает процентную идентичность последовательности TvLDH и PDB-последовательности, нормализованной по длине со сравниваемой (показана в десятой колонке). В основном, уровень идентичности последовательностей - около 25%, если  сравниваемая последовательность короткая (т.е. менее 100 остатков).

Наилучшие измерения соответствия сравниваемой последовательности даются в двенадцатой колонке с уровнями энергии сравниваемых последовательностей. В данном примере шесть PDB-последовательностей показывают значительное сходство с исследуемой последовательностью с уровнями энергии, равными 0. Все совпадения имеются с малат-дегидрогеназами (1bdm:A, 5mdh:A, 1b8p:A, 1civ:A, 7mdh:A, и 1smk:A). Чтобы выбрать наиболее  совпадающую с нашей исследуемой последовательностью из шести сходных структур, мы будем использовать команду alignment.compare_structures(), для определения структурного и последовательного сходства между возможными образцами (file "compare.py").

from modeller import *
env = environ()
aln = alignment(env)
for (pdb, chain) in (('1b8p', 'A'), ('1bdm', 'A'), ('1civ', 'A'),
('5mdh', 'A'), ('7mdh', 'A'), ('1smk', 'A')):
m = model(env, file=pdb, model_segment=('FIRST:'+chain, 'LAST:'+chain))
aln.append_model(m, atom_files=pdb, align_codes=pdb+chain)
aln.malign()
aln.malign3d()
aln.compare_structures()
aln.id_table(matrix_file='family.mat')
env.dendrogram(matrix_file='family.mat', cluster_cut=-1.0)
File: compare.py

 

В этом случае, мы создаём (сначала пустой) сравниваемый объект 'aln' и затем используем петлю 'for'  для сигнала программе MODELLER прочитать каждый из PDB-файлов (необходимо помнить, что для правильной работы необходимо иметь все PDB-файлы в соответственной директории как на этом скрипте). Мы используем аргумент model_segment, чтобы выделить только одну цепь аминокислот для прочтения из каждого PDB-файла (в ином случае, будут прочитываться все цепи из файла). Если каждая из структур читается, мы используем метод append_model для добавления структур в регулируемую последовательность.

В конце петли, все структуры находятся в регулируемой последовательности, но они не идеально выровнены относительно друг друга (append_model создаёт простое выравнивание 1:1 без промежутков). Следовательно, мы совершенствуем выравнивние, используя malign для вычисления умноженной выровненной последовательности.

Команда malign3d преобразует множественные двумерные структуры в 3D, используя умноженную выровненную последовательность как точку отсчёта.

Команда compare_structures сравнивает структуры согласно выстроенным malign3d. Это не создаёт выровненную структуру, но суммирует RMS и DRMS-отклонения между атомными позициями и дистанциями, процент идентичности последовательностей и некоторые другие измерения.

В итоге,  команда id_table записывает файл с расстояниями между базовыми парами, что может быть использовано непосредственно при введении команды dendrogram (или программы кластеринга в упаковке PHYLIP). dendrogram создаёт дерево кластеров из введённых матриц расстояний между базовыми парами, что помогает наглядно показать разницу между последлвательностями. Также создается лог-файл, доступный для просмотра (файл "compare.log").

Sequence identity comparison (ID_TABLE):
Diagonal       ... number of residues;
Upper triangle ... number of identical residues;
Lower triangle ... % sequence identity, id/min(length).
1b8pA @11bdmA @11civA @25mdhA @27mdhA @21smkA @2
1b8pA @1      327     194     147     151     153      49
1bdmA @1       61     318     152     167     155      56
1civA @2       45      48     374     139     304      53
5mdhA @2       46      53      42     333     139      57
7mdhA @2       47      49      87      42     351      48
1smkA @2       16      18      17      18      15     313
Weighted pair-group average clustering based on a distance matrix:
.----------------------- 1b8pA @1.9    39.0000
|
.-------------------------------- 1bdmA @1.8    50.5000
|
.------------------------------------ 5mdhA @2.4    55.3750
|
|                                .--- 1civA @2.8    13.0000
|                                |
.---------------------------------------------------------- 7mdhA @2.4    83.2500
|
.------------------------------------------------------------ 1smkA @2.5
+----+----+----+----+----+----+----+----+----+----+----+----+
86.0600   73.4150   60.7700   48.1250   35.4800   22.8350   10.1900
79.7375   67.0925   54.4475   41.8025   29.1575   16.5125

Excerpts of the file compare.log

 

Сравнение, проведённое выше, показывает, что 1civ:A и 7mdh:A почти полностью идентичны, обе последовательны и структурны. Тем не менее 7mdh:A имеет лучшее кристаллографическое разрешение, чем 1civ:A (2.4Å против 2.8Å).  Структуры из второй группы (5mdh:A, 1bdm:A и 1b8p:A) имеют некоторое сходство. В этой группе 5mdh:A имеет наихудшее разрешение, оставляя для выбора только 1bdm:A и 1b8p:A. 1smk:A – лучшая структура среди представленных образцов.  Но это одна из структур, которая наименее идентична (34%) исследуемой последовательности.

Окончательно мы выбрали 1bdm:A, также 1b8p:A и 7mdh:A, так как у них лучший кристаллографический R-фактор (16.9%) и эти последовательности более других сходны с исследуемой (45%).

3. Выравнивание TvLDF по шаблону

Хороший путь для выравнивания последовательности TvLDH со структурой 1bdm:A – команда align2d() в MODELLER. Хотя align2d() основана на динамическом алгоритме, она отличается от стандартных методов выравнивания последовательностей, тем что она даёт в отчёте структурную информацию из шаблона. Эта задача успешно выполняется через различные функции устранения интервалов. В интервалы заносятся «растворившиеся» и изогнутые участки, вторичные структурные сегменты, находящиеся снаружи или между замкнутыми в пространстве позициями. В результате, ошибки выравнивания  устраняются  приближением третичной структуры родственной последовательности к той, которая встречается у стандартной выровненной последовательности. Это улучшение становится очень важным, так как сходство между последовательностями уменьшается и количество интервалов возрастает. В приведённом примере, сходность образца очень высока, поэтому почти любой метод выравнивания с приемлемыми параметрами будет давать практически одно и то же выравнивание. Следующий скрипт программы MODELLER выравнивает последовательность TvLDH в файле "TvLDH.ali" с 1bdm:A-структурой в PDB-файле "1bdm.pdb" (файл "align2d.py").

from modeller import *
env = environ()
aln = alignment(env)
mdl = model(env, file='1bdm', model_segment=('FIRST:A','LAST:A'))
aln.append_model(mdl, align_codes='1bdmA', atom_files='1bdm.pdb')
aln.append(file='TvLDH.ali', align_codes='TvLDH')
aln.align2d()
aln.write(file='TvLDH-1bdmA.ali', alignment_format='PIR')
aln.write(file='TvLDH-1bdmA.pap', alignment_format='PAP')
File: align2d.py

 

В этом скрипте мы снова создаём объект 'environ', чтобы позднее использовать его для ввода команд. Также мы создаём пустое выравнивание 'aln' и затем модель нового белка  'mdl', в которую мы копируем сегмент цепи А из структурного PDB-файла 1bdm.

Команда append_model() преобразует PDB-последовательность этой модели в выровненную последовательность и присваивает ей имя "1bdmA" (align_codes). Затем мы добавляем последовательность "TvLDH" из файла "TvLDH.seq" в последовательность, используя команду append().

Команда align2d() выполняет выравнивание двух последовательностей. Окончательно, выровненная последовательность записывается в двух форматах: PIR ("TvLDH-1bdmA.ali") и PAP ("TvLDH-1bdmA.pap"). PIR-формат используется программой MODELLER на ступени построения  модели, в то время как PAP-формат выравнивания доступнее для визуального представления. Для наилучшего качества образца должно быть мало промежутков в выравниваемой последовательности. В формате PAP идентичные последовательности маркируются "*" (файл "TvLDH-1bdmA.pap").

 _aln.pos         10        20        30        40        50        60
1bdmA     MKAPVRVAVTGAAGQIGYSLLFRIAAGEMLGKDQPVILQLLEIPQAMKALEGVVMELEDCAFPLLAGL 
TvLDH     MSEAAHVLITGAAGQIGYILSHWIASGELYG-DRQVYLHLLDIPPAMNRLTALTMELEDCAFPHLAGF 
_consrvd *     *  ********* *   ** **  * *  * * ** ** **  *    ********* ***
_aln.p   70        80        90       100       110       120       130
1bdmA     EATDDPDVAFKDADYALLVGAAPRL---------QVNGKIFTEQGRALAEVAKKDVKVLVVGNPANTN 
TvLDH     VATTDPKAAFKDIDCAFLVASMPLKPGQVRADLISSNSVIFKNTGEYLSKWAKPSVKVLVIGNPDNTN 
_consrvd  ** **  **** * * **   *             *  **   *  *   **  ***** *** ***
_aln.pos  140       150       160       170       180       190       200
1bdmA     ALIAYKNAPGLNPRNFTAMTRLDHNRAKAQLAKKTGTGVDRIRRMTVWGNHSSIMFPDLFHAEVD--- 
TvLDH     CEIAMLHAKNLKPENFSSLSMLDQNRAYYEVASKLGVDVKDVHDIIVWGNHGESMVADLTQATFTKEG 
_consrvd   **   *  * * **     ** ***    * * *  *       *****   *  **  *
_aln.pos    210       220       230       240       250       260       270
1bdmA     -GRPALELVDMEWYEKVFIPTVAQRGAAIIQARGASSAASAANAAIEHIRDWALGTPEGDWVSMAVPS 
TvLDH     KTQKVVDVLDHDYVFDTFFKKIGHRAWDILEHRGFTSAASPTKAAIQHMKAWLFGTAPGEVLSMGIPV 
_consrvd          *       *      *   *   **  ****   *** *   *  **  *   **  *
_aln.pos      280       290       300       310       320       330
1bdmA     Q--GEYGIPEGIVYSFPVTAK-DGAYRVVEGLEINEFARKRMEITAQELLDEMEQVKAL--GLI 
TvLDH     PEGNPYGIKPGVVFSFPCNVDKEGKIHVVEGFKVNDWLREKLDFTEKDLFHEKEIALNHLAQGG 
_consrvd      ***  * * ***      *   ****   *   *     *   *  * *

File: TvLDH-1bdmA.pap
 

 

4. Model building (построение модели)

Когда выравнивание сделано, MODELLER вычисляет 3D-модель целевой молекулы совершенно автоматически, используя класс automodel. Следующий скрипт создаст пять сходных моделей TvLDH основанных на структуре 1bdm:A и выровненной последовательности в файле "TvLDH-1bdmA.ali" (файл "model-single.py").

from modeller import *
from modeller.automodel import *
env = environ()
a = automodel(env, alnfile='TvLDH-1bdmA.ali',
knowns='1bdmA', sequence='TvLDH',
assess_methods=(assess.DOPE, assess.GA341))
a.starting_model = 1
a.ending_model = 5
a.make()

File: model-single.py

 

Первая строка загружает automodel и готовит его к использованиию. Затем мы создаём automodel-объект, называем его 'a', и вводим параметры в руководство процедуры построения модели. alnfile создаёт имя файла, который содержит выровненную последовательность цель-образец в PIR-формате. knowns определяет известные структуры образца в alnfile ("TvLDH-1bdmA.ali"). sequence определяет имя целевой последовательности в alnfile. assess_methods требует одну или более оценочную отметку (обсуждается в деталях в следующем разделе). starting_model и ending_model определяет число моделей, которые складываются (число может изменяться от 1 до 5). Последняя строка в файле называется "метод make", который действительно складывает модели.

Наиболее важный извлекаемый файл - "model-single.log", который сообщает информацию о предупреждениях, ошибках и другие полезные сведения, включающие задаваемые сжатия, которые используются для моделирования  и могут приводить к нарушениям в конечной модели. Последние несколько строк из этого log-файла показаны ниже.

>> Summary of successfully produced models:
Filename                          molpdf     DOPE score    GA341 score
----------------------------------------------------------------------
TvLDH.B99990001.pdb           1763.56104   -38079.76172        1.00000
TvLDH.B99990002.pdb           1560.93396   -38515.98047        1.00000
TvLDH.B99990003.pdb           1712.44104   -37984.30859        1.00000
TvLDH.B99990004.pdb           1720.70801   -37869.91406        1.00000
TvLDH.B99990005.pdb           1840.91772   -38052.00781        1.00000

Excerpts of the file model-single.log

 

Как вы видите, log-файл даёт сумму всех построенных моделей. Для каждой модели он создаёт файловое имя, которое содержит координаты этой модели в PDB-формате. Модели можно увидеть в любой программе, которая читает PDB-формат, например Chimera. Лог также показывает черты каждой модели, которые подробнее обсуждаются ниже. 

5.  Оценка модели

Если несколько моделей созданы для одной цели, «наилучшая» модель может быть выбрана несколькими путями. Например, вы можете выбрать модель с самым низким уровнем объективной функции molpdf или оцениваемой метки DOPE, или с наивысшей оцениваемой меткой  GA341, каждая из которых указана в log-файле (объективные функции molpdf, всегда складываются, и они также сообщаются в разделе REMARK в каждом созданном PDB-файле. Метки  DOPE или GA341 или любые другие оцениваемые метки складываются, если вы вносите их в assess_methods).

Метки molpdf and DOPE не являются «абсолютными» измерениями, в том смысле, что они могут быть использованы только как категория, по которой модели складываются в некоторую выровненную последовательность.

Другие метки допускают градацию. Например, метка GA341 всегда распределяется от 0.0 (абсолютно неверная модель) до 1.0 (полное соответствие); тем не менее GA341 не так хороша, как DOPE для различения «хороших» и «плохих» моделей.

Когда окончательная модель выбрана, она может быть также оценена несколькими методами. Ссылки на программы для оценки модели находятся в разделе MODEL EVALUATION.

Перед какой-либо оценкой модели, следует проверить лог-файл запуска моделирования на возможные программные ошибки ("model-single.log") и устранить неполадки (для уточнения см. руководство по использованию MODELLER). Файл "evaluate_model.py" оценивает введённую модель по потенциалу DOPE. (Здесь мы выбираем вторую созданную модель - вы можете попробовать другие модели).

from modeller import *
from modeller.scripts import complete_pdb
log.verbose()    # request verbose output
env = environ()
env.libs.topology.read(file='$(LIB)/top_heav.lib') # read topology
env.libs.parameters.read(file='$(LIB)/par.lib') # read parameters
# read model file
mdl = complete_pdb(env, 'TvLDH.B99990002.pdb')
# Assess with DOPE:
s = selection(mdl)   # all atom selection
s.assess_dope(output='ENERGY_PROFILE NO_REPORT', file='TvLDH.profile',
normalize_profile=True, smoothing_window=15)

File: evaluate_model.py

 

В этом скрипте мы используем скрипт complete_pdb, чтобы прочитать PDB-файл и подготовить его к энергетическому сложению (это следует автоматически, так как PDB-файл содержит атомы в нестандартном порядке или имеет различное расположение атомов). Затем мы создаём выборку всех атомов и с этого момента большинство энергетических функций программы MODELLER может работать в соответствии с моделями атомов.

Энергия DOPE складывается с помощью команды assess_dope. Мы добавляем запрос по энергетическому профилю, выровненный около «окна» в 15 остатков и нормализованный некоторым количеством изолированных действий в каждом остатке. Этот профиль прописывается в файл "TvLDH.profile", который может быть использован для помещения в графическую программу. Например,  он может быть автоматически построен с использованием GNUPLOT-команды 'plot "TvLDH.profile" using 1:42 with lines'. В другом варианте, вы можете использовать скрипт plot_profiles.py , включающий в пособии zip-файл для автоматического построения профилей с пакетом Python matplotlib.

Метка GA341, подходящая для внешнего анализа с помощью программы PROCHECK, подтверждает, что TvLDH.B99990001.pdb является приемлемой моделью. Тем не менее, построенный по метке DOPE профиль показывает регионы с высокой энергией при длительной активности сайта "петли" между участками 90 и 100 и длинными спиралями в C-участке, оканчивающим целевую последовательность.

Мы предпочли модельный профиль профилю образца – промежутки в построении  соответствуют промежуткам в выровненной модели. Зная, что метки не являются абсолютными, мы не можем сделать прямое численное сравнение между полученной моделью и образцом. Тем не менее, мы можем установить качество нашей введённой выровненной последовательности по совпадению неровных линий в двух профилях – если один наглядно сдвигается, сближаясь с другим, это похоже на то, что последовательности также сходны.

Image

Длинная петля, протянувшаяся на регионе 220-250, формирует другую часть активного сайта. Последняя часть хорошо совпадает с образцом и, возможно, хорошо смоделирована в целевой структуре, но взаимодействие в регионе 90-100, также сообщает о высокой энергии DOPE.

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

 

перевод с английского

Последнее обновление ( 10.12.2010 г. )
 
« Пред.   След. »
 
 
Научно-информационный портал. Биоинформатика, геномика, протеомика. Биософт. Анализ изображений (Imaging). Copyright © 2008-2010
Rambler's Top100 создание сайтов, разработка сайтов