py3Dmol 简介、安装与入门

举报
DrugAI 发表于 2021/07/15 03:30:29 2021/07/15
【摘要】   3Dmol.js 3Dmol.js 是由匹兹堡大学的David Koes组创建的JavaScript库。由于它是生物信息学的研究小组,因此该库将专门设计用于绘制蛋白质的三维结构,但也可用于绘制小分子。   py3Dmol py3Dmol将是在Jupyter上运行3Dmol.js的小部件。并非所有功能都可以使用,但是许多API是通...

 

3Dmol.js

3Dmol.js 是由匹兹堡大学的David Koes组创建的JavaScript库。由于它是生物信息学的研究小组,因此该库将专门设计用于绘制蛋白质的三维结构,但也可用于绘制小分子。

 

py3Dmol

py3Dmol将是在Jupyter上运行3Dmol.js的小部件。并非所有功能都可以使用,但是许多API是通用的,因此阅读3Dmol.js官方网站是学习的最佳方法。

py3Dmol的一个特性是,一旦分子被加载,即使IPython内核未运行,也可以绘制分子。因此,即使您与其他人共享一个笔记本作为ipynb文件,也可以在另一侧移动该结构。

 

py3Dmol的安装

pip install py3Dmol

如果要与JupyterLab一起使用,则需要安装扩展程序。

jupyter labextension install jupyterlab_3dmol

 

py3Dmol示例


  
  1. import py3Dmol
  2. p = py3Dmol.view(query='mmtf:1ycr')
  3. p.setStyle({'cartoon': {'color':'spectrum'}})


  
  1. benz='''
  2. RDKit 3D
  3. 6 6 0 0 0 0 0 0 0 0999 V2000
  4. -0.9517 0.7811 -0.6622 C 0 0 0 0 0 0 0 0 0 0 0 0
  5. 0.2847 1.3329 -0.3121 C 0 0 0 0 0 0 0 0 0 0 0 0
  6. 1.2365 0.5518 0.3512 C 0 0 0 0 0 0 0 0 0 0 0 0
  7. 0.9517 -0.7811 0.6644 C 0 0 0 0 0 0 0 0 0 0 0 0
  8. -0.2847 -1.3329 0.3144 C 0 0 0 0 0 0 0 0 0 0 0 0
  9. -1.2365 -0.5518 -0.3489 C 0 0 0 0 0 0 0 0 0 0 0 0
  10. 1 2 2 0
  11. 2 3 1 0
  12. 3 4 2 0
  13. 4 5 1 0
  14. 5 6 2 0
  15. 6 1 1 0
  16. M END
  17. $$$$'''
  18. view = py3Dmol.view()
  19. view.addModel(benz,'sdf')
  20. view.setStyle({'stick':{}})
  21. view.setStyle({'model':0},{'stick':{'colorscheme':'cyanCarbon'}})
  22. view.zoomTo()


  
  1. view = py3Dmol.view(query='pdb:1dc9',linked=False,viewergrid=(2,2))
  2. view.setViewStyle({'style':'outline','color':'black','width':0.1})
  3. view.setStyle({'cartoon':{'arrows':True, 'tubes':True, 'style':'oval', 'color':'white'}},viewer=(0,1))
  4. view.setStyle({'stick':{'colorscheme':'greenCarbon'}},viewer=(1,0))
  5. view.setStyle({'cartoon':{'color':'spectrum'}},viewer=(1,1))
  6. view.removeAllModels(viewer=(0,0))
  7. view.addModel(benz,'sdf',viewer=(0,0))
  8. view.setStyle({'stick':{}},viewer=(0,0))
  9. view.zoomTo(viewer=(0,0))
  10. view.render()


  
  1. view = py3Dmol.view(query='pdb:1ycr')
  2. chA = {'chain':'A'}
  3. chB = {'chain':'B'}
  4. view.setStyle(chA,{'cartoon': {'color':'spectrum'}})
  5. view.addSurface(py3Dmol.VDW,{'opacity':0.7,'color':'white'}, chA)
  6. view.setStyle(chB,{'stick':{}})
  7. view.show()

 

参考资料

https://pypi.org/project/py3Dmol/

https://future-chem.com/py3dmol/

 

文章来源: drugai.blog.csdn.net,作者:DrugAI,版权归原作者所有,如需转载,请联系作者。

原文链接:drugai.blog.csdn.net/article/details/104793603

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。