PyCharm中是否可查看py3Dmol或nglview的可视化模型?
PyCharm中查看nglview/py3Dmol生物分子模型的实现方案
功能权限说明
该能力不属于PyCharm Pro专属付费特性,2022.1及以上版本的PyCharm社区版即可完整实现,最终交互效果和matplotlib弹出独立绘图窗口完全一致。
前置通用配置
- 为当前项目绑定已安装生物信息相关依赖的虚拟环境(conda/venv均可),提前在环境中安装基础包:
pip install nglview py3dmol ipython - 打开PyCharm设置路径
Settings > Tools > Python Scientific,取消勾选Show plots in tool window——这一步和matplotlib弹出独立窗口的配置完全相同,取消后渲染结果不会嵌入侧边栏面板,会弹出独立交互窗口。
nglview 独立窗口运行方式
nglview原生是Jupyter/IPython小部件,不需要启动Notebook服务,直接调用桌面渲染接口即可弹出窗口,示例代码:
import nglview as nv # 加载测试结构,此处用PDB数据库的1CRN蛋白为例 view = nv.show_pdbid("1crn") # 触发独立窗口弹出,逻辑等价于matplotlib的plt.show() view.gui()
弹出的窗口支持所有nglview原生交互:旋转缩放结构、切换卡通/球棍/表面等显示样式、选择特定残基/配体高亮,不需要额外配置前端环境。
py3Dmol 独立窗口运行方式
py3Dmol默认基于WebGL渲染,不需要手动写HTML文件,直接调用内置的本地渲染接口即可唤起PyCharm原生窗口,示例代码:
import py3Dmol # 加载PDB 1CRN结构 view = py3Dmol.view(query='pdb:1crn') # 设置显示样式为彩虹色卡通 view.setStyle({'cartoon': {'color':'spectrum'}}) # 弹出独立交互窗口 view.show()
如果运行后弹出的是系统浏览器窗口而非PyCharm原生绘图窗,在代码最开头添加一行配置即可:py3Dmol.view.__default_render__ = 'window'。
常见问题排查
- 不要在PyCharm的Python Console交互式面板逐行运行渲染代码,直接右键执行完整.py脚本即可正常唤起窗口
- 如果窗口加载结构失败,检查当前网络是否能正常访问PDB数据库,或者换用本地加载pdb文件的接口
nv.show_structure_file()/py3Dmol.view(query='path/to/your/local.pdb')即可。
内容的提问来源于stack exchange,提问作者Joseph_C
相关产品推荐
相关产品推荐

