an NMR processing program.
NPK stands for NMRProcessing Kernel.
NPK implements
- standard processing for 1D 2D and 3D experiments (3D is not available in level 1 yet)
- automatic processing of standard NMR experiments, based on carefully chosen defaut processing parameters
- MaxEnt processing for spectral analysis, with support for partial sampling
- Processing a DOSY experiments, with a MaxEnt implementation of the Inverse Laplace Transform
- a python 2.1 environment for easy NMR processing programming
NPK does not implement
- an interactive NMR program for displaying the spectra
- any user graphic interface
NPK shares the same binary file formats with Gifa. As such, it can easily share data with Gifa compatible programs.
For instance Gifa 4 or Gifa 5 can be used to display NPK results, or can even be programmed to launch NPK scripts.
NMRNoteBook is a commercial program which present a very easy to use graphic interface, and can import and export Gifa files.
as a first contact, NPK can be seen as composed of several modules:
- a modeling of the NMR processing, which permits to very simply describe an experiment and the processing to apply on it, along with simple commands to realize this processing.
This level permits to simply start a processing or interact interactively with the data.
- a set of high level commands, implementing the high level operation needed for NMR (such as shearing or automatic phasing for instance)
This level permits to rapidely implement new processing strategies.
- a set of low level commands, called the Kernel, tuned for efficient NMR
processing.
This comprises the buffers for 1D, 2D and 3D processing, is composed by a set of fundamental mathematical operation.
Because of these three levels of organisation, the documentation itself is organized in three levels.
- The modeling level :
Is typically called from the command line, using the Launch method. The modeling implement actions which require parameters.
- Launch presents the main user interface
- Process1D presents all the parameters for processing 1D experiments
- Process2D presents all the parameters for processing 2D experiments
- Process3D presents all the parameters for processing 3D experiments
- ProcessDosy presents all the parameters for processing DOSY experiments
- The high level processing library :
is typically used in python programs which may use the following methods.
- Generic contains most of the needed NMR functions
- GenericDosy contains function specific to DOSY processing
- The low level processing library :
this one implements the processing buffers and the basic mathematical methods to interact with the data-set. It is implemented as a jni binary library.
- presented here
Note that this documentation is still incomplete and in beta state.
NPK is developped as a plateform independent program, and
relies on computer several langages.
NPK architecture can be presented as follow :
|
usage |
computer language |
command line processing Processing Modeling |
launch batch or interactive processing from the command line. |
parameter files
|
high level library |
python scripts for special processing |
python |
low level library - wrapper |
called directly from python script, mixed with high-level methods. |
java |
low level library - binary |
not used directly
|
FORTRAN |
|
If you were familliar with Gifa, the low level
library is built with the same principles. Most Gifa processing
commands are implemented in the NPK low level library.
So:
- if XYZ is a kernel command in Gifa,
com_xyz() is a low level method in NPK; usually xyz() is also available;
- if $ABC is a kernel context in Gifa,
then get_abc() is the value in NPK;
- if $ABC[i] is a kernel context in Gifa,
then geta_abc(i) is the value in NPK;
- writec(filename) and read(filename) are the low-level method to write/read
NMR file in the Gifa
format;
If you are familliar with python, then note that it is the
Java implementation jython 2.1 which is used. You will find
the full details on jython here.
It implements python 2.1. You can find the difference between the
different version of python here.
NPK is an NMR processing program developped by Marc A. Delsuc Vincent Catherinot, Dominique Tramesel, and others.