분자의 포인트 그룹을 어떻게 결정합니까?


17

마지막으로 새로 발견 된 분자 개체에서 원자가 공간적으로 어떻게 배열되는지 알아 냈습니다. 예를 들어, 분광법을 통해, 당신은 이제 많은 원자 좌표, 원자 유형, 결합 길이, 결합 유형 및 분자에 대한 것들을 소유하고 있습니다. 이제 분자의 점 그룹 (대칭 그룹)을 결정하는 데 관심이 있습니다.

메탄 (같은 간단한 분자 ), 또는 벤젠 ( D 6 H ), 이는 분자가 속해있는 포인트 그룹을 결정 육안 간단한 물질이다. 그러나 분자가 큰면에있을 때는 이것이 실현 가능하지 않습니다.6h

편리한 데이터 형식 (* .pdb, * .mol ​​등)으로 저장된 분자가 있다면 분자의 대칭 그룹을 알고리즘 적으로 어떻게 결정합니까?


3
가치있는 것을 위해 VMD에는 이러한 목적을위한 SymmetryTool 이라는 플러그인이 포함되어 있습니다 .
Juan M. Bello-Rivas

답변:


12

나의 주된 경험은 결정 구조에 관한 것이며, 결정에 나타나는 한정된 수의 점 대칭 만이 있습니다. 그래서 제가 사용할 알고리즘은 분자에서 사용하는 것과 약간 다릅니다. 그러나 H 2 나 CO 2 의 축 대칭과 같이 연속 대칭이 나타날 가능성이 큰 분자는 거의 없으므로 방법이 상당히 겹치게됩니다. 시스템에서 대칭을 결정할 때 고려해야 할 서로 다른 두 가지 대칭이 있습니다 : 로컬 및 글로벌.22

국소 대칭

로컬 대칭은 특정 지점 주변의 로컬 환경의 대칭입니다. 특히, 각각의 원자 위치에서의 대칭은 국소 원자 분할 및 어느 정도까지 화학 환경을 결정하며, 전체 대칭의 하위 그룹이다. 예를 들어, 벤젠의 로컬 대칭 개의 반 사면으로 구성 및 축 ( 180 회전 대칭). (물론, 전체 로컬 포인트 그룹을 생성하는 데 2 ​​개의 작업 만 필요합니다.)2180

여기에 이미지 설명을 입력하십시오

알고리즘 관점에서 우리가 한 일은 먼저 대상 원자의 가장 가까운 이웃을 찾은 다음 중심 원자를 중심으로 해당 환경을 회전하고 동일하게 유지할 수있는 모든 방법을 열거하는 것입니다. 더 수학적으로, 모든 직교 행렬에 대한 해결되고, 그 같은

(엑스나는엑스)=엑스제이엑스

여기서 x j 는 동일한 종의 원자 위치이고 x c 는 중심 또는 목표 원자의 위치입니다. 그러나 일반적으로 A 를 풀기 전에 반 사면의 존재 여부와 같은 간단한 형태를 먼저 살펴 보았습니다 . 엑스나는엑스제이엑스

또 다른 생각은 각도 운동량 행렬을 회전 생성기로 사용하는 것입니다.

=특급(나는ϕ^)

여기서 NR 3 각도로 회전되는 대한 단위 벡터이다 φ가 행해지고, L = ( L의 X , L의 Y , L의 Z는 ) 입체 각운동량 행렬 벡터된다. 그러면 A 는 3 명의 미지수 만 가질 것입니다.^아르 자형ϕ=(엑스, 와이, )

글로벌 대칭

국소 대칭이 단일 원자 주위의 환경을 결정하는 경우, 전체 대칭은 원자가 서로 어떻게 상호 작용 하는지를 나타냅니다. 전역 대칭을 결정하는 첫 번째 단계는 등가 원자를 결정하는 것입니다. 먼저, 가장 가까운 인접 원자 (및 원하는 경우 두 번째로 가장 가까운 원자)에 대한 유형 및 상대 방향을 결정하십시오. 이웃이 동일한 공간 배열을 갖는 경우 두 원자는 동일합니다. 이것은 계산하기 간단합니다.

