1
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      A fast and efficient python library for interfacing with the Biological Magnetic Resonance Data Bank

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          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.

          Electronic supplementary material

          The online version of this article (doi:10.1186/s12859-017-1580-5) contains supplementary material, which is available to authorized users.

          Related collections

          Most cited references 3

          • Record: found
          • Abstract: not found
          • Article: not found

          Cython: The Best of Both Worlds

            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            The STAR file: a new format for electronic data transfer and archiving

             Sydney Hall (1991)
              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              The Python Library Reference

               G Rossum,  FL Drake (2010)
                Bookmark

                Author and article information

                Contributors
                andrey.smelter@louisville.edu
                givengravity@gmail.com
                hunter.moseley@uky.edu
                Journal
                BMC Bioinformatics
                BMC Bioinformatics
                BMC Bioinformatics
                BioMed Central (London )
                1471-2105
                17 March 2017
                17 March 2017
                2017
                : 18
                Affiliations
                [1 ]ISNI 0000 0001 2113 1622, GRID grid.266623.5, School of Interdisciplinary and Graduate Studies, , University of Louisville, ; Louisville, KY 40292 USA
                [2 ]ISNI 0000 0001 2113 1622, GRID grid.266623.5, Department of Computer Engineering and Computer Science, , University of Louisville, ; Louisville, KY 40292 USA
                [3 ]ISNI 0000 0004 1936 8438, GRID grid.266539.d, Department of Molecular and Cellular Biochemistry, , University of Kentucky, ; Lexington, KY 40356 USA
                [4 ]ISNI 0000 0004 1936 8438, GRID grid.266539.d, Markey Cancer Center, , University of Kentucky, ; Lexington, KY 40356 USA
                [5 ]ISNI 0000 0004 1936 8438, GRID grid.266539.d, Center for Environmental and Systems Biochemistry, , University of Kentucky, ; Lexington, KY 40356 USA
                [6 ]ISNI 0000 0004 1936 8438, GRID grid.266539.d, Institute for Biomedical Informatics, , University of Kentucky, ; Lexington, KY 40356 USA
                Article
                1580
                10.1186/s12859-017-1580-5
                5356280
                28302053
                © The Author(s). 2017

                Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License ( http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver ( http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.

                Funding
                Funded by: FundRef http://dx.doi.org/10.13039/100000076, Directorate for Biological Sciences;
                Award ID: 1252893
                Categories
                Software
                Custom metadata
                © The Author(s) 2017

                Comments

                Comment on this article