Построение гладких молекулярных поверхностей с адаптивной триангуляцией: программа TAGSS

Жабин С.Н.1 Сулимов В.Б.2

1Научно-Исследовательский Вычислительный Центр МГУ имени М.В. Ломоносова, Россия, г. Москва, Ленинские горы, дом 1, корп. 4

2Общество с ограниченной ответственностью «Димонта», Россия, г. Москва, ул. Нагорная 15, корп. 8
 
delafrog@gmail.com
 

Аннотация

В работе описаны алгоритмы программы построения триангулированных молекулярных поверхностей в рамках моделей SES и SAS, которые реализованы в программе TAGSS (Triangulated Adapted Grid of Smooth Surface). Рассматриваются возможности «бесконфликтного» применения вторичной обкатки для сглаживания изломов и исключения самопересечений поверхности SES. Описан алгоритм генерирования сетки триангуляции методом последовательного добавления треугольников, опирающийся на процедуру проецирования произвольной точки поверхность. Особенностью генерируемых поверхностей является их гладкость, в смысле отсутствия изломов и участков с кривизной больше определённой величины. Также поверхность не подходит сама к себе на расстояние ближе некоторого минимально значения.  Генерируемая секта триангуляции преимущественно состоит из треугольников близких к равностороннему. Программа предоставляет возможность построения адаптивных сеток триангуляции за счёт регулирования шага сетки во время построения. Программа может использоваться как для целей визуализации поверхности молекул, так и для решения задач определённых на молекулярной поверхности.

  Contents

Введение

Модель поверхности типа SES и её модификация методом вторичной обкатки

Типы фрагментов описывающих молекулярную поверхность.

Геометрические параметры, описывающие поверхностные фрагменты

Определение множества поверхностных фрагментов.

Построение сетки триангуляции молекулярной поверхности.

Описание программы

Заключение

 

 

Введение

В рамках задач молекулярного моделирования часто встаёт вопрос о поверхности молекулы, как о границе, разделяющих пространство на две области – внутреннюю  и внешнюю. Для определения такой границы существует множество различных правил: от самых грубых, как например, описание вокруг молекулы некоторого эллипсоида, до более точных, например, определяющих границу электронной плотности молекулы [1,2,3]. Поверхность молекулы может выступать не только в качестве объекта, необходимого для расчётов молекулярного моделирования, но и как инструмент визуализации самой молекулы. Визуализация молекулы с помощью поверхности является полезным дополнением к обычным методам визуализации молекул (например, в виде наборов сфер, или в виде решётки связей [11]), и находит широкое применение при анализе межмолекулярных геометрических конфигураций. Один из примеров – анализ взаимного расположения малой молекулы лиганда в активном центре белковой молекулы. В такой задаче удобно представить молекулу белка в виде поверхности, а молекулу лиганда, в виде решётки связей, как показано на рисунке 1.  Поверхность молекулы даёт представление о геометрической форме интересующих участков вблизи неё. С помощью цветового кодирования поверхности можно обеспечить дополнительную информативность визуального восприятия. Например, на рисунке 1 различным цветом обозначены разные типы атомов белка, ближайших к поверхности. Аналогично, цветом можно закодировать аминокислоты, атомы которых выходят к поверхности, а также распределение электростатического потенциала вдоль поверхности, электронной плотности или любой другой  интересующей величины.

В программе TAGSS [12] используется модифицированная модель поверхности типа SES (Solvent Excluded Surface – поверхностью исключенного из растворителя объема): объем, занимаемый растворителем, лежит вне объема, ограниченного этой поверхностью, а сам субстрат полностью лежит внутри этого объема. Программой TAGSS может быть построена также и поверхность типа SAS (Solvent Accessible Surface - поверхность доступная растворителю), которая образуется центрами молекул растворителя, касающихся молекулы субстрата. Поверхности SES и SAS тесно связаны между собой [4,5]. Эти модели хорошо известны и нашли широкое применение в задачах неявного учёта растворителя [6,7]. Использованная в программе модификация модели SES состоит в применении вторичной обкатки [8] для преодоления проблем самопересечений поверхности и возможных её изломов, возникающих в рамках обычной модели SES . Программа TAGSS реализует поверхности в виде сетки триангуляции, при этом достигается высокая степень регулярности треугольников. Также программа предоставляет возможность построения адаптивной триангулированной поверхности, прорабатывая форму поверхности более детально в одних местах и грубее в других. Места сгущения сетки (или разрежения) могут быть заданы пользователем. Например, для уменьшения времени расчёта в задачах «докинга» (встраивания) лиганда в активный центр большой белковой молекулы важно проработать форму поверхности в районе активного центра подробно, а вдали от него – можно более грубо.

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

Среди программ реализующих молекулярные поверхности типа SES и SAS можно отметить программный пакет MSP [19,21], программу MSMS [5,21], а также программу SIMS [8]. Указанные программы реализуют молекулярные поверхности модели SES и SAS. Широкий обзор по молекулярным поверхностям представлен в [22]. Основные отличия программы TAGSS – это возможность работы с большими молекулярными системами, (включающими в себя десятки тысяч атомов), сглаженность поверхности методов вторичной обкатки, высокая регулярность сетки триангуляции, а также возможность построения адаптивной сетки триангуляции.

Модель поверхности типа SES и её модификация методом вторичной обкатки

Модель поверхности SES (Surface Excluded Surface) [5] представляет собой поверхность области, исключённой молекулой из растворителя. При этом атомы молекулы описываются набором твёрдых шаров, каждый из которых имеет свой характерный радиус. Молекула растворителя также представляется в виде твёрдого шара; более детальное представление молекулы растворителя не применяется. Шар молекулы растворителя в дальнейшем будем называть сферой первичной обкатки. Механизм образования поверхности типа SES использует понятие обкатки. Обкатка – воображаемый процесс перемещения шара молекулы соответствующего растворителя вокруг системы атомов-шаров представляющих молекулу, так что в любой момент времени этого процесса должна быть как минимум одна точка касания этого шара и какого-либо шара соответствующего некоторому атому молекулы. Все возможные точки касания сферы первичной обкатки и шаров атомов определяют точки молекулярной поверхности. В процессе обкатки возможны ситуации, когда одновременно существуют более чем одна точка касания сферы первичной обкатки и шаров атомов. Такие случаи определяют части молекулярной  поверхности между атомами. При этом соответствующая часть молекулярной поверхности определяется частью сферы обкатки заключенной между точками касания. Если точек касания две, то соответствующей частью сферы является дуга, соединяющая две точки касания, если точек касания три – то это сферический треугольник с вершинами в точках касания (рисунки 2). Случаи большего числа касаний являются вырожденными, таким случаям соответствуют сферические многоугольники.

