nmrglue

repository·master·Indexed 42 days ago

https://github.com/jjhelmus/nmrglue

A Python library for processing Nuclear Magnetic Resonance (NMR) data, providing tools to read, write, and manipulate various NMR data formats. It includes capabilities for converting data between formats (such as Agilent/Varian and Bruker to NMRPipe) and supports 1D, 2D, and 3D datasets.

Tokens
28.5K
Snippets
107
Records
190
Agent score
55%

What's inside nmrglue

  1. Overview of nmrglue capabilities

    master

    nmrglue is a Python module designed for processing, analyzing, and inspecting NMR data. It integrates with numpy, scipy, and matplotlib to provide a robust environment for NMR spectroscopy workflows.

    Key Capabilities:

    • File I/O & Conversion: Read, write, and convert between common NMR formats including Varian, Bruker, NMRPipe, and Sparky.
    • Data Representation: NMR files are represented in Python as dictionaries containing spectral parameters and numpy array objects.
    • Data Processing: Provides functions for apodization, spectral shifting, Fourier transformations, baseline smoothing/flattening, and linear prediction.
    • Analysis: Includes routines for peak picking, multidimensional lineshape fitting (peak fitting), and peak integration.
    • Visualization: Works with matplotlib to create publication-quality figures or interactive data examination.
  2. Use the nmrglue.rnmrtk module for Rowland NMR Toolkit files

    master
    The nmrglue.rnmrtk module provides functions for reading and writing Rowland NMR Toolkit (RNMRTK) files. It is imported as nmrglue.rnmrtk and provides high-level functions for standard file I/O operations, including support for low-memory reading/writing and handling specific file formats like .sec and .par.
  3. Use nmrglue.helpers for analysis utility functions

    master
    The nmrglue.helpers module (imported from nmrglue.analysis.helpers) provides a collection of utility functions designed to assist with NMR data analysis tasks. These functions include tools for calculating deltas, applying limits, scaling parameters, and manipulating data structures like columns or zipped sequences.
  4. Use the nmrglue.pipe_proc module for NMR processing

    master

    The nmrglue.pipe_proc module provides a collection of functions for standard NMR data processing tasks, including apodization, shifts, transforms, baseline correction, and utilities. It is imported as nmrglue.pipe_proc and contains specialized functions for various stages of the NMR processing pipeline.

    import nmrglue.pipe_proc
  5. Use nmrglue.proc_bl for baseline correction

    master

    The nmrglue.proc_bl module provides a suite of functions for baseline correction in NMR data processing. It is imported as nmrglue.proc_bl and contains several algorithms categorized into User Functions (high-level processing) and Developer Functions (low-level calculations).

    User Functions

    These are the primary functions intended for end-users to apply baseline corrections to NMR spectra:

    • base: General baseline correction.
    • cbf: Cubic baseline function.
    • cbf_explicit: Explicit cubic baseline function.
    • med: Median-based baseline correction.
    • baseline_corrector: A general baseline correction utility.
    • sol_general: General solution-based baseline correction.
    • sol_boxcar: Boxcar-based solution baseline correction.
    • sol_sine: Sine-based solution baseline correction.
    • sol_sine2: Sine-squared based solution baseline correction.
    • sol_gaussian: Gaussian-based solution baseline correction.

    Developer Functions

    These functions are intended for low-level mathematical calculations related to baseline estimation:

    • calc_bl_linear: Calculates a linear baseline.
    • calc_bl_med: Calculates a median-based baseline.
  6. Explore nmrglue application and processing examples

    master
    nmrglue provides a variety of Python scripts demonstrating common NMR data processing workflows. These examples cover data conversion, coaddition, peak picking, integration, fitting, and simulation. Use these scripts as templates for your own NMR data analysis pipelines.
  7. Use the nmrglue.table module for table manipulation

    master
    The nmrglue.table module (imported from nmrglue.fileio.table) provides a suite of functions for reading, writing, and manipulating tabular data. It supports common operations such as inserting/appending/deleting rows and columns, reordering data, and converting between internal formats and pipe-based formats.
  8. Use nmrglue.pipe for NMRPipe file I/O

    master

    The nmrglue.pipe module provides high-level functions for reading and writing NMRPipe files. It is the primary interface for users to handle NMRPipe data formats, including support for reading/writing tables, managing dictionary files (.dic), and handling time/date conversions for metadata.

    User Functions

    Commonly used functions include:

    • Data I/O: read, write, read_lowmem, write_lowmem.
    • Table I/O: read_table, write_table.
    • Dictionary Management: make_uc, guess_udic, create_dic, datetime2dic, dic2datetime.

    User Classes

    • iter3D: Used for iterating over 3D data structures.