Как определить точечную группу молекулы?


18

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

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

Учитывая, что молекула хранится в каком-то удобном формате данных (* .pdb, * .mol ​​и т. Д.), Как вы алгоритмически определяете группу симметрии молекулы?


3
Для чего стоит VMD включает в себя плагин для этой цели под названием SymmetryTool .
Хуан М. Белло-Ривас

Ответы:


13

Мой основной опыт связан с кристаллическими структурами, и в кристалле обнаруживается только конечное число точечных симметрий . Итак, алгоритм, который я бы использовал, немного отличается от того, что вы бы использовали в молекуле. Но маловероятно, что с большой молекулой появятся непрерывные симметрии, такие как осевая симметрия в H или CO , поэтому методы должны перекрываться достаточно хорошо. При определении симметрии в системе необходимо учитывать две разные, но взаимосвязанные симметрии: локальную и глобальную.222

Локальная симметрия

Локальная симметрия - это симметрия локальной среды вокруг определенной точки. В частности, симметрия в каждом атомном местоположении определяет локальное атомное расщепление и, в некоторой степени, химическую среду и является подгруппой глобальной симметрии. Например, в бензоле локальная симметрия состоит из двух плоскостей отражения и оси ( симметрия вращения). (Очевидно, что только две из этих операций необходимы для генерации всей локальной группы точек.)180 С2180

введите описание изображения здесь

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

A(Икся-Иксс)знак равноИксJ-Иксс

где и - положения атомов одного и того же вида, а - положение центрального или целевого атома. Но я бы сначала посмотрел на более простые формы, например, существует ли плоскость отражения, прежде чем пытаться найти в целом. x jx cAИксяИксJИкссA

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

Aзнак равноехр(яφN^L)

где - это единичный вектор, относительно которого выполняется вращение с углом , и - это вектор трехмерных матриц угловых моментов. будет иметь только 3 неизвестных.фL =(Lх,лу,Лг)N^р3φLзнак равно(LИкс, LY, LZ)A

Глобальная симметрия

Там, где локальная симметрия определяет среду вокруг одного атома, глобальная симметрия диктует, как атомы обмениваются друг с другом. Первым шагом в определении глобальной симметрии является определение эквивалентных атомов. Сначала определите типы и относительные направления к ближайшему соседнему (и второму ближайшему или более высокому, если это необходимо) атомам. Два атома тогда эквивалентны, если их соседи имеют одинаковое пространственное расположение. Это просто рассчитать.

Второй шаг примерно такой же, как и в случае локальной симметрии, за исключением того, что центр масс молекулы, вероятно, является центром симметрии. На этом этапе, если локальные симметрии были определены, может потребоваться только несколько уникальных операций для генерации всей группы. Например, в кристаллической структуре B20 каждый атом имеет локальную симметрию , и полная точечная группа генерируется путем включения 2-кратной ( вращение) винтовой оси, которая превращает один атом в другой. В бензоле требуются две операции: 6-кратное ( ) вращение по центральной оси и плоскость отражения, разделяющая связь.С318060

Редактировать : Для структуры B20 вы можете использовать две оси , вместо этого, чтобы сгенерировать полную группу. Это должно позволить вам избежать необходимости определять способ автоматического определения оси винта.С3

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

Правка - Переводы : есть еще одно осложнение, которое игнорирует вышеупомянутое обсуждение локальной симметрии: переводы. Формально правильная операция симметрии

A(Икся-Иксс)+Tзнак равноИксJ-Иксс

где и , как указано выше, и - произвольный перевод. В симморфном кристаллеAИксКT

Tзнак равноN1a1+N2a2+N3a3

где - примитивная трансляция решетки, а , поэтому точечная группа и трансляции полностью отделимы. В несиморфном кристалле может состоять из не примитивных трансляций. Разница между ними заключается просто в том, что для симморфного кристалла можно найти единственный центр вращения, но для несиморфных кристаллов это не так. Молекулярная система, вероятно, будет «несиморфной» в этом последнем смысле и потребует добавления переводов для полной реализации группы.aяNяZT


1
@JM, я добавил осторожность при слепом использовании идей в случае локальной симметрии в глобальном случае. В глобальном случае есть еще одно ограничение: локальная среда также должна быть преобразована с помощью операции симметрии, и я не думаю, что я дал это понять.
rcollyer

@JM, я забыл обсудить переводы и их влияние на операции симметрии. Я включил краткое дополнение.
rcollyer

Понимаю. Я всегда думал, что алгоритм для этого каким-то образом переведет молекулу или кристалл в «стандартную ориентацию» (что бы это ни значило), прежде чем проверять соседей и тому подобное.
JM

1
@JM, для кристалла существует две «стандартные ориентации»: кристаллическая решетка и примитивная решетка, и они могут не совпадать, как в гранецентрированной кубической системе . Для молекулы я бы, вероятно, использовал центр масс в качестве источника, а затем диагонализировал момент тензора инерции, чтобы «правильно выровнять» его. Это, однако, не устраняет необходимость в нескольких центрах вращения, если требуется более общая операция симметрии, такая как винтовая ось в кристалле.
rcollyer

11

Для этой цели существует старый код, который используется в нескольких пакетах и ​​называется SYMMOL. Используемый алгоритм описан в следующей статье:

T. Pilati и A. Forni, «SYMMOL: программа для нахождения группы максимальной симметрии в кластере атомов с заданным допуском» , J. Appl. Крист. 1998. 31, 503-504.

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


3

Я рад ответить, что для этого есть высококачественный открытый исходный код:

https://github.com/mcodev31/libmsym

libmsym - это библиотека C, занимающаяся симметрией точечной группы в молекулах. Он может определять, симметризовать и генерировать молекулы любой точечной группы. Он также может генерировать адаптированные к симметрии линейные комбинации атомных орбиталей для подмножества всех точечных групп и орбитального углового момента (l), и проецировать орбитали в неприводимое представление с компонентом larges.

Я адаптировал libmysm в Avogadro, и релиз должен выйти позже, в августе 2015 года.

Я полагаю, что автор в настоящее время работает над завершением рукописи о деталях. Я уточню этот ответ, когда он будет опубликован.


1

Если вы все еще заинтересованы в этом, у меня есть скрипт на python, который даст вам (абелеву) точечную группу (и симметрично не избыточные) атомы любой молекулы в пределах указанного допуска.

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

Если вы все еще заинтересованы, дайте мне знать, я поделюсь этим здесь.


Я определенно был бы заинтересован в этом сценарии. Готовы ли вы сделать его открытым исходным кодом (например, через GitHub?)
Джефф Хатчисон

@GeoffHutchison Я поэкспериментирую с ним, поскольку он находится внутри более крупной программы (в настоящее время он является частью программы, которая автоматически запускает molpro, чтобы попытаться минимизировать геометрию, а затем извлечь сгенерированные геометрии и ориентировать их). Будет достаточно просто извлечь его и немного почистить.
будет

Благодарю. Я был бы счастлив убрать это как необходимый. Существует определенно спрос на этот вид инструмента.
Джефф Хатчисон

1

Однажды я написал небольшой скрипт на Python для определения симметрии точечной группы для молекулы. Если вы заинтересованы, пожалуйста, смотрите https://github.com/sunqm/pyscf/blob/master/symm/geom.py


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

Мертвая ссылка. Может быть, поставить ссылку на конкретную сборку на GitHub, вместо текущего мастера
Эрик Kjellgren

0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.