Home Projects Downloads DOCUMENTATION Events About
 Spectrum Translator  Workflow Builder

Connjur Spectrum Translator Assumptions


CONNJUR-ST uses a combination of vendor documentation and file exploration to determine the contents of files. We call data about data metadata. ST reads both NMR data and a subset of metadata for translation from one format to another. This document outlines assumptions utilized in developing CONNJUR-ST; where does the come from?

The design philosophy of the spectrum translator is that if a translation can not be performed with a high degree of confidence, it should not be performed. Therefore in practice if ST encounters what it considers illogical or inconsistent metadata, or the size of the NMR data is not what ST expects, it will output an error message and stop conversion. In the event more NMR data is present than expected a configuration switch allows the user to direct ST to ignore the excess.


NMRPipe files contain a header of float encoded metadata followed by a block of NMR spectrum data. Files fdatap.html and fdatap.h in the NMRPipe distribution document the header. The table below documents usage by Spectrum Translator. Usage codes are as follows:

ST nameOffsetNMRpipe nameDimensionDescriptionUsage
ENDIAN_CONST_INDEX 2naConstant value used to determine endianessL
DIMENSIONS 9FDDIMCOUNT Number of dimensions presentL
DIMORDER1 24FDDIMORDER1Firstx/y/z/a dimension designationM
DIMORDER2 25FDDIMORDER2Secondx/y/z/a dimension designationM
DIMORDER3 26FDDIMORDER3Thirdx/y/z/a dimension designationM
DIMORDER4 27FDDIMORDER4Fourthx/y/z/a dimension designationM
D1SIZE 99FDSIZEFirstdimension sizeL
D2SIZE 219FDSPECNUMSeconddimension sizeL
D3SIZE 15FDF3SIZEThirddimension sizeL
D4SIZE 32FDF4SIZEFourthdimension sizeL
D2TYPE 56FDF2QUADFLAG FirstComplex or real dataL
D1TYPE 55FDF1QUADFLAG SecondComplex or real dataL
D3TYPE 51FDF3QUADFLAG ThirdComplex or real dataL
D4TYPE 54FDF4QUADFLAG FourthComplex or real dataL
D1SWEEPWIDTH 229FDF1SW First sweep widthM
D2SWEEPWIDTH 100FDF2SW Second sweep widthM
D3SWEEPWIDTH 11FDF3SW Third sweep widthM
D4SWEEPWIDTH 29FDF4SW Fourth sweep widthM
FDF1AQSIGN 475FDF1AQSIGN First combined alternating / negate imaginaries flagM
FDF2AQSIGN 64FDF2AQSIGN Second combined alternating / negate imaginaries flagM
FDF3AQSIGN 476FDF3AQSIGN Third combined alternating / negate imaginaries flagM
FDF4AQSIGN 477FDF4AQSIGN Fourth combined alternating / negate imaginaries flagM
FDF1FTFLAG 222FDF1FTFLAG FirstTime or Frequency domain info 1M
FDF2FTFLAG 220FDF2FTFLAG SecondTime or Frequency domain infoM
FDF3FTFLAG 13FDF3FTFLAG ThirdTime or Frequency domain infoM
FDF4FTFLAG 31FDF4FTFLAG FourthTime or Frequency domain infoM
FDF2OBS 119FDF2OBS First"Observed MHz, or spectral frequency"M
FDF1OBS 218FDF1OBS Second"Observed MHz, or spectral frequency"M
FDF3OBS 10FDF3OBS Third"Observed MHz, or spectral frequency"M
FDF4OBS 28FDF4OBS Fourth"Observed MHz, or spectral frequency"M
FDF1CAR 67FDF1CAR FirstCarrier ppmM
FDF2CAR 66FDF2CAR SecondCarrier ppmM
FDF3CAR 68FDF3CAR ThirdCarrier ppmM
FDF4CAR 69FDF4CAR FourthCarrier ppmM
FDF1P0 245FDF1P0 FirstZero order phase correctionM
FDF2P0 109FDF2P0 SecondZero order phase correctionM
FDF3P0 60FDF3P0 ThirdZero order phase correctionM
FDF4P0 62FDF4P0 FourthZero order phase correctionM
FDF1P1 246FDF1P1 FirstFirst order phase correctionM
FDF2P1 110FDF2P1 SecondFirst order phase correctionM
FDF3P1 61FDF3P1 ThirdFirst order phase correctionM
FDF4P1 63FDF4P1 FourthFirst order phase correctionM
FDCOMMENT 312FDCOMMENT Comment field 160 charactersM
FDF1LABEL 18FDF1LABEL FirstNucleus labelM
FDF2LABEL 16FDF2LABEL SecondNucleus labelM
FDF3LABEL 20FDF3LABEL ThirdNucleus labelM
FDF4LABEL 22FDF4LABEL FourthNucleus labelM
TRANSPOSED 221 FDTRANSPOSEDDimensions are transposed flagM
FD2DPHASE256FD2DPHASESecondStates/TPPI designationMW

Rowland Toolkit

The Rowland Toolkit format is documented in the online manual.. It consists of an ASCII parameter ("par") file and separate binary NMR Data file.

The following lines are used to determine the file layout. The number of dimensions is implicitly determined based on the number of columns present.