Рис. 2 (А) Случай одновременного касания сферой первичной обкаткой двух атомов. Дуга AB определяет фрагмент поверхности между атомами. При обкатке вокруг двух атомов дуга AB описывает тороидальную поверхность, показанную на рисунке полупрозрачной поверхностью.

 

(Б) Случай одновременного касания сферой первичной обкатки трёх атомов. Сферический треугольник ABC описывает часть поверхности между тремя атомами.


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

Рис. 3 Ситуация с самопересечением поверхности типа SES. Пересечение проходит по дуге MN, отмеченной жирной красной кривой. Сферические треугольник ABC в верхней части композиции пересекается с аналогичным сферическим треугольником из нижней части. На рисунке части сферических фрагментов опирающиеся на дугу MN удалены для наглядности общей картины.


Для преодоления подобных проблем в программе применяется метод вторичной обкатки. Упоминания об этом методе впервые встречаются в работе [8]. Суть метода вторичной обкатки состоит в том, чтобы заменить фрагменты поверхности вблизи изломов и самопересечений на другие гладкие фрагменты, которые определяются путём обкатки небольшой сферой (называемой сферой вторичной обкатки) поверхности SES близи изломов. Размер сферы вторичной обкатки, можно выбрать таким, чтобы с одной стороны он не сильно изменял форму молекулярной поверхности, а другой стороны не приводил с новым самопересечениям и изломам. Ниже об этом рассказывается подробнее. Рисунок 4 иллюстрирует идею метода вторичной обкатки на простом примере системы двух атомов.

Рис. 4 Иллюстрация метода вторичной обкатки. Часть поверхности вблизи излома, получающаяся в результате пересечения сфер первичной обкатки, заменяется частью поверхностью сферы вторичной обкатки, находящейся в контакте со сферами первичной обкатки.

Типы фрагментов описывающих молекулярную поверхность.

Как описано выше, молекулярную поверхность типа SES можно представить в виде набора сферических и тороидальных фрагментов, причём не только в случае первичной обкатки, но также и в случае, когда применяется вторичная обкатка. Ниже перечислены все типы поверхностных фрагментов, которые используются в программе TAGSS, а также даны их условные названия (рис 5).

1.      Выпуклые сферические фрагменты образованные поверхностными атомами. Это части сфер атомов, которые могут контактировать со сферой первичной обкатки. Эти фрагменты в дальнейшем будем называть атомными сферическими фрагментами.

2.      Тороидальные фрагменты, образуемые дугой AB (рис. 1) при перекатывании сферы первичной обкатки одновременно по двум атомам. Первичные тороидальные фрагменты.

3.      Вогнутые сферические фрагменты, образованные частью сферы первичной обкатки при её одновременном касании трёх и более атомов (Рис. 2). Одновременное касание сферы первичной обкатки трёх и более атомов будем называть её устойчивым положением, а сами фрагменты: первичными сферическими фрагментами.

4.      Тороидальные фрагменты, образуемые при перекатывании сферы вторичной обкатки одновременно по двум первичным сферическим фрагментам – аналогично первичным тороидальным фрагментам. Вторичные тороидальные фрагменты.

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

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

В дальнейшем, там, где это не приводит к путанице, мы будет опускать слово «фрагменты» и говорить просто «сферы» либо «торы» в зависимости от типа фрагмента, о котором идёт речь. Например, «первичная сфера» или «вторичный тор».

Рис. 5 Пример поверхности, иллюстрирующий все типы поверхностных фрагментов. Цифрами обозначены типы фрагментов в соответствии с тем, как они описаны в тексте. На рисунке показаны две различных ситуации, в которых появляется вторичная сфера -5.  Фрагменты одинаковых типов имеют одинаковый цвет.


Для описания каждого типа фрагмента поверхности использовались определённые наборы параметров. Ниже приводиться описание этих параметров, а также формулы позволяющие вычислить эти параметры. Исходными параметрами, на основе которых производятся все последующие вычисления, являются данные о координатах атомов, их радиусах, а также значения радиусов сфер первичной и вторичной обкаток.

            Входные данные

1.      Набор декартовых координат атомов , i = 1…N, где N – общее число атомов.

2.      Набора радиусов атомов Ri, i = 1…N.

3.      Радиус сферы первичной обкатки prol, радиус сферы вторичной обкатки srol.

4.      Минимальное расстояние 2dmin.

Последний параметр – 2dmin определяет некоторое минимальное расстояние допустимое между двумя близкими, но поверхностно-удалёнными точками поверхности. Близкие точки считаются поверхностно-удалёнными, если минимальное расстояние между ними, вычисленное вдоль поверхности велико по сравнению с прямым расстоянием. Ниже, в статье говорится более подробно об этом параметре.

Геометрические параметры, описывающие поверхностные фрагменты


Рис 6. Обозначения параметров атомных сфер.

