Bio. DBC.SCADIO模块

SCADIO:编写OpenSCAD程序来创建蛋白质结构3D模型。

3D打印蛋白质结构是一项不平凡的工作,因为整体复杂性以及打印时支持突出区域的一般要求。 该软件是生成用于打印的模型(例如STL文件)的一种途径,并且不解决将模型转换为实体产品的问题。 OpenSCAD <http://www.openscad.org/>可以根据该软件生成的脚本创建可打印模型。 MeshMixer <http://www.meshmixer.com/>、各种切片器软件和您可用的3D打印机技术提供了解决物理渲染模型问题的选项。

这里生成的模型由OpenSCAD基元(例如球体和圆柱体)组成,代表蛋白质结构的显式模型中的各个原子和键。 好处是可以选择单个原子/键用于与3D打印相关的特定打印定制(例如可旋转键机构或氢键磁铁)。 或者,使用例如Chimera将结构渲染为丝带或类似结构,以便打印为单个对象。

我建议使用这里提供的OpenSCAD脚本生成初始模型,然后根据您的需要修改该脚本。 更改atomScale和bondRadius值可以通过消除间隙和相应的支撑需求来简化模型,或者您可能希望修改hedronDispatch()例程来选择残基或链部分以单独打印并随后使用可旋转键连接。 在此开发阶段,您的版本可能会仅包括此处生成的数据矩阵,方法是使用 includeCode=False 写入_SCAD()的选项。 使用可旋转骨架和磁性氢键的示例项目位于<https://www.thingiverse.com/thing:3957471>。

Bio.PDB.SCADIO.write_SCAD(entity, file, scale=None, pdbid=None, backboneOnly=False, includeCode=True, maxPeptideBond=None, start=None, fin=None, handle='protein')

将面体组合作为OpenSCAD矩阵写入文件。

此例程既调用 IC_Chain.internal_to_atom_coordinates()IC_Chain.atom_to_internal_coordinates() 由于对缩放、环周围的显式键合以及设置输出模型的坐标空间的要求。

输出数据格式主要是:

  • 每个面体的矩阵:

    len 1、angle 2、len 3、原子键类、指示先前面体中表示的原子/键的标志(OpenSCAD非常慢,具有冗余重叠元素)、键特征的标志

  • 变换矩阵将每个面体组装成剩余二面体集

  • 将每个残基的矩阵转换为链中的位置

该Python文件中包含OpenSCAD软件,可将这些矩阵处理成适合3D打印项目的模型。

参数:
  • entity -- Biopython DBC Structure 要输出的实体结构数据

  • file -- 比波伊松 as_handle() 文件名或打开文件指针文件写入数据

  • scale (float) -- STL输出每埃单位(通常为毫米),写入输出

  • pdbid (str) -- DBC idcode,写入输出中。如果未提供并且实体中未设置“idcode”,则返回到“0 DBC”

  • backboneOnly (bool) -- 默认为假。如果为True,则不输出超过CBeta的侧链数据

  • includeCode (bool) -- 默认为真。包括OpenSCAD软件(如下行列),以便输出文件可以加载到OpenSCAD中;如果为假,则仅输出数据矩阵

  • maxPeptideBond (float) -- 可选默认无。初始化IC_Chain类(默认1.4)中的截止值,以检测断链。 如果您的目标发生连锁断裂,请在此处传递大量数字,以在断裂期间创建非常长的“纽带”。

  • start,fin (int) -- 默认无internal_to_atom_coords()的参数限制链段。

  • handle (str) -- 生成的OpenSCAD矩阵结构顶层的默认“蛋白质”名称

看到 IC_Residue.set_flexible() 为特定残基设置具有可旋转键的标志,并且 IC_Residue.set_hbond() 以包括用于小磁体的腔以作为氢键工作。有关实现示例,请参见<https://www.thingiverse.com/thing:3957471>。

OpenSCAD代码显式创建球体和圆柱体来表示3D模型中的原子和键。 有选项可以支持可旋转键和磁性氢键。

编写矩阵是为了链接、列举和描述残基、二面体、面体和链,反映相关IC_* 数据结构的内容。

面体的OpenSCAD矩阵具有以下附加信息:

  • 记录原子和键状态(单、双、共振

    以便3D模型中的原子球可以使用3D模型

  • 键和原子被跟踪,以便每个键和原子只创建一次

  • 旋转键选择和氢键磁铁支架

    可以指定(见 IC_Residue.set_flexible()IC_Residue.set_hbond() )

注意应用 Bio.PDB.internal_coords.IC_Chain.MaxPeptideBond :通过将其设置为较大的值,可以连接缺失的残基(连接具有任意长键的链段)。

注意,这使用了每个残差的串行装配,将每个残差放置在原点,并将坐标空间转换提供给OpenaSCAD

所有ALTSYS(无序)残基和原子都被写入输出模型。 (见 Bio.PDB.internal_coords.IC_Residue.no_altloc )