A module for displaying NMR data with bokeh in Python or Jupyter Notebooks.

pip install drawnmr==0.24



What is drawnmr?

drawnmr is a module for viewing NMR data in Python. When used with the nmrglue and bokeh packages, drawnmr provides functions to view and interact with NMR data.

drawnmr is a wrapper around nmrglue capabilities and provide helper functions to show the data in bokeh, which is an interactive visualisation library.

The main purpose is to show NMR data in a Jupyter Notebook. If a Jupyter Notebook installation is not running, bokeh allow the output to be saved to static HTML files.

nmrglue is used for processing nmrdata, and bokeh is used for showing and interacting. The function get_contour_widget() create ipywidgets to easily control contour levels. The function get_peakpick() calls nmrglue peakpick.pick() to find peaks, convert from data point to ppm coordinates, store in a pandas dataframe for easy inspection and add the peaks to the bokeh plot.

Important links

See examples

Use nbviewer.jupyter.org to:

Launch interactive Jupyter Notebook mybinder.org to try examples:



How to install?

If using conda, these steps will install an environment

# With pip from https://pypi.python.org/pypi/drawnmr
pip install drawnmr

Developer install for local conda environment:

# Create environment
conda env create -f environment.yml

# Activate environment
conda env list
source activate drawnmr

# Enable ipywidgets
jupyter nbextension list
jupyter nbextension enable --py widgetsnbextension --sys-prefix

# Start jupyter
jupyter notebook

Or manual install in root environment:

# Manually install package
python setup.py install --force

#  Manually uninstall
python setup.py install --record files.txt
PACK=`dirname $(head -n 1 files.txt)`
rm -rf $PACK
#cat files.txt | xargs rm -rf


# Modify version in: drawnmr/__init__.py

# Create tag
VERS=`python -c "from drawnmr import __version__; print(__version__)"`
# Adds a tag so that we can put this on PyPI
git tag $VERS -m ""
git push --tags origin master

# Upload your package to PyPI Test
python setup.py sdist upload -r pypitest
open https://testpypi.python.org/pypi/drawnmr

# Upload to PyPI Live
# Once you've successfully uploaded to PyPI Test, perform the same steps but point to the live PyPI server instead.
python setup.py sdist upload -r pypi
open https://pypi.python.org/pypi/drawnmr