Blendero&openbabel绘制分子模型(一)

之前在这篇博客 看到了使用blender绘制分子模型,原理就是openbabel解析文件格式,写入json文件,然后读取文件中分子和化学键的位置来生成分子模型。openbabel可以解析文件,那直接用blender导入pdb也可以。
openbanel各发行版一般都有打包,直接下载安装即可。windoiws用户可以使用openbabelGUI ,openbabel转换文件格式的命令为

bash

$ obabel [-i <input-ID>] infile [-o <output-ID>] [-O outfile] [OPTIONS]
$ obabel -:"<SMILES string>"    [-o <output-ID>] [-O outfile] [OPTIONS]

不同发行版命令可能不同,可能为babel或obabel。其中第一条命令使用文件输入,如xyz,mol等。或者也可以使用第二条命令输入SMI字符串 ,如果输入SMI想生成模型的话因为SMI没有原子的位置信息,需要使用 --gen3d 选项。以乙酰丙酮为例,使用SMICC(=O)CC(=O)C

bash

$ obabel -:"CC(=O)CC(=O)C" -O Acetylacetone.pdb --gen3d

会提示生成了一个模型,然后目录下多了一个Acetylacetone.pdb,cat一下:

bash

cat Acetylacetone.pd

COMPND    UNNAMED
AUTHOR    GENERATED BY OPEN BABEL 3.1.0
HETATM    1  C   UNL     1       2.703   0.963  -1.120  1.00  0.00           C  
HETATM    2  C   UNL     1       2.553  -0.086  -0.048  1.00  0.00           C  
HETATM    3  O   UNL     1       1.730  -0.997  -0.161  1.00  0.00           O  
HETATM    4  C   UNL     1       3.350   0.079   1.221  1.00  0.00           C  
HETATM    5  C   UNL     1       4.846   0.047   1.053  1.00  0.00           C  
HETATM    6  O   UNL     1       5.394  -0.095  -0.037  1.00  0.00           O  
HETATM    7  C   UNL     1       5.670   0.213   2.305  1.00  0.00           C  
HETATM    8  H   UNL     1       2.028   0.737  -1.950  1.00  0.00           H  
HETATM    9  H   UNL     1       3.722   0.981  -1.507  1.00  0.00           H  
HETATM   10  H   UNL     1       2.439   1.942  -0.711  1.00  0.00           H  
HETATM   11  H   UNL     1       3.074  -0.733   1.903  1.00  0.00           H  
HETATM   12  H   UNL     1       3.060   1.030   1.681  1.00  0.00           H  
HETATM   13  H   UNL     1       5.025   0.326   3.180  1.00  0.00           H  
HETATM   14  H   UNL     1       6.291   1.107   2.211  1.00  0.00           H  
HETATM   15  H   UNL     1       6.297  -0.672   2.443  1.00  0.00           H  
CONECT    1    2    8    9   10                                       
CONECT    2    1    3    3    4                                       
CONECT    3    2    2                                                 
CONECT    4    2    5   11   12                                       
CONECT    5    4    6    6    7                                       
CONECT    6    5    5                                                 
CONECT    7    5   13   14   15                                       
CONECT    8    1                                                      
CONECT    9    1                                                      
CONECT   10    1                                                      
CONECT   11    4                                                      
CONECT   12    4                                                      
CONECT   13    7                                                      
CONECT   14    7                                                      
CONECT   15    7                                                      
MASTER        0    0    0    0    0    0    0    0   15    0   15    0
END

剩下的就很简单了,blender开启pdb导入插件,导入生成的pdb,可用选项如下图所示

可用选项

可用选项

Type of ball 选择原子用nurbs还是用网格表示,如果用网格可以在下面更改经纬球的分辨率
Scaling factors 原子大小和原子间距,默认1较小接近比例模型,想要球棍模型可以适当调大
Stick/bonds 化学键选项,建议勾选Bonds,可以生成双键和三键,否则只有单键。
可以点最上面的+号保存预设,下次直接调用。最后生成的模型如下图:

模型

模型

生成的模型可能需要清理一下多余的面,可以参考这个视频

文章作者: 金葵

文章链接: http://adwizardjk.art/blender-chem/

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 金葵 !