怎样才能在数学上描述蛋白质的“卡通”类型?
一些算法可从不同包的源代码中获得。PyMol 就是其中之一,VMD 的源代码也可以访问。
我在 1990 年代实现了 VMD 的功能区算法。第一步是结构确定——氨基酸在哪里?哪些连接成链?C-α原子在哪里?
接下来,正如凯尔所说,是样条曲线。VMD 使用 Catmull-Rom 样条,以 C-alpha 作为控制点。这是一个三阶样条,样条穿过 C-alpha。如果您计算出数学,则有一个自由参数,它对应于样条线在控制点周围的刚度。我尝试了一些值,直到找到一个美观的值。
关于如何处理结尾也有一些技巧,因为没有足够的 C-alpha。我推断得到其他点。
这给出了路径。沿路径的圆形挤压形成了一个管子。您可以改变横截面半径以给出椭圆,并通过更多工作来定义功能区。
问题是找到正确的范数,使色带与 alpha 螺旋对齐。我尝试了各种方法然后放弃了,查看了 Raster3D 实现,获得了使用它的许可,并将其添加到 VMD。它是由 C-alpha 轨迹定义的先前向量范数和当前范数的累积和。我将不得不再次查看它的工作原理。有趣的是,Raster3D 的作者 Ethan Merritt 指出,他从 FRODO 那里得到了那段代码,所以它的历史悠久。
VMD 现在有“NewRibbons”,这是在我之后实施的。我不知道它是如何工作的。
做 alpha 螺旋最简单的方法是从第一个残基到最后一个残基画一条线;沿着线挤出一个圆圈,你就有了一个圆柱体。您也可以对螺旋进行线性最佳拟合,但我认为这会导致短螺旋出现问题。可能有更聪明的方法可以做到这一点,包括凯尔建议的方法,它允许软弯曲。
Beta链很容易。有两条控制路径,每侧一个。这些定义了股线路径和法线。你必须对扭曲有点小心,这样当你的股线应该扭曲 70 度时,它不会扭曲 290 度,但这并不难处理。
您没有提到的一个困难部分是如何检测 alpha-helix 和 beta-strands 的位置。一些 PDB 记录包含,但不是全部。为此,我使用了第 3 方工具 STRIDE。Warren 实现了他自己的算法。Roger Sayle 为 Raster3D 实现了他自己的 DSSP 版本。
我会试一试。
蛋白质卡通(也称为丝带)表示由三个部分组成,对应于三种蛋白质二级结构。
- 随机线圈(以绿色显示)- B 样条,通常为 2 或 3 级,通过每个氨基酸残基的 α-碳。有时,样条也会穿过氨基氮以更接近地显示蛋白质的构象。
- Alpha Helix(以红色显示)- 另一个具有扁平“带状”形状的样条线,环绕由螺旋中的残基形成的假想圆柱体。
- Beta 表(以黄色显示)- 具有穿过肽平面(由 α-碳、羰基-碳和羰基-氧形成的平面)的宽、扁平箭头形状的样条。箭头顶部的法线向量是肽平面的法线。箭头从蛋白质链的 N 端指向 C 端。
带状图上的维基百科页面提供了关于这种用于显示蛋白质结构的可视化起源的附加信息。