Рис 7. Параметры первичного тора. Угол 1находится в плоскости 2, перпендикулярной основной плоскости рисунка.

 

  1. Атомные сферы.  Каждую атомную сферу описывают координаты центра сферы , радиус сферы Ri, а также набор векторов единичной длины  и набор значений запрещающих углов , j=1…M, которые описывают вырезаемые из цельной сферы запрещённые области,  не входящие в молекулярную поверхность. Направление каждого единичного вектора  указывает на центр соседнего атома, такого, что возможна первичная обкатка с одновременной опорой на текущий и этот соседний атомы. Углы  задают направление на положения центра сферы первичной обкатки (рис 6).
  2. Первичные торы характеризуются следующим набором параметров.
    1. Координаты центра локального базиса
    2. Координаты векторов локального базиса .
    3. «Высота» обкатки  h, а также углы и  (рис. 7).
    4. Диапазон углов обкатки  вокруг оси .

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

  1. Первичные сферы определяются координатами центра сферы , радиусом prol и набором нормалей (j=1,2,3.) к плоскостям, вырезающим из полной сферы сферический треугольник (многоугольник в вырожденных случаях). Все секущие плоскости проходят через центр .
  2. Вторичные торы определяются такими же параметрами, как и первичные торы. При этом роль атомов играют первичные сферы.
  3. Вторичные сферы определяются такими же параметрами, как и первичные сферы.
  4. Стабильная сфера описывается координатами центра сферы , радиусом сферы вторичной обкатки srol, вектором , задающим направление на парную к текущей стабильную сферу, углом «разрешающего конуса» и нормалью  секущей плоскости. Стабильные сферы всегда появляются парами и имеют однозначную привязку к первичному тору, на сужающуюся горловину которого упирается сфера вторичной обкатки. Вектор  равен с точностью до знака вектору соответствующего первичного тора.

Теперь можно дать формулы для вычисления параметров поверхностных фрагментов.

Параметры первичных торов.

            ,               (1)

,                    (2)

,                 (3)

,                                (4)

,                    (5)

,                                         (6)

, (7)

,                                                     (8)

,         (9)

                        (10)

Здесь принято, что R1, R2 – радиусы опорных атомов, , - координаты их центров. Вектор соответствует центру атома, который ограничивает обкатку вокруг пары атомов.

Углы  и  добавляются в наборы запрещающих углов, являющихся параметрами атомных сфер. Также координаты вектора  добавляются в наборы единичных векторов  для атома, обозначенного здесь, как «1» и  для атома «2».

Параметры первичных сфер.

         (11)

           (12)

           (13)

   (14)

           (15)

           (16)

        (17)

           (18)

            (19)

             (20)

.       (21)

Аналогично случаю с первичными торами, здесь обозначены радиусы R1, R2, R3 и координаты , , опорных атомов.

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

                      (22)

            (23)

          (24)

.                    (25)

Параметры для стабильных сфер.

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

          (26)

             (27)

    (28)

       (29)

Здесь использован знак «±» для описания сразу двух стабильных сфер – по обе стороны от центра . Как уже упоминалось выше, стабильные сферы всегда появляются парами.

Определение множества поверхностных фрагментов.

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

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

Общая схема процедуры нахождения поверхностных фрагментов содержит следующие основные шаги:

1.              Определение контактных соседей каждого атома. Применяется перебор атомов с учётом их расположения в кубической области разбиения

2.              На основе данных о контактных соседях определяются первичные сферы обкатки. Применяется перебор троек атомов, который ограничен числом соседей каждого атома.

3.              Определение первичных торов на основе ранее найденных данных. Производиться перебор атомов с учётом их соседей. Угол обкатки  каждого тора определятся из данных первичных сфер найденных на предыдущем шаге.

4.              Производится установление поверхностной связности атомов. Определяются поверхностные атомы, которые участвуют в образовании односвязной поверхности.

5.              Определение конфликтных групп первичных сфер. Конфликтная группа представляет собой набор первичных сфер, которые либо пересекаются между собой, либо имеют расстояние между поверхностями своих фрагментов меньше, чем некоторое наперёд заданной критическое расстояние (2dmin)

6.              Для каждой конфликтной группы проводятся действия аналогичные пунктам 2 и 3 и определяются параметры вторичных сфер и торов, а также стабильных сфер.

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

Опишем более детально шаги 1-3 определения поверхностных фрагментов первичной обкатки. Отметим, что ещё до начала процедуры определения контактных соседей каждого атома (шаг 1), атомы уже распределены по кубическим областям, поэтому для определения контактных соседей нет надобности производить перебор всех пар атомов, а достаточно перебрать пары атомов в рамках одного куба и его соседей. Для каждого атома запоминаются атомы, которые находятся от него на расстоянии меньше чем сумма их радиусов и диаметра сферы первичной обкатки. Только такие пары атомов могут участвовать в образовании поверхностных фрагментов первичной обкатки.

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

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

На шаге 3 для каждого атома анализируются атомы из списка его контактных атомов, и определяется возможность произвести обкатку вокруг каждой пары. Обкатка вокруг каждой пары атомов должна начинаться и заканчиваться на какой-либо первичной сфере (за исключением случая, когда возможна полная обкатка вокруг пары атомов на угол 2π). При анализе используется информация о ранее вычисленных первичных сферах, которые имеют опорой данный атом. Это позволяет сразу определять диапазоны углов  для первичных торов. Здесь вычислительные затраты также линейны по размеру молекул с коэффициентом линейной пропорциональности, зависящим от радиуса сферы обкатки.

Установление поверхностной связности атомов осуществляется с помощью определения атомов, являющихся опорой для первичных сфер и первичных торов. Сначала определяются наборы связных первичных сфер. Первичные сферы связаны, если от одной из них можно пройти к другой через последовательность единичных шагов перехода. Единичный шаг перехода представляет собой переход от одной первичной сфере к другой первичной сфере, причем эти две первичные сферы имеют хотя бы один общий тор первичной обкатки, для которого эти сферы являются ограничителями обкатки вокруг него (тора).  Алгоритм определения набора связанных первичных сфер стартует с произвольной первичной сферы, помечает её как обработанную и производит единичные шаги перехода к соседним первичным сферам. Среди соседних первичных сфер выбираются только те, которые не были ранее отмечены как обработанные. Эти сферы отмечаются как обработанные, и снова делается переход к их соседям и т.д. Процесс продолжается до тех пор, пока не останется ни одной необработанной соседней первичной сферы. Все атомы, которые являются опорами для первичных сфер из одного односвязного набора, являются поверхностными атомами, принадлежащими к одной молекулярной поверхности.

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

 

 
 

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

 

После определения конфликтных групп первичных сфер применяется алгоритм обкатки аналогичный описанному алгоритму в пунктах 1-3, только роль атомов играют первичные сферы, а роль сферы первичной обкатки – сфера вторичной обкатки.

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

