โš—๏ธ Proky โ€” Processing in POKY

Quick Convert, Process 1D, Batch Process 1Ds, Process nD, NMRPipe + Phaser 2D, Pseudo-2D T1/T2, and 1D format import in one dialog

๐Ÿ“‹ On this page

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 to find it: Proky registers as a single menu command with accelerator PY that opens a tabbed dialog. It can also be run directly from POKY Notepad via "File > Run Python Module" like the legacy scripts it replaces.

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.

โ„น๏ธ Auto/Manual phase only: interactive phasing isn't offered for this tab, since it can't be resolved unattended across many experiments at once โ€” choose Auto (ACME) or a fixed numeric p0/p1 instead.

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.

โš ๏ธ Preview only: like the original script, this tab does not finalize/save a spectrum itself โ€” read the p0/p1 values off the phaser, edit the 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.