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 and CIF formatted files used by Protein Data Bank (PDB).
The nmrstarlib package provides facilities to convert NMR-STAR and CIF formatted files into their equivalent JSONized representation and vice versa. JSON stands for JavaScript Object Notation, an open-standard format that uses human-readable text to transmit data objects consisting of attribute-value pairs.
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 and CIF formatted files.
- As a command-line tool to convert between NMR-STAR/CIF format and its equivalent JSONized NMR-STAR/CIF format, to create a large number of simulated peak lists, and also to visualize chemical shift data from NMR-STAR formatted files.
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.
- nmrstarlib @ GitHub
- nmrstarlib @ PyPI
- Documentation @ ReadTheDocs
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.
python3 -m pip install nmrstarlib
py -3 -m pip install nmrstarlib
Import nmrstarlib library and create generator function that will yield StarFile instance(s):
>>> import nmrstarlib
>>>
>>> # "path": path_to_file / path_to_dir / path_to_archive / bmrb_id / pdb_id / file_url
>>> for file in nmrstarlib.read_files("path"):
... print(file.id) # print BMRB/PDB id of a file
... print(file.source) # print source of a file
... print(file.keys()) # print top-level keys
>>>
Note
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.