Overview
Proky (Processing in POKY) is a single, persistent GUI dialog
that unifies POKY's Bruker/Varian/NMRPipe spectral-processing scripts,
which previously existed only as separate example scripts run one at a
time from POKY Notepad ("File > Run
Python Module"). All processing is done with nmrglue,
mirroring NMRPipe's per-function pipeline (SP apodization, ZF
zero-filling, FT, PS phase correction, EXT extraction, baseline
correction, REV) but running in-process, with the same interactive
phase-correction widgets (POKY Phaser / POKY Phaser 2D) used throughout.
Where the original scripts required editing hardcoded p0/p1 variables and re-running the whole script once phase values were read off the phaser, Proky treats phasing as a live preview step instead: a "Preview / Phase..." button processes the data up through the Fourier transform of the dimension being phased and opens the interactive phaser dialog, and running the pipeline afterward automatically copies the dialog's current p0/p1 sliders back in, so a dataset can go from raw FID to phased spectrum in one dialog without ever leaving POKY or re-running a script.
Quick Convert
A one-click conversion path for any raw or already-processed dataset โ
Bruker (ser/fid/1r/2rr/3rrr/4rrrr),
Varian (procpar), or NMRPipe
(.fid/.ft1/.ft2/.ft3/.ft4/.dat/.pipe) โ
built directly on the existing pokyprocess.convert_rawdata()
helper. Unprocessed data is auto-phased (ACME) with a degree-2
polynomial baseline correction; already-processed Bruker/Varian data is
routed through the compiled bruk2ucsf/vnmr2ucsf
converters, and processed NMRPipe data through pipe2ucsf,
matching how POKY has always handled finished datasets.
Process 1D
Unifies process1D_with_phaser_script.py,
process_bruker1D_script.py, and the parameterized
one_dim_inspect.process_1D() helper. Reads a single Bruker
or Varian 1D FID directory (auto-detected) and applies the full
pipeline: time-domain baseline correction, SP apodization, zero-filling,
Fourier transform, phasing (Auto/Manual/Interactive), delete-imaginary,
optional left/right extraction, optional median or polynomial baseline
correction, and optional reversal. The result can be saved as an
NMRPipe .ft1 file or, for a directly POKY-viewable result,
as a .ucsf "band view" โ a synthetic 2D spectrum with the
1D trace stacked as a single row, opened automatically with a wide
letterbox view via one_dim_inspect.make_1D_band_view().
Batch Process 1Ds
Unifies process1Ds_with_phaser_script.py: point Proky at a
root directory, and every subdirectory that looks like a Bruker or
Varian FID (i.e. contains fid/ser or
procpar) is processed with one shared set of parameters,
writing one .ft1 file per experiment and overlaying every
processed trace in a single plot for quick comparison across a
titration or relaxation-delay series.
Process nD
Unifies process_with_phaser_script.py and
process_with_phaser2D_script.py into one tab: selecting a
2D or 3D Bruker/Varian FID directory builds one parameter panel per
detected dimension (apodization, zero-filling, linear prediction,
phasing, extraction, baseline correction, reversal), each with its own
independent phase mode. Interactive phasing can use either the 1D
summed-projection phaser or the 2D contour phaser per dimension โ
previously two separate scripts, now a single per-dimension choice.
The fully processed spectrum is written out as .ucsf and
can be loaded into POKY immediately.
NMRPipe + Phaser 2D
Unifies process_nmrpipe_with_phaser2D_script.py for users
who prefer to drive a real, installed NMRPipe (nmrPipe/
csh on $PATH) rather than nmrglue's in-process
pipeline. An editable script box (pre-filled with a working 2D
nmrproc.com template) is written to the selected FID
directory and executed; the resulting test.ft2 is read
back and can be previewed dimension-by-dimension in the 2D phaser.
PS -p0/-p1 values in the
script box, and re-run until you're satisfied, then process the
resulting .ft2 with the other Proky tabs or your own
NMRPipe workflow.
Pseudo-2D T1/T2
Unifies process_fit_pseudo2D_T1T2_script.py: reads a
Bruker pseudo-2D relaxation series (a directory with both a
ser file and a vdlist variable-delay list),
auto-processes it (digital filter removal, auto zero-fill, reverse, FT,
ACME auto-phase), integrates a user-chosen ppm window on each plane,
and automatically classifies the series as T1-type buildup or T2-type
decay before fitting with scipy.optimize.curve_fit. Results
export to Excel when openpyxl is available.
Import 1D Format
Loads an already-processed 1D spectrum straight into POKY as a viewable
band spectrum without any raw-FID processing: Bruker processed data
(1r), NMRPipe (.ft1), or JCAMP-DX / Magritek
Spinsolve bench-top NMR (.jdx/.dx, including
nmr_fid.dx). This corrects a format-dispatch bug present in
the original one_dim_inspect.convert_1D() helper, where a
stray comment left the NMRML branch's return False
un-conditioned so it fired for every unmatched format instead of only
the unsupported one.