Skip to main content

An IPython interface for embedding iCn3D viewer

Project description


icn3dpy is a simple IPython/Jupyter widget to embed an interactive iCn3D viewer in a notebook. Its source code is at PyPI, and is also included at iCn3D GitHub.

The 3D view of icn3dpy in Jupyter Notebook is interactive, just like in any browser. The popup windows will appear under the 3D view. If you have a predefined cutom view, you can use the predefined commands in icn3dpy as shown below.

If you experience problems, please file an issue.


Install icn3dpy:

pip install icn3dpy

Install node if node is unavailable. One way in Mac is to use "brew":

brew update

brew install node 

Install Jupyter Lab and the extension "jupyterlab_3dmol":

pip install jupyterlab

jupyter labextension install jupyterlab_3dmol
or jupyterhub labextension install jupyterlab_3dmol


Open a notebook:

jupyter notebook

and issue Python script as follows:

import icn3dpy

"mmdbid" as input:

view = icn3dpy.view(q='mmdbid=6hjr')

You can also try other input besides "mmdbid". "cid" as input:

view = icn3dpy.view(q='cid=2244')

"url" as input for local PDB files, e.g., "./1TOP.pdb":

view = icn3dpy.view(q='url=pdb|./1TOP.pdb')

"url" as input for remote PDB files:

view = icn3dpy.view(q='url=pdb|')

"url" as input for iCn3D PNG Image files:

view = icn3dpy.view(q='url=icn3dpng|')

Use predefined commands (The Jupyter Notebook commands can be copied from the "Copy Commands" button in the "File > Share Link" menu of interactive iCn3D viewers in Jupyter Notebook or in a web browser):

view = icn3dpy.view(q='mmdbid=6m0j',command='scatterplot interaction pairs | !A !E | hbonds,salt bridge,interactions,halogen,pi-cation,pi-stacking | false | threshold 3.8 6 4 3.8 6 6; show selection; add residue number labels')

Embed a static image instead of an interactive 3D view to improve the performace of a page with multiple structures. The image is clickable to launch an interactive 3D view. The parameters are separated with the symbol "&" (e.g., "imageonly=1&showanno=1"). All parameters are described in the "URL parameters" section:

view = icn3dpy.view(q='mmdbid=6hjr', para='imageonly=1')


You can use iCn3D interactive interface to generate a custom view, then click "File > Share Link" to get the commands in the "Original URL". All iCn3D commands are listed here.


United States Government Work

Project details

Release history Release notifications | RSS feed

Download files

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

Source Distribution

icn3dpy-3.28.2.tar.gz (6.1 kB view hashes)

Uploaded source

Built Distribution

icn3dpy-3.28.2-py3-none-any.whl (10.6 kB view hashes)

Uploaded py3

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