跳转到主要内容

jsmol的bokeh扩展

项目描述

Build Status

JSmol bokeh扩展

此扩展允许您使用JSmolbokeh中可视化原子结构。

功能

  • 同时支持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

链接

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

jsmol-bokeh-extension-0.2.2.tar.gz (5.5 kB 查看哈希)

上传时间 源代码

由以下支持