如何确定分子的点基?


18

您终于设法找到了原子在新发现的分子实体上的空间排列方式。通过光谱学手段,您现在拥有一堆原子坐标,原子类型,键长,键类型以及分子的原子。您现在对确定分子的点组(对称组)感兴趣。

对于简单的分子,例如甲烷(Td)或苯(D6h),确定一个分子所属的点组是目视检查的简单问题。但是,当分子偏大时,这不太可行。

给定一个以某种方便的数据格式(* .pdb,*。mol等)存储的分子,您如何从算法上确定该分子的对称基团?


3
就其价值而言,VMD为此目的提供了一个名为SymmetryTool的插件。
Juan M. Bello-Rivas

Answers:


13

我的主要经验是晶体结构,晶体中只有有限数量的点对称。因此,我将使用的算法与您在分子中使用的算法略有不同。但是,对于大分子,不可能出现连续的对称性,例如H 2或CO 2中的轴向对称性,因此方法应该很好地重叠。确定系统中的对称性时,要考虑两种不同但相关的对称性:局部对称性和全局对称性。22

局部对称

局部对称性是特定点周围局部环境的对称性。特别是,每个原子位置的对称性决定了局部原子分裂,并在某种程度上决定了化学环境,并且是全局对称性的一个子集。例如,在苯的局部对称性由两个反射面及一的轴(180 旋转对称)。(显然,只需要执行两个操作即可生成整个本地点组。)C2180

在此处输入图片说明

从算法的角度来看,我们要做的是首先找到目标原子的最近邻居,然后枚举我们可以围绕中心原子旋转该环境并使它保持不变的所有方法。从数学上讲,它正在求解所有正交矩阵,使得A

A(xixc)=xjxC

其中x j是相同物种的原子的位置,而x c是中心原子或目标原子的位置。但是,在尝试求解一般A之前,我将首先考虑较简单的形式,例如是否存在反射平面。 xixjxcA

另一个想法是使用角动量矩阵作为旋转的生成器,然后

A=exp(iϕn^L)

其中Ñ[R 3为约其与角度的旋转的单元矢量φ被执行,并且大号 = 大号 X大号 ÿ大号 Ž是三维角动量矩阵向量。那么A将只有3个未知数。n^R3ϕL=(Lx, Ly, Lz)A

全局对称

在局部对称性决定单个原子周围的环境的地方,全局对称性决定了原子如何相互交换。确定全局对称性的第一步是确定等效原子。首先,确定到最接近的邻居(如果需要,第二更接近或更高)原子的类型和相对方向。如果两个原子的相邻原子具有相同的空间排列,则它们是等效的。这很容易计算。

第二步与局部对称情况大致相同,除了分子的质心很可能是对称中心。在这一点上,如果确定了局部对称性,则可能只需要找到几个唯一的操作即可生成整个组。例如,在B20晶体结构,每个原子有一个本地对称性C3,并且由包括2倍(所产生的完整的点群旋转)螺杆轴,其将一个原子成另一种。在苯,需要两个操作:6倍(60 )通过旋转中心轴和反射面二等分的键。18060

编辑:对于B20结构,您可以使用轴中的两个来生成完整的组。这样可以避免必须找出自动确定螺丝轴的方法。C3

注意:在全局区域中使用局部对称区域中的思想要谨慎,要进行对称操作,还必须改变环境。因此,如果您从上方找到,则它将仅给出候选对称性,因为该转换可能不会类似地适当地更改环境,因此需要进一步检查。例如,如果苯环的氢原子沿着一侧从环的平面伸出,那么将碳-碳键平分的反射平面会很好,但是类似地平分键的180 180旋转不会,因为不重现当地环境。A180

编辑-翻译:以上关于局部对称性的讨论忽略了另一种复杂情况:翻译。形式上,正确的对称操作是

A(xixc)+t=xjxc

其中x k,如上所述,而t是任意转换。在同晶中Axkt

t=n1a1+n2a2+n3a3

其中是一个原始晶格翻译和Ñ Ž,所以点群和翻译是完全分开的。在非同形晶体中,t可以由非本原平移组成。两者之间的区别仅在于,对于同构晶体,可以找到一个旋转中心,但是对于非同构晶体,则不正确。在后一种意义上,分子系统很可能是“非对称的”,并且需要添加翻译才能完全实现该基团。ainiZt


1
@JM,我在全局情况下盲目地在局部对称情况下使用这些想法时,添加了警告。在全局情况下,还增加了严格的条件,即必须通过对称操作来改变本地环境,我想我没有说清楚。
rcollyer 2011年

@JM,我忘了对翻译及其对对称操作的影响进行讨论。我包括了一个简短的附录。
rcollyer 2011年

我知道了。我一直认为,执行此操作的算法会在检查邻居等​​之前以某种方式将分子或晶体置于“标准方向”(可能意味着什么)。
JM

1
@JM,对于晶体,有两个“标准方向”:晶格和原始晶格,它们可能不相同,就像在面心立方系统中一样。对于一个分子,我可能会以质心为原点,然后对角转动惯量张量以使其“正确对齐”。但是,如果需要更通用的对称操作(如晶体中的螺杆轴),则并不需要多个旋转中心。
rcollyer 2011年

11

在一些软件包中使用了旧的代码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?)
Geoff Hutchison

@GeoffHutchison我将使用它,因为它位于一个较大的程序中(当前是程序的一部分,该程序自动运行molpro尝试最小化几何,然后提取生成的几何并将其定向)。提取并清理一点将相当简单。

谢谢。我很乐意根据需要进行清理。绝对需要这种工具。
Geoff Hutchison


0

有一些软件包,例如Materials Studio,可以为您自动识别分子的点组。但是,如果您想自己弄清楚它,有一个不错的流程图将引导您完成该过程。您也可以在Otterbein对称网站上查看一些教程和交互式演示。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.