Skip to main content

Speck Jupyter Widget

Project description

ipyspeck

ipyspeck Stats

Latest Release
PyPI Downloads

Speck

Speck is a molecule renderer with the goal of producing figures that are as attractive as they are practical. Express your molecule clearly and with style.

speck

ipypeck

Ipyspeck is a ipywidget wrapping speck to be used on a Jupyter notebook as a regular widget.

Usage

The ipyspeck widget renders xyz molecules.

h2o

import ipyspeck

H2O='''3
Water molecule
O          0.00000        0.00000        0.11779
H          0.00000        0.75545       -0.47116
H          0.00000       -0.75545       -0.47116'''
h2o = ipyspeck.speck.Speck(data=H2O)
h2o

Ideally it should be used as part of a container widget (such as Box, VBox, Grid, ...)

h2oc

import ipywidgets as w
c = w.Box([h2o], layout=w.Layout(width="600px",height="400px"))
c

The visualization parameters can be modified

#Modify atoms size
h2o.atomScale = 0.3
#change bonds size
h2o.bondScale = 0.3
#highlight borders
h2o.outline = 0

To render molecules on different formats openbabel can be used to translate them as xyz

import openbabel
import requests
url = "https://files.rcsb.org/ligands/view/CO2_ideal.sdf"
r = requests.get(url)
obConversion = openbabel.OBConversion()
obConversion.SetInAndOutFormats("sdf", "xyz")
mol = openbabel.OBMol()
obConversion.ReadString(mol, r.text)
co2 = obConversion.WriteString(mol)
ipyspeck.speck.Speck(data=co2)

co2

Installation

To install use pip:

$ pip install ipyspeck
$ jupyter nbextension enable --py --sys-prefix ipyspeck

To install for jupyterlab

$ jupyter labextension install ipyspeck

For a development installation (requires npm),

$ git clone https://github.com//denphi//speck.git
$ cd speck/widget/ipyspeck
$ pip install -e .
$ jupyter nbextension install --py --symlink --sys-prefix ipyspeck
$ jupyter nbextension enable --py --sys-prefix ipyspeck
$ jupyter labextension install js

When actively developing your extension, build Jupyter Lab with the command:

$ jupyter lab --watch

This takes a minute or so to get started, but then automatically rebuilds JupyterLab when your javascript changes.

Note on first jupyter lab --watch, you may need to touch a file to get Jupyter Lab to open.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipyspeck-0.6.0.tar.gz (290.2 kB view hashes)

Uploaded Source

Built Distribution

ipyspeck-0.6.0-py2.py3-none-any.whl (585.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page