Вторичная обкатка применяется для того, чтобы избежать нежелательных случаев самопересечения молекулярной поверхности, а также её изломов. Но если её применять только в этих случаях, то могут реализовываться случаи когда, самопересечения поверхности нет, но есть очень малое расстояние между двумя элементами поверхности, что также неблагоприятно. Аналогичная ситуация может быть и с первичным тором обкатки – в самом узком месте самопересечения нет, но радиус кривизны очень мал. Для того чтобы избежать подобных нежелательных случаев вторичная обкатка применяется не только когда есть самопересечение, но и когда расстояние между элементами поверхности (и минимальный радиус тора первичной обкатки) меньше чем некоторое расстояние 2dmin. При этом это расстояние не обязано совпадать с радиусом сферы первичной обкатки. Для определения значения расстояния dmin рассмотрим геометрическую конфигурацию первичной и вторичной сфер, которая характерна для случаев, когда применяется вторичная обкатка (см. рис. 8). Здесь показаны первичные сферы радиуса p , которые обкатываются сферой вторичной обкатки радиуса s. Минимальное расстояние между поверхностями первичных сфер обозначим как 2x, на рисунке указано расстояние x. Расстояние x будем называть первичным конфликтным расстоянием. Минимальный радиус кривизны поверхности вторичного тора обозначим как y, и будем называть его вторичным конфликтным расстоянием. При вторичной обкатке первичное расстояние х сменятся вторичным расстоянием y. Зависимость между y и x:

.       (30)

Зависимость (30) имеет характерный вид, показанный на рисунке 9. На графике также показана прямая y=x, которая отмечает значение d0, показанное на рисунке.  Если в качестве первичного расстояния x выбрать значение, не превышающее d0, тогда вторичное расстояние y после вторичной обкатки будет не меньше чем d0. Таким образом, значение d0 ограничивает сверху возможные значения первичного конфликтного расстояния x. Выражение для d0 имеет вид:

.         (31)

Показанная на рисунке 8 геометрическая конфигурация соответствует формированию вторичных торов, которые на рисунке 5 обозначены цифрой 4.  Но заметим, что соотношение (30), как и сама геометрия, показанная на рисунке 8, может быть использована не только для анализа вторичных торов, но и для анализа положения пары стабильных сфер и вторичных сфер, обозначенных на рисунке 5 соответственно цифрами 6 и 5. Действительно, в случае стабильных сфер, первичное расстояние x обозначает минимальный радиус тороидальной поверхности первичной обкатки, а вторичное расстояние y – половину минимального расстояния между поверхностями двух стабильных сфер. А в случае вторичных сфер, первичное расстояние x соответствует минимальному радиусу сферы, которая может пройти в пространстве между тремя первичными сферами, а вторичное расстояние y – минимальное расстояние между двумя вторичными сферами, имеющими радиус s и опирающихся на эти три первичные сферы.

Таким образом, критерий для расстояния d0 , полученный на основе соотношений (30) и (31), может применяться для всех типов фрагментов вторичной обкатки. Как указывалось выше, вторичная обкатка применяется к множеству (конфликтная группа) первичных сфер, минимальные расстояния между которыми меньше чем dmin<d0. При этом во вторичную обкатку вовлекаются и связанные с первичными сферами первичные торы. Из-за этого в процесс вторичной обкатки может быть вовлечен первичный тор, минимальный радиус которого больше чем dmin, но меньше чем радиус сферы вторичной обкатки. Для этих первичных торов возможна реализация пары стабильных сфер вторичной обкатки, таких, что расстояние между их поверхностями будет меньше чем требуемое 2dmin. Например, если выбрать значение dmin=0.15, для зависимости, показанной на рисунке 9, то при минимальном радиусе первичного тора больше чем ~0.314 (x>0.314) расстояние между поверхностями стабильных сфер будет меньше чем минимальное расстояние 2dmin. Один из возможных способов избежать подобных ситуаций это применение переменного радиуса сферы вторичной обкатки при обработке такого первичного тора. Радиус сферы вторичной обкатки меняется вдоль участка траектории. При этом центр сферы движется не по круговой траектории, а вдоль прямой соединяющей опорные атомы обкатываемого первичного тора.  Такой способ усложняет алгоритм, но в принципе позволяет гарантированно избежать случаев появления фрагментов поверхности имеющих радиус кривизны меньше некоторого заданного значения. Другой возможный способ, не предполагающий использование переменного радиуса сферы вторичной обкатки, состоит в том, чтобы изменить радиус вторичной обкатки до значения минимального радиуса первичного тора, так чтобы фактически исключить этот тор из обработки вторичной обкаткой. Этот способ вообще-то не гарантирует того, что удастся для любой геометрической конфигурации атомов удовлетворить требованию по минимальному расстоянию и радиусу кривизны. Однако на практике такие случаи весьма редко встречаются, и поэтому такой способ тоже приемлем. В программе TAGSS реализован второй, более простой способ, особенности реализации которого составляют суть шага 7 и описаны ниже.

На шаге 7 запоминается набор значений {p+xi} для всех фрагментов первичной обкатки, которые обрабатываются вторичной обкаткой, i – номер фрагмента. Этот набор сортируется по убыванию. Начиная со второго элемента набора (i+1=2), производится проверка по условию:

.   (32)

Как только условие (32) становится истинным, проверка прекращается с выходом для нового радиуса вторичной обкатки равным snew=xi. Проверки проводятся для всех значений первичных расстояний xi больших, чем dmin. Поясним суть этой процедуры. Из уравнения (30) следует:

.    (33)

Теперь рассмотрим случай, когда радиус вторичной обкатки s равен первичному конфликному расстоянию xi, и при этом вторичное конфликтное расстояние y равно расстоянию dmin. В таком случае вторичная обкатка не будет менять поверхность тех фрагментов первичной обкатки, для которых первичное конфликтное расстояние больше чем xi. Из (33) получается некоторое максимально возможное значение первичного конфликтного расстояния x, которое получается при указанных значениях радиуса вторичной обкатки s=xi и  вторичного конфликтного расстояния y=dmin. Для всех значений первичного конфликтного расстояния меньше чем это значение x вторичное конфликтное расстояние будет больше чем dmin. То есть, между xi и xi+1 должен быть зазор определяемый условием (32).

Поскольку все расстояния {p+xi} изначально отсортированы по убыванию, то, как только условие (32) станет верным, проверку можно прекращать. При этом гарантированно, что все минимальные радиусы и расстояния после вторичной обкатки будут больше чем заданное dmin.