The following lines are read and/or written for metadata support.


Varian information is stored in a binary file fid and an ASCII procpar file. Metadata exists in both files. Documentation of the binary fid file is found in VNMR User Programming VNMR 6.1C Software2 and documentation of the ASCII procpar file is found in VNMR Command and Parameter Reference Varian NMR Spectrometer Systems With VNMR 6.1C Software 3.

The binary file is composed of multiple blocks separated by a block header. From the header information about the number of blocks, the type of data (float or 16 bit integer of 32 bit integer), whether the data is time or frequency domain.1, and a valid data flag is read.

The procpar files in parsed and a subset of parameters are used. Currently only uniformly sampled data is supported. The table below documents usage by Spectrum Translator. Usage codes are as follows:

Some metadata depends on the channel assignment. This can be specified via the channel_assignment configuration option. (By default channel one is assigned dimension one, etc.) The Channel or Dimension column indicates whether data is assigned by channel (C) or dimension (D).

Procpar parameterDimension or ChannelDescriptionChannel or DimensionUsage
tn1Name of nucleusCM
dn2Name of nucleusCM
dn23Name of nucleusCM
dn34Name of nucleusCM
dn45Name of nucleusCM
np1Number pointsDL
ni2Number pointsDL
ni23Number pointsDL
ni34Number pointsDL
sfrq1Spectral frequencyCM
dfrq2Spectral frequencyCM
dfrq23Spectral frequencyCM
dfrq34Spectral frequencyCM
dfrq45Spectral frequencyCM
sw1Sweep widthDM
sw12Sweep widthDM
sw23Sweep widthDM
sw34Sweep widthDM
rfl1Reference Peak PositionCM
rfl12Reference Peak PositionCM
rfl23Reference Peak PositionCM
rfl34Reference Peak PositionCM
rfl45Reference Peak PositionCM
rfp1Reference Peak FrequencyCM
rfp12Reference Peak FrequencyCM
rfp23Reference Peak FrequencyCM
rfp34Reference Peak FrequencyCM
rfp45Reference Peak FrequencyCM
rp1Zero order phase correctionDM
rp12Zero order phase correctionDM
rp23Zero order phase correctionDM
rp34Zero order phase correctionDM
rp45Zero order phase correctionDM
lp1First order phase correctionDM
lp12First order phase correctionDM
lp23First order phase correctionDM
lp34First order phase correctionDM
lp45First order phase correctionDM

When translating from Varian format Carrier PPM is calculated using the above values using the equation:

Carrier PPM = (Sweep Width/2 - Reference Peak Position + Reference Peak Frequency) / Spectral Frequency

When translating to Varian format the Reference Peak Frequency is set to zero and the inverse of the above equation used to calculate Reference Peak Position..

The layout of real and imaginaries numbers and whether a dimension is complex is inferred by the values of the array procpar parameter, as outlined in the table below. Varian data which does not follow this convention, e.g. custom pulse programs, cannot currently be translated by the Spectrum Translator.

array parameter valueDimension or ChannelDescriptionChannel or DimensionUsage
phase2Data complexDL
phase23Data complexDL
phase34Data complexDL

The procpar file is also used to support configuration of Varian's VNMJR software. The ST Varian translation output does not directly support VNMJR, however, the procpar_template option may used to modify an existing procpar file with metadata translated from another data set.


Bruker file formats are documented in the TopSpin Acquistion Reference Guide4. Two formats are used; one for raw time domain data coming from the spectrometer and another for data which has been processed, including conversion to frequency domain. Code for processed data is present in the Spectrum Translator but has not completed Quality Assurance testing.

Bruker data consists of a file system hiearchy of files. Time domain data is stored in numbered directories beneath a name root directory; the time domain directories contain a subdirectory named pdata containing numbered directories in which processed data is stored.

Both formats store metadata in dimension specific files.

DimensionTime domain dataProcessed data

The tables below documents usage by Spectrum Translator. Usage codes are as follows:

The following parameters are read for the dimension 1 (direct) time domain data.

BYTORDPwhether data is big or little endianL
TDnumber of data pointsL
AQ_modreal or complex dataL
PARMODEthe number of dimensionsL
SFO1spectral frequencyM
SWsweep width (spectral window) in ppmM
SW_hsweep width (spectral window) in HertzMW
AQSEQacquistion sequence (3D sets only)MW
NUC1nucleus nameM

The following parameters are read for the dimension 2 and above (indirect) time domain data.

FnMODEreal or complex data and sign alternationL
TDnumber of data pointsL
SFO1spectral frequencyM
SWsweep width (spectral window)M
NUC1nucleus nameM

1Much of the Spectrum Translator has been written to support frequency domain data; however this code has not undergone quality assurance testing and is considered experimental.

2VNMR User Programming VNMR 6.1C Software Pub. No. 01-999165-00, Rev. A1200, (C) 2000, Varian, Inc.

3VNMR Command and Parameter Reference Varian NMR Spectrometer Systems With VNMR 6.1C Software Pub. No. 01-999164-00, Rev. B0801, (C) 2001, Varian, Inc.

4TOPSPINAcquistion Reference Guide Part Number H9775SA1 V2/February 3rd 2005 (C) 2005 Bruker BioSpin GmbH