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.
- Source code: https://github.com/tlinnet/drawnmr
- PyPI package: https://pypi.python.org/pypi/drawnmr
- Link to nmrglue: https://www.nmrglue.com and https://github.com/jjhelmus/nmrglue
- Link to bokeh: https://bokeh.pydata.org and https://github.com/bokeh/bokeh
Use nbviewer.jupyter.org to:
- See default Notebook 15N/13C 2D contour: nmrglue_s4_2d_plotting.ipynb
- See how to use widgets to alter contour levels: contour_widget.ipynb
- See how to use nmrglue peak pick, print table and show: contour_find_peaks.ipynb
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
- Guide for upload: http://peterdowns.com/posts/first-time-with-pypi.html
- Updated info: https://packaging.python.org/guides/migrating-to-pypi-org/#uploading
- PyPI test account: http://testpypi.python.org/pypi?%3Aaction=register_form
- PyPI Live account: http://pypi.python.org/pypi?%3Aaction=register_form
# 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