Biological Magnetic Resonance Data Bank

A Repository for Data from NMR Spectroscopy on Proteins, Peptides, Nucleic Acids, and other Biomolecules
Member of WWPDB

Programmers' Corner

BMRB and the NMR community have developed and made available a collection of software code for manipulating NMR data files, data and developing NMR experiments. The code is provided "as is" and is without warranty of any kind.

BMRB programming libraries and tools

A collection of software for manipulating NMR-STAR data files:

PyNMRSTAR is an object-oriented Python interface to NMR-STAR files. It makes reading from, modifying, validating, and comparing NMR-STAR files easy. Documentation is provided on the GitHub page.

SANS: callback-based STAR parsers similar to SAX. These parsers can be used to validate NMR-STAR syntax. Java, PHP, C++, and Python versions are available, some include mmCIF parsers as well as NMR-STAR.

The following tools are no longer actively maintained:

pystarlib is another Python interface to NMR-STAR and mmCIF files.

Starlib2 is a C++ library for accessing NMR-STAR files DOM-style.

Starlibj.jar is a Java version of the starlib library.

Starlib_doc is the documentation for the above Java library.

NMR Software running at BMRB

A software package consisting of programs for analyzing, annotating, parsing, archiving, and disseminating experimental NMR data deposited by authors world wide into the PDB.

CS-Rosetta server tools

It is possible to submit to our CS-Rosetta server using automated means. If you would like to submit CS-Rosetta runs from your software, look here for details.

Standards page


  • Data models
  • File formats
  • Atom nomenclature

Pulse sequences, macros

Submission Procedure for adding software and macros to BMRB.

Library of Pulse Sequences.