Warning: file_get_contents(https://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=pubmed&id=28302053
&cmd=llinks): Failed to open stream: HTTP request failed! HTTP/1.1 429 Too Many Requests
in C:\Inetpub\vhosts\kidney.de\httpdocs\pget.php on line 215
A fast and efficient python library for interfacing with the Biological Magnetic
Resonance Data Bank
#MMPMID28302053
Smelter A
; Astra M
; Moseley HN
BMC Bioinformatics
2017[Mar]; 18
(1
): 175
PMID28302053
show ga
BACKGROUND: The Biological Magnetic Resonance Data Bank (BMRB) is a public
repository of Nuclear Magnetic Resonance (NMR) spectroscopic data of biological
macromolecules. It is an important resource for many researchers using NMR to
study structural, biophysical, and biochemical properties of biological
macromolecules. It is primarily maintained and accessed in a flat file ASCII
format known as NMR-STAR. While the format is human readable, the size of most
BMRB entries makes computer readability and explicit representation a practical
requirement for almost any rigorous systematic analysis. RESULTS: To aid in the
use of this public resource, we have developed a package called nmrstarlib in the
popular open-source programming language Python. The nmrstarlib's implementation
is very efficient, both in design and execution. The library has facilities for
reading and writing both NMR-STAR version 2.1 and 3.1 formatted files, parsing
them into usable Python dictionary- and list-based data structures, making access
and manipulation of the experimental data very natural within Python programs
(i.e. "saveframe" and "loop" records represented as individual Python dictionary
data structures). Another major advantage of this design is that data stored in
original NMR-STAR can be easily converted into its equivalent JavaScript Object
Notation (JSON) format, a lightweight data interchange format, facilitating data
access and manipulation using Python and any other programming language that
implements a JSON parser/generator (i.e., all popular programming languages). We
have also developed tools to visualize assigned chemical shift values and to
convert between NMR-STAR and JSONized NMR-STAR formatted files. Full API
Reference Documentation, User Guide and Tutorial with code examples are also
available. We have tested this new library on all current BMRB entries: 100% of
all entries are parsed without any errors for both NMR-STAR version 2.1 and
version 3.1 formatted files. We also compared our software to three currently
available Python libraries for parsing NMR-STAR formatted files: PyStarLib,
NMRPyStar, and PyNMRSTAR. CONCLUSIONS: The nmrstarlib package is a simple, fast,
and efficient library for accessing data from the BMRB. The library provides an
intuitive dictionary-based interface with which Python programs can read, edit,
and write NMR-STAR formatted files and their equivalent JSONized NMR-STAR files.
The nmrstarlib package can be used as a library for accessing and manipulating
data stored in NMR-STAR files and as a command-line tool to convert from NMR-STAR
file format into its equivalent JSON file format and vice versa, and to visualize
chemical shift values. Furthermore, the nmrstarlib implementation provides a
guide for effectively JSONizing other older scientific formats, improving the
FAIRness of data in these formats.