分子の点群をどのように決定しますか?


17

ついに、新しく発見された分子実体上で原子がどのように空間的に配置されているかを見つけることができました。たとえば、分光学的手段により、分子の原子座標、原子タイプ、結合長、結合タイプ、その他の一連の原子を手に入れることができます。ここで、分子のポイントグループ(対称グループ)を決定することに興味があります。

メタン()やベンゼン()のような単純な分子の場合、分子が属する点群を決定するのは視覚的な検査の簡単な問題です。ただし、分子が少し大きい場合、これはあまり実現できません。TdD6h

分子が便利なデータ形式(* .pdb、*。molなど)で保存されている場合、分子の対称グループをアルゴリズムでどのように決定しますか?


3
VMDには、この目的のためにSymmetryToolと呼ばれるプラグインが含まれています。
フアンM.ベロリバス

回答:


12

私の主な経験は結晶構造であり、結晶に現れる点対称性の数は限られています。したがって、私が使用するアルゴリズムは、分子で使用するアルゴリズムとは少し異なります。しかし、H 2やCO 2の軸対称のように、大きな分子では連続的な対称性が現れる可能性は低いため、方法は非常によく重なります。システムの対称性を決定する場合、考慮すべき2つの異なるが関連する対称性があります。ローカルとグローバルです。22

局所対称

ローカル対称性は、特定の点を中心としたローカル環境の対称性です。特に、各原子位置の対称性は、局所的な原子分裂と化学環境をある程度決定し、グローバルな対称性のサブグループです。例えば、ベンゼンの局所対称性は、2つの反射面とから構成軸(180 回転対称)。(明らかに、ローカルポイントグループ全体を生成するのに必要な操作は2つだけです。)C2180

ここに画像の説明を入力してください

アルゴリズムの観点からは、最初にターゲット原子の最近傍を見つけてから、中心原子を中心にその環境を回転させて同じままにすることができるすべての方法を列挙します。より数学的に、それはすべての直交行列、について解くさ、その結果、A

A(xixc)=xjxc

ここで、およびx jは同じ種の原子の位置であり、x cは中心原子またはターゲット原子の位置です。しかし、一般的にAを解こうとする前に、まず反射面が存在するかどうかなど、より単純なフォームを見ていきます。 xixjxcA

別の考えは、角運動量行列を回転のジェネレータとして使用することです。

A=exp(iϕn^L

ここで、NR 3角付きの回転どの単位ベクトルであり、φが行われ、L = Lの XLが YLの zは三次元角運動量行列のベクトルです。すると、Aには3つの未知数しかありません。n^R3ϕL=Lバツ Ly LzA

グローバル対称性

局所的な対称性が単一の原子の周囲の環境を決定するのに対して、大域的な対称性は原子が互いに交換する方法を決定します。グローバルな対称性を決定する最初のステップは、同等の原子を決定することです。最初に、最近傍(および必要に応じて2番目に近い、またはそれ以上の)原子のタイプと相対方向を決定します。隣接する原子が同じ空間配置を持っている場合、2つの原子は等価です。これは簡単に計算できます。

2番目のステップは、分子の質量中心が対称中心である可能性が高いことを除いて、局所対称の場合とほぼ同じです。この時点で、ローカルの対称性が決定されている場合、グループ全体を生成するためにいくつかの一意の操作を見つける必要があるだけです。例えば、内B20結晶構造、各原子は、ローカル有する対称性をC3、全点群は、2倍(含めることによって生成される回転)ねじ軸別に一つの原子を変換します。ベンゼン中、二つの操作が必要である:6倍(60 )回転中心軸との結合を二分する反射面を介し。18060

C3

A180

編集-翻訳:ローカル対称性に関する上記の議論が無視するもう1つの複雑な問題があります:翻訳。正式には、正しい対称操作は

Aバツバツc+t=バツjバツc

Aバツkt

t=n1a1+n2a2+n3a3

anZt


1
@JM、グローバルケースでは盲目的にローカルシンメトリケースのアイデアを使用する際に注意を追加しました。グローバルなケースでは、対称操作によってローカル環境も変換する必要があるという追加の制約があり、私はそれを明確にしたとは思わない。
rcollyer

@JM、翻訳に関する議論と、対称操作への影響を含めるのを忘れました。私は簡単な補遺を含めました。
rcollyer

そうですか。これを行うためのアルゴリズムは、分子や結晶を何らかの方法で「標準的な方向」(意味が何であれ)にしてから隣人などをチェックするだろうと常に考えていました。
JM

1
@JMは、結晶には2つの「標準方位」があります。結晶格子と原始格子であり、面心立方システムのように同じではない場合があります。分子の場合、おそらく重心を原点として使用し、慣性モーメントテンソルを対角化して「適切に位置合わせ」します。ただし、結晶のねじ軸のように、より一般的な対称操作が必要な場合、複数の回転中心の必要性がなくなるわけではありません。
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

まだこれに興味があるなら、指定された許容範囲内の分子の(アーベル)点群(および対称的に非冗長)の原子を与えるPythonスクリプトがあります。

私のルーチンと私が見た他の多くのルーチンとの違いは、初期の向きは重要ではないということです。初期ポイントグループを指定していないジオメトリ最適化の結果で実行すると便利ですこのような仮定はジオメトリを制限し、ジオメトリを対称にし、非平衡な基底状態を与えます。

あなたがまだ興味があるなら、私に知らせてください、私はそれをここで共有します。


私は間違いなくこのスクリプトに興味があります。あなたはそれをオープンソースにすることを喜んでいる(GitHubの通じ例えば、?)
ジェフ・ハッチソン

@GeoffHutchisonは、より大きなプログラム内にあるので、それをいじってみます(現在、molproを自動的に実行してジオメトリを最小化してから、生成されたジオメトリを抽出して方向付けするプログラムの一部です)。それを抽出し、少しクリーンアップするのはかなり簡単です。
意志

ありがとう。必要に応じてクリーンアップできれば幸いです。この種のツールには間違いなく需要があります。
ジェフハッチソン

1

分子の点群の対称性を検出するための小さなPythonスクリプトを書いたことがあります。興味のある方は、https://github.com/sunqm/pyscf/blob/master/symm/geom.pyをご覧ください


1
OPはコードよりもアプローチに関心があるようです。アプローチをより詳細に説明できると便利です。
ポール

デッドリンク。たぶん、代わりに現在のマスターの、githubの上の特定のビルドへのリンクを置く
エリックKjellgren

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.