Table of Contents
NMRView can export and import peak lists, assignments and polymer sequences from and to simple tabular files. Many users rely on this method for maintaining a persistent copy of their data between NMRView sessions. Import and export of peak lists is invoked via the File menu of the Peak Analysis panel (Read Peaks and Write Peaks), assignments through the File menu of the Atom Assignments panel (Read PPM and Write PPM), and sequences through the Molecule->Read_Topology->Sequence menu item on the main control panel.
While supported, the above protocol is not the most appropriate method for maintaining a persistent copy of the data. The various read/write methods were actually designed as a means for transferring data between NMRView and other programs. Using an external program for automated assignments, for example, could be done by exporting the peak list from NMRView and then using programs such as awk, tcl or perl to translate the list to the native format of the external program.
The preferred method for persistent data storage in NMRView is to write and read files in the NMR-STAR format (http://www.bmrb.wisc.edu). This format was chosen for NMRView because it is platform independent and conforms to a standard. Because it is the format developed and used by the BioMagResBank for archival of NMR data, the end results of user?s NMR assignment process is already in the format necessary for uploading to the BMRB. Hopefully, this feature will encourage users to upload their data. Finally, NMRView is one of the few programs that can actually read and display BMRB NMR-STAR files. This means it is possible to download files from the BMRB and load them directly into NMRView. The large quantity of data available from the BMRB is thus available to NMR users for aiding in the assignment of homologous proteins or statistical analysis of chemical shift assignments of proteins
As of version 4.0.0, NMRView stores information in a text file that uses a STAR format. This is the same type of format used by the BioMagResBank. NMR-STAR files from the BMRB can be read into NMRView. The files created by NMRView are largely conformant with the NMR-STAR format. Minor changes have been made in order to ensure that all the relevant information is stored. In particular the format used for peak lists has been modified so as to store information about ambiguous assignments. The data for each category of NMR information, assignments, 3D structures peak lists etc., are grouped together within the STAR file in a so-called Saveframe. Within each saveframe the data is described by a series of keyword-data pairs. For example, the following are some of the keyword-data pairs describing a protein.
_Saveframe_category monomeric_polymer
_Mol_type polymer _Mol_polymer_class protein
_Name_common Antifungal_Protein_1
_Name_variant .
_Abbreviation_common Rs-AFP1
_Molecular_mass 5662.5
_Details ; The peptide bond between residues 40 and 41 is in the cis configuration ;
Repetitive information is stored in the form of loops. For example, the amino-acid sequence of the above polymer is stored as:
loop_
_Residue_seq_code
_Residue_label
1 PCA 2 LYS 3 LEU 4 CYS 5 GLU 6 ARG 7 PRO 8 SER 9 GLY 10 THR
11 TRP 12 SER 13 GLY 14 VAL 15 CYS 16 GLY 17 ASN 18 ASN 19 ASN 20 ALA
21 CYS 22 LYS 23 ASN 24 GLN 25 CYS 26 ILE 27 ASN 28 LEU 29 GLU 30 LYS
31 ALA 32 ARG 33 HIS 34 GLY 35 SER 36 CYS 37 ASN 38 TYR 39 VAL 40 PHE
41 PRO 42 ALA 43 HIS 44 LYS 45 CYS 46 ILE 47 CYS 48 TYR 49 PHE 50 PRO
51 CYS
stop_
The scientists at the BMRB have done a particularly thorough job of defining saveframes and the corresponding keyword-data pairs that can be used to define the types of NMR data that are typically measured on biological macromolecules. Included in the NMRView database are the peaklists, the chemical shift assignments, the molecular topology of any sequence currently in use, and the coordinates of any structures that have been read into NMRView.
NMRView reads certain of the data in the database in a way that is optimized for speed. For example, chemical shifts, assignments, peaklists and coordinates are read by special routines and stored in optimized data structures. All other data are read and stored into Tcl variables. Any information in the database will be read as long as it corresponds to the STAR format (one exception is that, at present, nested loops are not read). Thus the end user can add new saveframes to store any information and know that NMRView will read it and store it in an accessible manner.
The data in a STAR file is stored in a heirarchical manner and NMRView creates an analagous structure for its internal representation. Each STAR file can contain a series of data blocks, though most NMR-STAR files have only one. Within each data block are a series of saveframes. NMRView internalizes this representation by creating a Tcl namespace for each data block. A namespace is created in each data block namespace for each saveframe. Within these namespaces Tcl variables are creatd for each keyword-data pair. For example, the above polymer description is within a saveframe named Rs-AFP1 within a data block named 4071. When NMRView reads the file it creates a namespace named 4071 and within that namespace a namespace named Rs-AFP1. Within that namespace are the variables _Saveframe_category, _Mol_type, _Mol_polymer_class etc. One can access the data in these variables using the fully qualified name. For example, the molecular weight can be accessed as "4071::Rs-AFP1::_Molecular_mass". Thus to print out the value use:
puts $4071::Rs-AFP1::_Molecular_mass
or to assign the value to another variable use:
set mw $4071::Rs-AFP1::_Molecular_mass