JMol можно использовать для идентификации водородных связей в белках с помощью сценария «рассчитать HBONDS». Выводя состояние сети, мы можем получить список водородных связей.
Вот одна строка из примера вывода (номер PDB ID 1a1x):
74 540 4096 0.001 -2.507 hbond;
Я считаю, что правильная интерпретация первых двух чисел заключается в том, что атом 74 связан Н-связью с атомом 540. (Я не совсем уверен, что означают другие числа.)
Вопрос : Как определить, какой атом является донором, а какой акцептором?
В приведенном выше примере атом 74 представляет собой атом азота, а атом 540 представляет собой атом углерода, поэтому предположительно атом азота является донором. Но как мы можем сказать в целом?
Я не знаю о JMol, но это можно легко сделать с UCSF Chimera.
Я загрузил структуру 1a1x. Затем выбрано: Инструменты > Анализ структуры > FindHBond.
Я сохранил значения по умолчанию и выбралWrite information to reply log
Затем нажалOK
На структуре H-связи будут обозначены цветной линией.
Чтобы просмотреть, кто является донором, а кто акцептором, перейдите в раздел: Избранное > Журнал ответов.
Вывод журнала ответов приведен ниже:
H-bonds (donor, acceptor, hydrogen, D..A dist, D-H..A dist):
ASP 12.A N GLU 25.A OE2 no hydrogen 3.012 N/A
HIS 13.A N GLU 25.A OE1 no hydrogen 3.338 N/A
HIS 13.A ND1 ASP 12.A OD2 no hydrogen 2.835 N/A
LEU 14.A N TRP 70.A O no hydrogen 2.934 N/A
TRP 15.A N ARG 23.A O no hydrogen 2.866 N/A
...
120 hydrogen bonds found
Как вы можете видеть, донор и акцептор были идентифицированы, как определено в строке заголовка.
При желании информацию также можно записать в файл, выбрав Write to text file
в FindHBond
окне.
Мне также пришлось сделать то же самое с помощью Jmol, и я понял, как получить список всех hbonds.
Шаг 1: Рассчитайте hbonds с помощью метода RASMOL или без него. Это зависит от вас, например,
jmolScriptWait("select not hydrogen; set hbondsRasmol FALSE; calculate HBONDS")
Шаг 2: отображать только hbonds
jmolScriptWait("display connected(hbond)")
Шаг 3. Экспортируйте информацию о связях в массив JavaScript.
jmolGetPropertyAsArray("bondInfo")
У вас будет массив объектов, каждый из которых будет содержать атомы, связанные этой h-связью, и длину связи.