ВИЗУАЛИЗАЦИЯ И РЕДАКТИРОВАНИЕ МОЛЕКУЛ: ПРОГРАММА MOLRED

С.H. ЖАБИН, В.Б. СУЛИМОВ

ООО «Димонта», г. Москва

Научно-исследовательский вычислительный  центр

Московского государственного университета имени  М.В.Ломоносова

vladimir.sulimov@gmail.com

 

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

          При изучении межмолекулярных взаимодействий с участием больших макромолекул, важно иметь возможность визуального наблюдения изучаемых молекул и при необходимости внесения изменений в их геометрическую конфигурацию. Для этих целей удобно иметь специальный инструмент  в виде программы, предоставляющей такие возможности. На данный момент в сети интернет можно найти множество программ визуализации и редактирования молекул [1]. Основные отличия предоставленной программы – это построение и отображение гладких молекулярных поверхностей для больших молекул, а также возможность работы с большими молекулами, содержащими несколько тысяч атомов.

          Программа MolRed [2, 3] – молекулярный редактор, представляющий собой программу с графическим интерфейсом, который предоставляет пользователю возможности визуального восприятия 3-х мерных изображений молекул и молекулярных структур, редактирования молекул, создания новых молекулярных соединений. Программа работает с файлами, описывающими молекулярные соединения (*.hin,*.mrk,*.pdb), производит чтение и сохранение молекулярных структур в соответствии со стандартами этих файлов. Программа работает под управлением операционной системы WinXP, в дальнейшем планируется распространение и на Linux-системы. Для  отображения 3D сцен используется аппаратное ускорение OpenGL[4]. Программа имеет графический интерфейс, реализованный с использованием кроссплатформенной библиотеки QT 4.5 [5].

          Графический интерфейс представлен набором пунктов меню и областью отображения 3D-сцены (см. Рис. 1).  Меню содержит элементы управления программой и редактирования молекул. Часть элементов меню продублирована и вынесена на переднюю панель быстрого запуска. Элементы меню сгруппированы по типу функциональности: чтение/запись данных из файлов, редактирование молекул, определение режимов отображения молекул, дополнительный инструментарий (например, построение поверхности вокруг молекулы соответствующей области недоступной растворителю), а также вызов помощи.

Рис. 1 Внешний вид программы MolRed. Показана структура аминокислоты цистеин


          Возможности программы по визуализации молекул представлены несколькими моделями отображения: модель шаров и цилиндров, решётчатая модель, а также построение и отображение поверхности молекулы (точнее - поверхность объёма, исключённого молекулой из растворителя). Эти модели определяют способ построения 3D-сцены. (см. Рис. 2 и 3) Кроме построения предусмотрена навигация в 3D сцене, для возможности наблюдать сцены с разных ракурсов. Навигация представлена возможностями орбитального движения вокруг некоторой точки 3D сцены, называемой фокусом виртуальной камеры, удалением и приближением к фокусу камеры, а также поступательными перемещениями камеры влево/вправо, вверх/вниз и вперёд/назад. При поступательных перемещениях фокус камеры перемещается вместе с камерой, так что расстояние от камеры до её фокуса остаётся неизменным. Направления орбитального движения всегда привязаны к ориентации вертикальной и горизонтальной осей монитора пользователя относительно координатных осей виртуальной 3D-сцены.

При этом пользователь воспринимает такие движения камеры  как  интуитивно понятные вращения всей сцены влево/вправо и вверх/вниз относительно себя.

Рис. 2 Решётчатая модель представления молекулы с указанием символов атомов.

