read_nmrpipe: Read NMRPipe spectrum

View source: R/nmrpipe.R

read_nmrpipeR Documentation

Read NMRPipe spectrum

Description

This function reads 1D-4D spectra stored in the NMRPipe format.

Usage

read_nmrpipe(inFormat, dim_order = NULL, complex_data = FALSE)

Arguments

inFormat

character with file name or format for multiple files

dim_order

integer vector used to reorder dimensions or character specifying

complex_data

logical value indicating whether complex data should be read

Details

For three and four dimensional datasets, the spectral data is often spread across multiple files. To read those, inFormat should be a sprintf-style string that describes how the files are named. For instance, if the files are named 001.ft3, 002.ft3, etc., then inFormat should be "%03i.ft3". If there is no zero-padding, as in this case, 0 should be omitted from the format. If there are fewer digits, then the first 3 should be changed accordingly.

The default 2D NMRPipe scripts only have a single transpose ("TP") command, leaving the the indirect dimension as the first dimension in the resulting array. The 2D plotting functions in fitnmr usually plot this first dimension along the x-axis, which will make for generally non-standard contour plots. Furthermore, when peak fitting is employed, this will also be the first dimension. To fix this, you can change the spectral order with the dim_order parameter. The order of the dimensions should be specified in the same way that would be done for aperm. Alternatively, you can specify a character argument to have fitnmr attempt to automatically detect and correct the array order. The only currently supported type is "hx", which will put the dimension with the greatest observe frequency first.

This function is partly based on the pipe2rnmr function from rNMR.

Value

a named list with four elements:

int

multidimensional array with spectrum intensities (ppm values are given in the dimnames)

ppm

list of numeric vectors giving the ppm values associated with each int array dimension

fheader

matrix with dimension-specific header information

header

numeric vector with the complete header contents

The fheader row definitions are as follows (taken from NMRPipe fdatp.h):

Row Name Description
SIZE Number of points in dimension
APOD Current valid time-domain size
SW Sweep Width, Hz
ORIG Axis Origin (Last Point), Hz
OBS Obs Freq, MHz
FTFLAG 1=Freq Domain 0=Time Domain
QUADFLAG Data Type Code (See Below)
UNITS Axis Units Code (See Below)
P0 Zero Order Phase, Degrees
P1 First Order Phase, Degrees
CAR Carrier Position, PPM
CENTER Point Location of Zero Freq
AQSIGN Sign adjustment needed for FT
APODCODE Window function used
APODQ1 Window parameter 1
APODQ2 Window parameter 2
APODQ3 Window parameter 3
C1 Add 1.0 to get First Point Scale
ZF Negative of Zero Fill Size
X1 Extract region origin, if any, pts
XN Extract region endpoint, if any, pts
OFFPPM Additional PPM offset (for alignment)
FTSIZE Size of data when FT performed
TDSIZE Original valid time-domain size
LB Extra Exponential Broadening, Hz
GB Extra Gaussian Broadening, Hz
GOFF Offset for Gaussian Broadening, 0 to 1
OBSMID Original Obs Freq before 0.0ppm adjust

In addition several rows contain information inferred from the header data:

Row Name Description
aq_s Acquisition time, seconds
sw_ppm Original Sweep Width, PPM
direct Direct (1) or indirect (0) dimension
alias Aliasing (0/1) with inversion (-1)

Smith-Group/fitnmr documentation built on April 29, 2024, 9:30 p.m.