alphabetic index / program documentation / database / internals / methods

SPSCAN Input and Output Formats

Spectra

SPSCAN can read the following spectral formats:
XEASY 16-bit format
This format consists of a data file, *.3D.16, and a text file, *.3D.param, that provides the necessary parameters to access the data file. This parameter file is used directly.
UXNMR "2rr" and "3rrr" files
To use these files, an access header (*.param) has to be created with "access uxnmr ..." Most of the parameters are automaticlly extracted from the proc* files.
NMRpipe spectral files
To use these files, an access header (*.param) has to be created with "access pipe ..." Parameters are extracted from a text file, that can be created with the NMRpipe command "showhdr -verb filesname".
SPSCAN can write only XEASY 16-bit format. You can transform UXNMR or NMRpipe files into XEASY format by loading the file to memory and writing it to a new file on disk.

In contrast to XEASY, SPSCAN does not read the "old" EASY3d spectral format, that is produced with the "converter" program from FELIX and Varian data.

Access to NMRPipe spectra format
There seem to exist several formats. For format NMRPIPE_SP1=71 it is assumed that the header is NMRPIPE_HDSIZE=2048 byte long, then float numbers are stored in a submatrix structure. Each plane of a 3D spectrum is in a different file.

The spectra can be accessed via a parameter file of the following structure:

#FORMAT nmrpipe_sp1
#DIMENSIONS 3
#SPEC_FILE  /path/filename
#PERM       1           2           3           
#SIZE       454         256         128         
#INAME      HN          H_aliph     N           
#HI_PPM     10.796      10.796      132.008     
#SWEEPW     5.307       11.971      26.017      
#FREQ       600.132874  600.132874  60.817894   
#FOLD       NO          NO          RSH         
In spec_io, spec_file is the full name of the first plane. It must have a 3-digit-number between two dots.

Peaklists

Peaklists provide the chemical shifts of experimental or expected (simulated) peaks in a spectrum, and the assignment of the resonances. Spscan reads and writes 2D, 3D and 4D peaklists in the format used by XEASY, DYANA, ... It writes additional information into these lists, which is ignored by XEASY and gets lost if you read the list into XEASY and overwrite it from XEASY.

The header of the peaklist defines the dimensionality of the dimensionality of the list, the order of dimensions, and the assignment mode. Example 3D peak list:

# Number of dimensions 3
#FORMAT xeasy3D_LW
#INAME 1       HN
#INAME 2        N
#INAME 3     Htoc
#ASSIGN_MODE 6 /home/ralf/sruns/P14A/p14.prot /home/ralf/sruns/P14A/p14.seq SSP
     1  10.122 131.727   1.409 1 ?         1.638e+04  6.07e+00 a 0 30004 30003     0 #LW  0.039  0.300  0.035 #ID 300
     2  10.122 131.727   5.183 1 ?         1.191e+04  5.48e+00 a 0 30004 30003     0 #LW  0.039  0.300  0.026 #ID 300
     3   5.725 131.046   5.735 1 ?         3.355e+04  2.33e+00 a 0 30104 30103 30104 #LW  0.060  0.300  0.058 #ID 301
...
                                                          ^ quality parameter
                                                ^ peak volume
          ^       ^        ^ chemical shift                           ^     ^     ^ assignment numbers
    ^ line number (this number may change)                       ^ unused
                                 ^ type of experiment          ^ integration method                           #ID  ^ strip number
                               ^ peak color                                          #LW    ^       ^     ^ linewidth in all dimensions
All entries that start with # at the end of a normal line are optional. These entries can be given in any order.
XEASY comments (extra lines starting with "#" below a regular peak line) are conserved in spscan if the program is compiled with
#define KEEP_XEASY_COMMENTS 1
otherwise they are ignored.
SPSCAN reads all lists in "C style, i.e. there must not be any missing entries and the position and length of the fields is irrelevant. However, for DIANA and a number of other fortran programs the exact position of the fields is critical.

Proton Lists (Chemical Shift lists)

For historical reasons and to avoid confusion with the terminology in XEASY, chemical shift lists are referred to as "proton lists". SPSCAN uses the same format as DYANA, XEASY, DIANA, CALIBA ...
The proton list provides the relation between an assignment number, atom name, residue number, and chemical shift. If you use the "project" database of SPSCAN, the assignment numbers follow a fixed scheme depending on atom name, residue number, and residue type (see assignment). However, SPSCAN can convert any DYANA or XEASY assignment into its own scheme and back.

Example proton list:

30003 131.750 0.000 N     300
30004  10.127 0.004 HN    300
30005  51.116 0.000 CA    300
30006   5.183 0.000 HA    300
30008  24.087 0.000 CB    300
30011   1.409 0.000 QB    300
30028  54.874 0.000 CAp   300
30103 131.121 0.077 N     301
30104   5.723 0.003 HN    301
30203 130.835 0.000 N     302
30204  10.738 0.000 HN    302
30206   0.958 0.000 HA    302
...
                           ^ residue number
                     ^ atom name
                ^ chemical shift error
         ^ chemical shift
  ^ assignment number 

Sequence Lists

Sequence lists (*.seq) provide the relation between residue number and residue type. The may contain additional information about relations between residues.

Example sequence list:

GLN       1   -1   -1    2    200
ASN       2  356    1    3    200
SER       3   -1    2    4    200
...
TYR     135   -1  134   -1    200
SSP     300  117   -1   -1    800
SSP     301   -1   -1   -1    800
SSP     302   34   -1   -1    800
...
         ^ residue number
 ^ residue type
optional information:
                               ^ status 
                        ^ next residue
                   ^ previous residue
              ^ mapping (identical with residue number)

alphabetic index / program documentation / database / internals / methods
Ralf W. Glaser
Institut für Molekularbiologie & Biophysik ETH Hönggerberg CH-8093 Zürich Switzerland E-mail: ralf@mol.biol.ethz.ch

created: July 1997