Рис. 3 Преставление молекулы белка в виде поверхности

         

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

          Важным и полезным свойством любого редактора является возможность отменить произведённое действие и отменить отмену действия. Эти функции известны как undo и redo функции. В программе MolRed реализована функциональность undo-redo в применении к операциям редактирования молекул.

          Одними из главных функций редактирования являются функции выделения атома или группы атомов в составе одной или нескольких молекул, выделение молекулы (набора молекул) целиком. Все эти функции представлены в программе MolRed. При выделении одного, двух, трёх и четырёх атомов производятся вычисление и вывод на экран значений, соответственно: координат атома, расстояния между двумя атомами, валентного угла, образованного тремя атомами, и торсионного угла, образованного четырьмя выделенными атомами (см. Рис 4). При этом программа предоставляет возможность перемещения  фрагментов молекулы различными способами: перемещение выделенных атомов параллельно плоскости экрана, перемещение одной части молекулы относительно другой при выделении:

Рис. 4 Выделение одного, двух, трёх и четырёх атомов. Показаны значения соответствующих геометрических параметров выделенных атомов. Выделенные атомы показаны сиреневым цветом.

 

          При выделении молекулы целиком также возможны поступательные перемещения молекулы вдоль плоскости экрана. Кроме этого, программа позволяет построить поверхность выделенной молекулы, а также включает панель вызова режима вращения и перемещения молекулы относительно координат 3D сцены. С помощью этой панели можно задать точный угол поворота молекулы вокруг заданной оси, ориентация которой также может быть задана пользователем. Помимо вращения возможно задать и поступательное смещение молекулы вдоль оси. Этот режим полезен при необходимости изменения относительной ориентации двух молекул.

Рис. 5 Поворот и смещение одной молекулы относительно другой на примере молекул фуллерена C20. Выделенная сиреневым цветом молекула изначально располагалась в точности также как и не выделенная молекула. Затем она была смещена относительно первой молекулы (не выделенная) на расстояние 4.7 А и повёрнута на угол 0.5 радиан. В центре первой молекулы показан локальный базис, а белым цветом показано направление оси смещения и поворота. В окошке в верхней части рисунка показаны значения смещения, угла поворота, ориентации оси и начало координат локального базиса. Оси локального базиса параллельны осям глобального базиса.

 

           Помимо выделения и изменения геометрических параметров молекул, программа также предоставляет возможности редактирования структуры молекул путём добавления или удаления связей, атомов, а также фрагментов молекул.  Добавление отдельных атомов производится с помощью виртуальной таблицы Менделеева, а добавление молекул – с помощью внутренней базы данных. В режиме добавления атома или молекулы отображаются соответствующие дополнительные окошки (см. Рис. 6).  Кроме удаления и создания связей возможно также изменение кратности связей. Для манипулирования молекулами программа предоставляет возможности объединения двух молекул в одну и наоборот, разделение одной молекулы на две или более. Разделение происходит только в том случае, если в молекуле есть два или более фрагмента, не связанные между собой ни одной связью.

          Построение молекулярных поверхностей производиться с помощью оригинального алгоритма, разработанного ранее в нашей лаборатории [6, 7]. Основные преимущества этого алгоритма связаны с возможностью построения гладкой поверхности, как для малых, так и для больших молекул (таких как белки, состоящих из десятков тысяч атомов). Молекулярная поверхность соответствует модели поверхности исключённого молекулой из растворителя объёма (англоязычная аббревиатура – SESSolvent Excluded Surface). При этом корректно воспроизводятся все топологические особенности этой поверхности, а также определяются все внутренние полости, в которых может поместиться хотя бы одна молекула растворителя. Отображение поверхности осуществляется в виде однородной сетки триангуляции – все треугольники этой сетки близки к равносторонним. Пример поверхности – на Рис. 3, 7.

Рис. 6 Окошки выбора фрагмента или атома для добавления в рабочую 3D сцену.


Рис.7 Пример относительного расположения лиганда и белка.


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

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

Литература

1.   http://www.camd.ru/visualization.html

2.   Жабин С.Н., Сулимов В.Б. Программа для визуализации и редактирования молекул

«MOLRED», в Сборнике Тезисов II Всероссийской конференции Многомасштабное моделирование процессов и структур в нанотехнологиях, 27-29 мая 2009 г., Москва, стр.166-167.

3.   Жабин С.Н., Сулимов В.Б., MOLRED, Заявка № 2009615693 от 12 октября 2009 г.