Однако могут существовать такие геометрические конфигурации, когда указанная процедура ни разу не даст положительного результата. Тогда, вообще говоря, методом подбора радиуса сферы вторичной обкатки невозможно избежать конфликта по отношению к минимальному расстоянию dmin. В таком случае, в качестве радиуса вторичной обкатки выбирается такое первичное конфликтное расстояние xi> dmin, которое приводит к наибольшему соответствующему значению вторичного конфликтного расстояния yi из формулы:

    (34)

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

Построение сетки триангуляции молекулярной поверхности.

 

 

 

Проецирование произвольной точки на поверхность.

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

Проекция произвольной точки p пространства на сферический фрагмент определяется по пересечению с поверхностью фрагмента прямой соединяющей данную точку p и центр сферы. Проекция точки p на тороидальную поверхность определяется следующим образом. (см рис. 11). Вычисляются координаты точки p в локальном базисе  тороидального фрагмента. Плоскость (П), определяемую локальными координатами точки p и локальной координатной осью , поверхность тороидального фрагмента пересекает по дуге окружности AB. Центр этой окружности есть положение центра сферы C обкатки в плоскости (П). Радиус окружности равен радиусу сферы обкатки. Проецирование точки p производиться в плоскости (П), и представляет собой проецирование на дугу окружности AB, которое осуществляется также как и проецирование на сферу.

 

 

Для заданной точки выбирается ближайшая проекция на поверхность. На рисунке 11 представлена диаграмма проецирования в плоскости для простого случая обкатки вокруг двух атомов. Выделяются 4 области плоскости, точки которых проецируются на свой фрагмент поверхности. На рисунке 11 области выделены цветом. Из рисунка 11 видно, что точки из внешней неограниченной области могут проецироваться только на выпуклые сферически фрагменты, а на тороидальные фрагменты могут проецироваться точки только из ограниченной области между атомами. Для произвольно системы атомов может быть построена подобная диаграмма, которая хорошо иллюстрирует принцип проецирования точек из объёма на поверхность. На рисунке 12 показан пример диаграммы проецирования в случае, когда имеет место вторичная обкатка. На фрагменты вторичной обкатки также могут проецироваться точки только из ограниченной области между атомами.

Построение сетки триангуляции.

Как упоминалось выше, построение сетки триангуляции производиться методом последовательного добавления треугольников. Для описания сетки триангуляции используются следующие основные структуры данных: наборы точек, рёбер и треугольников.

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

2.              Ребро – сторона треугольника триангуляции. Содержит номера точек-вершин на концах, а также номера треугольников, для которых это ребро является стороной.

3.              Треугольник – треугольный плоский элемент, аппроксимирующий поверхность между тремя точками поверхности. Содержит номера точек-вершин и номера ребёр-сторон.

Когда триангуляция поверхности полностью выполнена, то для каждого ребра существует по два треугольника, поскольку поверхность замкнута и не имеет самопересечений. Но при частично выполненной триангуляции можно говорить о множестве граничных ребёр, таких, что для них определён только один треугольник – с одной стороны, а второй не определён, ещё не построен. Самый простой пример такой ситуации – уединённый треугольник, построенный на трёх вершинах поверхности. Каждое его ребро может считаться граничным. В программе TAGSS используется такой треугольник в качестве «затравочного» треугольника. Для учёта граничных рёбер используется массив граничных рёбер, который называется граничным кольцом. Рёбра в этом массиве хранятся так, что каждое последующее ребро имеет общую вершину с предыдущим ребром. При частично построенной триангуляции возможны ситуации, когда граничных колец более чем одно, то есть имеет место множество граничных колец.

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

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

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

1.              Сценарий нулевого действия. Не производиться никаких изменений с граничным ребром. Текущее граничное ребро переносится в новое граничное кольцо.

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

3.              Сценарий добавления треугольника без добавления новой вершины. Новый треугольник строится на текущем и последующем (предыдущем) ребрах. Третья сторона является новым ребром, которое добавляется в новое граничное кольцо.

4.              Сценарий добавления расщепляющего треугольника. Строится новый треугольник аналогично сценарию 2, но с тем отличием, что вместо вершины в новой точке используется некоторая вершина из граничного кольца. Если это граничное кольцо совпадает с текущим граничным кольцом, то оно расщепляется на два новых граничных кольца. Если же граничное кольцо не совпадает с текущим кольцом, то осуществляется объединение этих двух граничных колец в одно граничное кольцо.

5.              Сценарий добавления захлопывающего треугольника. Если граничное кольцо состоит из трёх рёбер, и это кольцо не относиться к затравочному треугольнику, то на этих трёх рёбрах строится новый треугольник. Нового граничного кольца при этом не возникает.

6.         Сценарий слияния двух соседних граничных рёбер образующих между собой слишком острый угол. Текущее граничное ребро объединяется с соседним ребром (последующим или предыдущим) в одно внутреннее ребро.


Для выбора того или иного сценария обработки текущего граничного ребра производится анализ локальной геометрической конфигурации участка сетки триангуляции. На этапе этого анализа осуществляется расчёт координат новой точки – вершины триангуляции, который проиллюстрирован на рисунке 13.  Для текущего ребра, обозначенного на рисунке как r1, вычисляется его середина pc и средняя нормаль nc. Средняя нормаль вычисляется как нормированная на единицу полусумма проекций нормалей n1 и n2 на плоскость перпендикулярную ребру r1. На расстоянии 1.5·RTr от точки pc в направлении перпендикулярном ребру r1 и нормали nc фиксируется точка pw. Точка pw проецируется на поверхность в точку p4, в которой также вычисляется и нормаль к поверхности n4. Локальная геометрия сетки триангуляции вблизи текущего граничного ребра показана на рисунке 14. Стрелками показаны граничные рёбра, образующие граничное кольцо. Чёрные стрелки – текущее граничное кольцо, Синие стрелки – новое граничное кольцо. Отрезки без стрелок – внутренние рёбра триангуляции, как и в случае граничных рёбер, синие отрезки обозначают рёбра, добавленные в процессе обработки текущего граничного кольца. Ребро p0-p1 называется предыдущим ребром, ребро p1-p2 – текущим ребром, p2-p3 – последующим ребром. Точка p4 – новая точка, которая вычислена описанным выше способом. Треугольник p1-p2-p4 добавляется к сетке триангуляции в случае работы сценария (2).  Сценарий (2) выбирается при достаточно большом (сравнимом с RTr) удалении точки p4 от других, соседних точек триангуляции.