두 번째 단계는 분자의 질량 중심이 대칭 중심 일 가능성이 있다는 점을 제외하고는 로컬 대칭 경우와 거의 동일합니다. 이 시점에서 로컬 대칭이 결정된 경우 전체 그룹을 생성하기 위해 몇 가지 고유 한 작업 만 있으면됩니다. 예를 들어, 상기에서 B20 결정 구조 , 각 원자는 로컬 갖는 대칭 및 전체 포인트 그룹은 2 배 (포함하여 생성된다 회전) 나사 축은 서로에 하나 개의 원자를 변환한다. 벤젠에는 두 가지 작업이 필요합니다. 중심 축을 통한 6 배 ( 60 ° ) 회전과 본드를 이등분하는 반 사면.18060

편집 : B20 구조의 경우 대신 축 중 두 개를 사용 하여 전체 그룹을 생성 할 수 있습니다 . 이를 통해 스크류 축을 자동으로 결정하는 방법을 찾지 않아도됩니다.

주의 : 전역 섹션의 로컬 대칭 섹션에있는 아이디어를 사용하는 데 대한주의 사항은 대칭 작업이므로 환경도 변환해야합니다. 따라서 위에서 를 찾으면 변환이 환경을 적절하게 변경하지 못하고 추가 검사가 필요하기 때문에 후보 대칭 만 제공합니다. 예를 들어 벤젠 고리가 하나 개의 측면을 따라 고리 평면의 고집 수소 원자를 가지고있는 경우, 다음의 탄소 - 탄소 결합을 이등분 반 사면 괜찮을 것이다하지만 180 마찬가지로 결합을 이등분 회전하고자하지 때문 것 지역 환경을 재현하지 마십시오.180

편집-번역 : 로컬 대칭에 대한 위의 설명에서 무시할 수있는 또 다른 문제가 있습니다 : 번역. 공식적으로 올바른 대칭 작동은

(엑스나는엑스)+=엑스제이엑스

여기서 x k 는 위와 같고 t 는 임의의 변환입니다. 변성 결정에서엑스케이

=11+22+

여기서 는 원시 격자 변환과 n iZ 이므로 점 그룹과 변환은 완전히 분리 가능합니다. 상징이 아닌 결정에서 t 는 기본이 아닌 변환으로 구성 될 수 있습니다. 이 둘의 차이점은 단순히 변성 결정의 경우 단일 회전 중심을 찾을 수 있지만 비-변형 결정의 경우 사실이 아닙니다. 분자 시스템은이 후자의 의미에서 "비대칭"일 가능성이 높으며, 그룹을 완전히 실현하기 위해 번역을 추가해야합니다.나는나는


1
@JM, 전 세계 사례에서 로컬 대칭 사례의 아이디어를 맹목적으로 사용하는 것에주의를 기울였습니다. 전 세계의 경우 대칭 작업으로 로컬 환경을 변환해야한다는 엄격한 추가 사항이 있으며 명확하게 생각하지 않았다고 생각합니다.
rcollyer

@JM, 번역에 대한 토론과 대칭 연산에 미치는 영향을 포함시키는 것을 잊었습니다. 나는 간단한 부록을 포함시켰다.
rcollyer

내가 참조. 나는 이것을하기위한 알고리즘이 이웃이나 그런 것들을 확인하기 전에 어떻게 든 분자 나 결정을 "표준 방향"(의미 한 것이 든)에 넣을 것이라고 생각했었다.
JM

1
@JM, 결정의 경우, 두 가지 "표준 방향"이 있습니다 : 결정 격자와 원시 격자, 그리고 면 중심 입방 시스템 에서와 같이 동일하지 않을 수 있습니다 . 분자의 경우 아마도 질량 중심을 원점으로 사용한 다음 관성 모멘트를 대각선으로 기울여 "적절하게 정렬"합니다. 그러나 크리스탈의 스크류 축과 같이보다 일반적인 대칭 작업이 필요한 경우 다중 회전 중심이 필요하지 않습니다.
rcollyer

