如何正确使用cmd.transform\u selection()

2024-10-02 10:33:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一组3x3旋转矩阵和一组对应的配体姿势的平移向量。我一直在尝试实现一个python方法,其中我将一个姿势转换为它的原点,应用一个旋转矩阵,将姿势转换为它的原始位置,然后应用转换向量。目前,我一直在尝试实现pymolapi命令:cmd.transform_selection(),它接受一个选择和一个"ttt"PyMOL矩阵(https://pymolwiki.org/index.php/Transform_selection

我目前的做法如下:

1.)从原始姿势(orig_pose)中,我使用ProDy函数来获得坐标(org_coords

2.)我计算中心center = np.mean(org_coords, axis=0),其中中心是[x, y, z]矩阵

3.)然后使用cmd.translate()orig_pose作为选择,使用-center作为翻译向量

4.)然后我想应用我的旋转矩阵并将其格式化为'ttt'矩阵(例如[m0, m1, m2, 0, m4, m5, m6, 0, m8, m9, m10, 0, m12, m13, m14, 1];参见:https://pymolwiki.org/index.php/Transform_selection)。不过,它似乎也应用了这种姿势的翻译

有没有人有使用这个API命令的经验,或者遇到过一种方法让我在给定输入的情况下变换对象(3x3旋转矩阵和平移向量)?非常感谢您的帮助,谢谢


Tags: 方法httpsorg命令cmdindextransform矩阵

热门问题