При значениях углов p0p1p4 или p4p2p3 меньше чем 30º выбирается сценарий (3). При значениях углов p0p1p4 или p4p2p3 меньше чем 20º построение новой точки не производится и выбирается сценарий (6). Если при проверке расстояний от новой точки до соседних точек триангуляции обнаруживается граничная точка триангуляции, лежащая к точке p4 ближе чем 1.2·RTr, и при этом не являющаяся точками p0 или p3, то применяется сценарий (4). Сценарий (5) применяется, если граничное кольцо состоит всего из 3 ребёр являющихся сторонами разных треугольников - граничное кольцо не является границей затравочного треугольника. Приведённые здесь критические значения углов и расстояний не являются строгими. Эти значения были подобраны эмпирическим путём, и вопрос оптимального (например, по объёму вычислений) выбора критических значений остаётся открытым.

 


Для большей наглядности на рисунках 15-18 проиллюстрирована работа основных сценариев обработки граничного ребра. На этих рисунках чёрными стрелками указаны граничные рёбра текущего граничного кольца, а синими – нового граничного кольца. На рисунке 18 отображающем работу по сценарию (4) красными стрелками указаны рёбра ещё одного граничного кольца, которое образовалось в результате расщепления одного текущего кольца на два отдельных. В рамках сценария (4) производится также и слияние двух граничных колец в одно. Локальная геометрия при этом подобна той, что изображена на рисунке 18. Расщепление или слияние зависит от того, с вершиной какого граничного кольца будет конфликтовать точка p4 при попытке построить треугольник по сценарию (2). Конфликт с точкой текущего, обрабатываемого граничного кольца приводит к расщеплению кольца. Конфликт с точкой другого граничного кольца приводит к слиянию двух колец в одно. На рисунке 19 схематично показаны слияние и расщепление граничных колец в процессе «роста» триангулированной области поверхности.

 


Построение сетки триангуляции завершается после того, как не останется ни одного граничного кольца. Сценарий (5) осуществляет «схлопывание» граничного кольца.  Также отметим, что сценарий (1), когда не производится никаких действий, выбирается в том случае, если геометрические условия текущего граничного ребра не позволяют выбрать какой-либо из описанных методов обработки. Может существовать вероятность того, что для рёбер некоторого граничного кольца всегда будут выпадать сценарии (1), и таким образом кольцо не захлопнется. Для того чтобы избежать подобной проблемы можно применить для такого не закрывающегося кольца специальный дополнительный метод схлопывания. Например, вычисляется геометрический центр граничного кольца, проецируется на поверхность, и формируются треугольники с общей вершиной в этой точке и сторонами – рёбрами граничного кольца.

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

Вообще говоря, адаптивность сетки в рамках описанного метода построения может быть выбрана по любому наперёд заданному критерию.  Например, в континуальных моделях растворителя применительно к задачам докинга [9] можно детально прорабатывать поверхность только вблизи активного центра, а вдали от него – грубо. Также отметим, что метод построения сетки требует для себя только процедуру проецирования произвольной точки на поверхность, которая может быть реализована во внешнем программном модуле.

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

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

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

pn = p + r  ≈ 4·p,             

rn = 2·r+3·t  ≈ 4·r ,           (35)

tn = 4·t.                

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

 Используя обобщение формулы Эйлера для многогранников (формула Пуанкаре) программа TAGSS на основании значений p, r и t определяет такой топологический инвариант  поверхности, как число петель n [16]:

p + tr = 2 – 2·n                        (36)

(Для примера: у сферы нет ни одной петли, у тора – одна петля. [17])


Генерируемая программой TAGSS триангулированная поверхность может применяться не только для целей визуализации, но и для различных расчётных задач на поверхности, например, решение интегральных уравнений в рамках модели неявного растворителя –PCM [6,7].  Для подобного рода задач важно иметь достаточно регулярную триангуляционную сетку. «Качество» треугольника со сторонами a,b,c можно оценить по формуле[15]:

.             (37)

где S – площадь треугольника. Для правильного треугольника q=1. Используя это выражение можно оценить качество треугольников всей сетки. Для примера на рисунке 20 приведено распределение числа треугольников по параметру q, вычисленное на примере равномерной триангуляции поверхности молекулы белка 1TVK.pdb из базы данных PDB протеинов [18], содержащего  26152 атома.

Как видно из приведённого графика ~104 треугольников, т.е. 1% от общего числа всех треугольников (~106) имеют качество хуже, чем 0.95. Это соответствует тому, что 99% треугольников имеют качество лучше, чем 0.95, и что является хорошим показателем качества триангуляции. Отметим, что для адаптивных сеток процент «качественных» треугольников остаётся таким же высоким.

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

Описание программы

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

Управление программой осуществляется с помощью специального файла текстового формата, в котором описывается задание на расчёт. В этом файле задаётся имя другого файла, в котором записаны координаты и типы атомов определяющих молекулу, а также набор параметров построения поверхности, речь о которых пойдёт ниже. В качестве результатов программа создаёт файл-отчёт с описанием хода вычислений, файл с данными описывающими сетку триангуляции, а также файл в формате VRML – для просмотра поверхности в VRML_ браузере.

Основной код программы TAGSS встроен в программу молекулярного редактора MolRed[10,11], где он используется для построения молекулярных поверхностей.

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

Время построения сетки триангуляции поверхности белка 1TVK.pdb со средней плотность вершин ~10 точек на квадратный ангстрем площади поверхности составило около 27 секунд. Вычисления проводились на машине с процессором Intel Core2 c тактовой частотой 2400 МГц (в однопроцессорном режиме) и размером оперативной памяти 2 Гб. Время расчёта параметров первичной и вторичной обкатки для этого белка заняло около 24 секунд. При этом общее число вершин сетки триангуляции: 521847, рёбер: 1565673, треугольников: 1043782.