10

SYMMOL이라는 몇 가지 패키지에 사용되는 이전 코드가 있습니다. 사용하는 알고리즘은 다음 백서에 설명되어 있습니다.

T. Pilati 및 A. Forni, "SYMMOL : 접두사가 허용되는 원자 클러스터에서 최대 대칭 그룹을 찾는 프로그램" , J. Appl. 크라이스트 1998. 31, 503-504.

기본적으로 관성 중심을 결정한 다음 가능한 대칭 연산을 적용하고 변형 허용 벡터가 존재하여 주어진 공차 내에서 작동 된 형상을 원본에 매핑 할 수 있는지 확인합니다. 코드 자체는 더 이상 제작자 사이트에서 사용할 수 없지만 여기 에서 예제 입력 파일 세트와 함께 사용할 수 있습니다 .


3

이에 대한 고품질 오픈 소스 코드가 있다고 답변합니다.

https://github.com/mcodev31/libmsym

libmsym은 분자의 점 그룹 대칭을 다루는 C 라이브러리입니다. 그것은 어떤 점군의 분자를 결정하고, 공생시키고, 생성 할 수 있습니다. 또한 모든 점군과 궤도 각운동량 (l)의 부분 집합에 대해 원자 궤도의 대칭 적 선형 조합을 생성하고 궤도를 큰 성분으로 돌이킬 수없는 표현으로 투영 할 수 있습니다.

나는 libmysm을 Avogadro에 적용했으며 2015 년 8 월에 릴리스가 나올 것입니다.

저자는 현재 세부 사항에 대한 원고를 완성하는 중이라고 생각합니다. 이 답변이 게시되면 수정하겠습니다.


1

여전히 이것에 관심이 있다면, 지정된 허용 오차 내에서 분자의 (Abelian) 포인트 그룹 (및 대칭이 아닌 중복) 원자를 제공하는 python 스크립트가 있습니다.

내 루틴과 내가 사용할 수있는 많은 것들의 차이점은 초기 방향이 중요하지 않다는 것입니다. 초기 점 그룹을 지정하지 않은 경우 (최소의 이와 같은 가정은 형상을 제한하여 대칭이되게하고 비평 형 접지 상태를 제공 할 수 있습니다.)

그래도 관심이 있으시면 여기로 알려 드리겠습니다.


이 스크립트에 관심이있을 것입니다. GitHub를 통해 공개 소스로 만들려고하십니까?
Geoff Hutchison

@GeoffHutchison 나는 더 큰 프로그램 안에 있기 때문에 놀아 볼 것입니다 (현재는 molpro를 자동으로 실행하여 지오메트리를 시도하고 최소화 한 다음 생성 된 기하학을 추출하고 방향을 지정하는 프로그램의 일부입니다). 그것을 추출하고 조금 정리하는 것이 합리적으로 간단합니다.
것이다

감사. 필요에 따라 청소 해 드리겠습니다. 이런 종류의 도구에 대한 요구가 분명히 있습니다.
제프 허치슨

1

한때 분자에 대한 점 그룹 대칭을 탐지하기 위해 작은 파이썬 스크립트를 작성했습니다. 관심이 있으시면 https://github.com/sunqm/pyscf/blob/master/symm/geom.py 를 참조 하십시오.


1
OP는 코드보다 접근 방식에 더 관심이있는 것으로 보입니다. 접근 방식을 자세히 설명하면 도움이 될 것입니다.
Paul

연결이 끊어졌습니다. 어쩌면 현재 마스터 대신 github의 특정 빌드에 대한 링크를 추가하십시오
Erik Kjellgren

0

Materials Studio와 같이 분자의 포인트 그룹을 자동으로 식별 할 수있는 일부 소프트웨어 패키지가 있습니다. 그러나 스스로 알아 내고 싶다면 프로세스를 안내 하는 멋진 흐름도 가 있습니다. 또한 볼 수 Otterbein 대칭 웹 사이트 일부 자습서 및 인터랙티브 데모합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.