skip to navigation
skip to content

nmrstarlib 2.0.3

Python library for parsing data from NMR-STAR format files

The nmrstarlib package is a Python library that facilitates reading and writing NMR-STAR formatted files used by the Biological Magnetic Resonance Data Bank (BMRB) for archival of Nuclear Magnetic Resonance (NMR) data.

The nmrstarlib package provides facilities to convert NMR-STAR formatted files into their equivalent JSONized (JavaScript Object Notation, an open-standard format that uses human-readable text to transmit data objects consisting of attribute-value pairs) representation and vice versa.

The nmrstarlib package also provides facilities to create simulated peak lists for different types of standard solution and solid-state NMR experiments from chemical shifts and assignment information deposited in NMR-STAR files.

In addition, the nmrstarlib package provides methods to visualize chemical shift data.

The nmrstarlib package can be used in several ways:

  • As a library for accessing and manipulating data stored in NMR-STAR format files.
  • As a command-line tool to convert between NMR-STAR format and its equivalent JSONized NMR-STAR format, to create a large number of simulated peak lists, and also to visualize chemical shift data.


When using nmrstarlib in published work, please cite the following paper:

  • Smelter, Andrey, Morgan Astra, and Hunter NB Moseley. “A fast and efficient python library for interfacing with the Biological Magnetic Resonance Data Bank.” BMC Bioinformatics 18.1 (2017): 175. doi: 10.1186/s12859-017-1580-5.


The nmrstarlib package runs under Python 2.7 and Python 3.4+, use pip to install. Starting with Python 3.4, pip is included by default.

Install on Linux, Mac OS X

python3 -m pip install nmrstarlib

Install on Windows

py -3 -m pip install nmrstarlib


Import nmrstarlib library and create generator function that will yield StarFile instance(s):

>>> from nmrstarlib import nmrstarlib
>>> # "path": path_to_file / path_to_dir / path_to_archive / bmrb_id / file_url
>>> starfile_gen = nmrstarlib.read_files("path")
>>> for starfile in starfile_gen:
...     print(starfile.bmrbid)         # print BMRB id of StarFile
...     print(starfile.source)         # print source of StarFile
...     print(list(starfile.keys()))   # print StarFile saveframe categories
>>> # For example, let's read two files: one using BMRB id and the other one using URL:
>>> starfile_gen = nmrstarlib.read_files("15000", "")
>>> for starfile in starfile_gen:
...     print("BMRB id:", starfile.bmrbid)
...     print("Source:", starfile.source)
...     print("List of saveframes and comments:", list(starfile.keys()))


Read the User Guide and The nmrstarlib Tutorial on ReadTheDocs to learn more and to see code examples on using the nmrstarlib as a library and as a command-line tool.


This package is distributed under the MIT license.

File Type Py Version Uploaded on Size
nmrstarlib-2.0.3.tar.gz (md5) Source 2017-08-07 735KB