jsmol的bokeh扩展
项目描述
JSmol bokeh扩展
功能
- 同时支持bokeh和bokeh服务器
- 见example.html。结构显示在独立的html中,按钮将在bokeh服务器中启动工作
先决条件
- python 2.7或更高版本
- NodeJS 6.10或更高版本(有关说明,请参阅bokeh开发者文档)
注意:截至2019年6月,需要NodeJS编译.ts
/ .coffee
文件。一旦bokeh提供了有关如何捆绑编译后的javascript的指南,可能取消NodeJS依赖。
安装
版本控制
- jsmol-bokeh-extension 0.1.x与bokeh < 1.1兼容(使用CoffeScript编写)
- jsmol-bokeh-extension 0.2及以上版本与bokeh >= 1.1兼容(使用TypeScript编写)
pip install jsmol-bokeh-extension
使用方法
以下是一个完整的example.py
,演示如何使用jsmol bokeh扩展
rom bokeh.models import ColumnDataSource
from bokeh.io import show, curdoc
from bokeh.models.widgets import Button, TextInput
from bokeh.layouts import layout, widgetbox
from jsmol_bokeh_extension import JSMol
script_source = ColumnDataSource()
info = dict(
height="100%",
width="100%",
serverURL="https://chemapps.stolaf.edu/jmol/jsmol/php/jsmol.php",
use="HTML5",
j2sPath="https://chemapps.stolaf.edu/jmol/jsmol/j2s",
script=
"background black;load https://chemapps.stolaf.edu/jmol/jsmol-2013-09-18/data/caffeine.mol",
)
applet = JSMol(
width=600,
height=600,
script_source=script_source,
info=info,
)
button = Button(label='Execute')
inp_script = TextInput(value='background white;')
def run_script():
script_source.data['script'] = [inp_script.value]
button.on_click(run_script)
ly = layout([applet, widgetbox(button, inp_script)])
show(ly)
curdoc().add_root(ly)
注意:此示例可以使用bokeh和bokeh服务器运行
# run locally (displays structure but button won't work)
python example.py
# run using bokeh server (displays structure and button should work)
bokeh serve example.py --show
链接
- 此bokeh扩展基于surface3d示例和扩展小部件
- 另请参阅JSmol信息字典
项目详情
关闭
jsmol-bokeh-extension-0.2.2.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1a08b152284cc689f705961db9c859a65f0197bf039d86b6a41944a015a95038 |
|
MD5 | fe5e97a97afcb4edfff00db7b629c668 |
|
BLAKE2b-256 | ffc2b9df0a9c265ffc9907062c5130c2b5ef6fa2b5efb45de7c9cabfe0bbdbe6 |