Результатом работы программы являются заполненные структуры данных описывающие сетку триангуляции, которые могут использоваться внешними программными модулями. Кроме этого программа TAGSS формирует файл-отчёт о результате работы программы, а также VRML-файл с описанием 3D сцены, отображающей триангулированную поверхность, которая может просматриваться с помощью VRML-браузера. В качестве демонстрации работы программы приводим видеоролик процесса построения сетки триангуляции. На этом ролике виден процесс формирования сетки триангуляции


. На втором ролике показана триангулированная поверхность белка 1TVK.pdb. Сетка построена с уменьшением размера треугольников около одного из атомов, вблизи которого расположено, множество фрагментов вторичной обкатки. Этот ролик также демонстрирует сложный характер геометрии поверхности и фрагменты сетки триангуляции.

Заключение

В работе рассмотрены основные методы и алгоритмы, используемые в программе TAGSS построения адаптивной триангулированной поверхности молекул типа SES, а также преобразования этой поверхности к типу SAS. Программа TAGSS работает в два этапа: этап построения параметрического описания поверхности типа SES и этап построения сетки триангуляции. Важным свойством поверхности типа SES, генерируемой программой, является использование вторичной обкатки для исключения самопересечений и изломов поверхности, характерных для поверхности SES без использования вторичной обкатки. Описан способ применения вторичной обкатки, не приводящий к новым самопересечениям и почти всегда гарантирующий ограниченное сверху значение кривизны поверхности.

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

Основной особенностью триангулированной поверхности генерируемой программой TAGSS является высокая равномерность сетки и близость большинства треугольников триангуляции к равносторонним треугольникам даже при генерировании адаптивной сетки. Такие свойства поверхности важны для решения заданных на поверхности различных интегральных и дифференциальных задач. Это находит своё применение, например, в программном комплексе DISOLV [14], при решении других проблемах молекулярного моделирования [9,13], а также при отображении молекул в молекулярной редакторе MolRed [10,11].

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

            Работа частично финансировалась в рамках проведения научно-исследовательских

работ по пост-геномным исследованиям и технологиям МГУ им. М.В. Ломоносова и выполнения работ по госконтракту 02.740.11.0388 по теме “Суперкомпьютерные технологии для решения задач обработки, хранения, передачи и защиты информации”, а также частично поддержана грантам РФФИ 10–07–00595-а.

Литература

1.                  Connolly, M. L. (1983b). "Solvent-accessible surfaces of proteins and nucleic acids." Science 221: 709-713.

2.                  J. Giard , B. Macq  Molecular SurfaceMesh Generation by Filtering Electron DensityMap, Hindawi Publishing Corporation International Journal of Biomedical Imaging Volume 2010, Article ID 923780, 9 pages

3.                  Rivail, J.L., Rinaldi, D. Chem Phys., A quantum chemical approach to dielectric solvent effects in molecular liquids , 1976, 18, 233

4.                  Lee, B.  Richards, F. M. (1971) J. Mol. Biol. 55, 379400.

5.                  Michel Sanner, Arthur J. Olson, Jean Claude Spehner (1996). Reduced Surface: an Efficient Way to Compute Molecular Surfaces. Biopolymers, Vol 38, (3), 305-320.

6.                  J. Tomasi , M. Persico “Molecular Interactions in Solution: An Overview of Method Based on Continuous Distributions of the Solvent” Chem. Rev. 94 (1994) 2027-2094.

7.                  A. J. Bordner, C. N. Cavasotto, and R. A. Abagyan, Accurate Transferable Model for Water, n-Octanol, and n-Hexadecane Solvation Free Energies, J. Phys. Chem. B, 2002, 106 (42), 11009-11015

8.                  Yury N. Vorobjev and Jan Hermans, SIMS: Computation of a Smooth Invariant Molecular Surface, Biophysical Journal Volume 73 August 1997 722-732

9.                  V.Sulimov, A.Romanov, F.Grigoriev, O.Kondakova, A.Sulimov, P.Bryzgalov, S.Zhabin, A.Chernobrovkin, S.Sobolev “Web-oriented system Keenbase for virtual screening and design of new ligands for biological macromolecules. Application for new drug searches”, Saint-Petersburg International Workshop on NanoBiotechnologies, 27 -29 November 2006 Saint-Petersburg Russia , Abstracts, pp.33-34

10.              Жабин С.Н., Сулимов В.Б. “Программа для визуализации и редактирования молекул « Molred »”, Электронный журнал «Научная визуализация», Национальный Исследовательский Ядерный Университет "МИФИ", 2009, Т.1 №1, с.108-114.

11.              Жабин С.Н., Сулимов В.Б. Реализация интерактивности в молекулярном редакторе Molred”, Электронный журнал «Научная визуализация», Национальный Исследовательский Ядерный Университет "МИФИ", 2010, Т.2 №1, с.59-81.

12.              Жабин С.Н., Сулимов В.Б. TAGSS, Свидетельство о государственной регистрации программ для ЭВМ № 2006613753, Зарегистрировано в реестре программ для ЭВМ Федеральной службы по интеллектуальной собственности, патентам и товарным знакам 27 Октября 2006

13.              Alexey N. Romanov, Sergey N. Jabin, Yaroslav B. Martynov, Alexey V. Sulimov, Fedor V. Grigoriev, and Vladimir B. Sulimov, “Surface Generalized Born Method: A Simple, Fast, and Precise Implicit Solvent Model beyond the Coulomb Approximation”, J. Phys. Chem. A - VOLUME 108, NUMBER 43, OCTOBER 28, 2004, pp 9323 – 9327

14.              Купервассер О.Ю., Жабин С.Н., Сулимов В.Б., DISOLV, Свидетельство о государственной регистрации программ для ЭВМ № 2010612994,
Зарегистрировано в реестре программ для ЭВМ Федеральной службы по интеллектуальной собственности, патентам и товарным знакам 6 мая 2010 года.

15.              Bank, Randolph E., PLTMG: A Software Package for Solving Elliptic Partial Differential Equations, User's Guide 6.0, Society for Industrial and Applied Mathematics, Philadelphia, PA, 1990.

16.              Coxeter, H. S. M. "Euler's Formula." and "Poincaré's Proof of Euler's Formula." §1.6 and Ch.  9 in Regular Polytopes, 3rd ed.  New York : Dover , pp. 9-11 and 165-172, 1973.

17.              http://mathworld.wolfram.com/EulerCharacteristic.html

18.              http://www.wwpdb.org/

19.              http://connolly.best.vwh.net/

20.              http://www.biohedron.com/

21.              http://mgltools.scripps.edu/packages/MSMS/

22.              http://www.netsci.org/Science/Compchem/feature14.html

 


 
CONSTRUCTION OF THE ADAPTIVELY TRIANGULATED SMOOTH MOLECULAR SURFACE: PROGRAM TAGSS
 

S. Zhabin
delafrog@gmail.com
Research Computing Center, M.V, Lomonocov Mocsow State University, Russia
 
V. Sulimov
Dimonta, Ltd, Russia, Moscow

Abstract

Algorithms of triangulated solvent excluded and solvent accessible molecular surfaces construction realized in program TAGSS (Triangulated Adapted Grid of Smooth Surface) are described. The conflict free abilities of secondary rolling used for smoothing intersections and breaks of SES surface are discussed. The algorithm of triangulating mesh generation by method of step-by-step adding triangles is described. This algorithm is based on the procedure of an arbitrary point from volume to surface projection. The advantage features of resulting surfaces are their smooth, regular and adaptive triangulate mesh. The surface does not come to itself nearer than a fixed minimal distance. The triangulation mesh generally consists of near-equilateral triangles. The program provides an opportunity for adaptive mesh construction using control of mesh step in the process of triangulation. The program can be used both for visualization of molecules and for solving some molecular modeling problems defined on the molecular surface.

Keywords: SES, SAS, molecular surface, secondary rolling, triangulation, molecular modeling, molecular visualization.

References

1. Connolly, M. L. (1983b). Solvent-accessible surfaces of proteins and nucleic acids. Science 221: 709-713.
2. J. Giard , B. Macq Molecular SurfaceMesh Generation by Filtering Electron DensityMap. Hindawi Publishing Corporation International Journal of Biomedical Imaging Volume 2010, Article ID 923780, 9 pages.
3. Rivail, J.L., Rinaldi, D. Chem Phys. A quantum chemical approach to dielectric solvent effects in molecular liquids , 1976, 18, 233
4. Lee, B. Richards, F. M. (1971) J. Mol. Biol. 55, 379–400.
5. Michel Sanner, Arthur J. Olson, Jean Claude Spehner (1996). Reduced Surface: an Efficient Way to Compute Molecular Surfaces. Biopolymers, Vol 38, (3), 305-320.
6. J. Tomasi , M. Persico. Molecular Interactions in Solution: An Overview of Method Based on Continuous Distributions of the Solvent. Chem. Rev. 94 (1994) 2027-2094.
7. A. J. Bordner, C. N. Cavasotto, and R. A. Abagyan, Accurate Transferable Model for Water, n-Octanol, and n-Hexadecane Solvation Free Energies. J. Phys. Chem. B, 2002, 106 (42), 11009-11015.
8. Yury N. Vorobjev and Jan Hermans, SIMS: Computation of a Smooth Invariant Molecular Surface, Biophysical Journal Volume 73 August 1997 722-732.
9. V.Sulimov, A.Romanov, F.Grigoriev, O.Kondakova, A.Sulimov, P.Bryzgalov, S.Zhabin, A.Chernobrovkin, S.Sobolev “Web-oriented system Keenbase for virtual screening and design of new ligands for biological macromolecules. Application for new drug searches, Saint-Petersburg International Workshop on NanoBiotechnologies, 27-29 November 2006 Saint-Petersburg Russia , Abstracts, pp.33-34.
10. S.N. Zhabin, V.B. Sulimov. VISUALIZATION AND EDITING OF MOLECULES: MOLRED APPLICATION. Scientific Visualization, 2009, v.1 №1, pp. 108-114.
11. S.N. Zhabin, V.B. Sulimov. REALIZATION OF INTERACTIVE FACILITIES IN THE MOLECULAR EDITOR MOLRED. Scientific Visualization, 2010, v.2 №1, pp. 59-81.
12. Zhabin S.N., Sulimov V.B. TAGSS, certificate of state registration of computer programs № 2006613753, registered in the register of the computer programs of the Federal Service for Intellectual Property, Patent and Trademark Office October 27, 2006.
13. Alexey N. Romanov, Sergey N. Jabin, Yaroslav B. Martynov, Alexey V. Sulimov, Fedor V. Grigoriev, and Vladimir B. Sulimov, Surface Generalized Born Method: A Simple, Fast, and Precise Implicit Solvent Model beyond the Coulomb Approximation, J. Phys. Chem. A - VOLUME 108, NUMBER 43, OCTOBER 28, 2004, pp 9323 – 9327.
14. Kupervasser O.Yu., Zhabin SN Sulimov VB, DISOLV, certificate of state registration of computer programs № 2010612994, registered in the register of the computer programs of the Federal Service for Intellectual Property, Patent and Trademark Office May 6, 2010.
15. Bank, Randolph E., PLTMG: A Software Package for Solving Elliptic Partial Differential Equations, User's Guide 6.0, Society for Industrial and Applied Mathematics. Philadelphia, PA, 1990.
16. Coxeter, H. S. M. Euler's Formula." and "Poincare's Proof of Euler's Formula. §1.6 and Ch. 9 in Regular Polytopes, 3rd ed. New York : Dover , pp. 9-11 and 165-172, 1973.
17. Website of mathworld wolfram. Available at: http://mathworld.wolfram.com/EulerCharacteristic.html
18. Website of World Wide Protein data bank. Available at: http://www.wwpdb.org/
19. Website of molecular surface package. Available at: http://connolly.best.vwh.net/
20. Website of software for drawing and computing surface of molecule. Available at: http://www.biohedron.com/
21. Website of MSMS -a program written in the C programming language to compute molecular surfaces. Available at: http://mgltools.scripps.edu/packages/MSMS/
22. An article, which reviews computations and visualizations of molecular surfaces. Emphasis is placed on the solvent-accessibility ideas of Lee and Richards (1971) and the work that grew out of them. Available at: http://www.netsci.org/Science/Compchem/feature14.html