API

NMRAnalysis.analyse_1d_nutationMethod
analyse_1d_nutation(filename)

Analyse a 1D nutation experiment stored in filename and return a plot showing the nutation data and fit.

Required annotations:

  • calibration.channel : channel to use for calibration
  • calibration.power : power level used in the experiment
  • calibration.duration: pulse durations used in the experiment
  • calibration.model : model to fit, either "sinemodulated" or "cosinemodulated"

Optional annotations:

  • calibration.offset : offset in ppm to select the observed signal
source
NMRAnalysis.diffusionFunction
diffusion(coherence=SQ(H1))
diffusion(filename, coherence=SQ(H1))
diffusion(nmrdata, coherence=SQ(H1))

Analyze NMR diffusion experiments by fitting signal decay to extract diffusion coefficients.

Interactively configure gradient parameters, select integration and noise regions, then fit diffusion data to the Stejskal-Tanner equation to extract diffusion coefficients and hydrodynamic radii.

  • filename: Path to Bruker experiment folder
  • nmrdata: NMRData object (2D: chemical shift × gradient strength)
  • coherence: Coherence type for gyromagnetic ratio calculation (default: SQ(H1))

Example

diffusion()
diffusion("path/to/experiment")
source
NMRAnalysis.isexptMethod
isexpt(directory) -> Bool

Check if the given directory contains an NMR experiment by verifying the existence of a 'pdata/1/title' file, which is typical for Bruker NMR data structure.

Return true if the directory has the expected title file structure, false otherwise.

source
NMRAnalysis.relaxationMethod
relaxation()
relaxation(filename)
relaxation(nmrdata; ir=false)
relaxation(nmrdata, tau; ir=false)

Analyze NMR relaxation experiments (T1 or T2) by fitting signal decay/recovery curves.

Interactively select integration and noise regions, then fit relaxation data to extract relaxation rates and times. Supports standard decay/recovery and inversion-recovery experiments.

  • filename: Path to Bruker experiment folder
  • nmrdata: NMRData object (2D: chemical shift × relaxation delay)
  • tau: List of relaxation delays in seconds (auto-detected from vdlist or vclist if not provided)
  • ir: Set to true for inversion-recovery experiments (default: false)

Example

relaxation()
relaxation("path/to/experiment")
source
NMRAnalysis.select_exptsFunction
select_expts(directory_path=""; experiment_type_filter="")

Interactively select NMR experiment folders from a given directory path.

Arguments

  • directory_path::String: Path to start folder selection from. If empty, uses last selected folder or current directory.
  • experiment_type_filter: Optional filter to apply for experiment types.

Returns

  • Vector{String}: Array of selected experiment folder paths. Returns empty array if no selection is made.
source
NMRAnalysis.tractMethod
tract()
tract(trosy_filename, antitrosy_filename)

Analyze 1D TRACT relaxation experiments.

Interactively select integration and noise regions, then fit relaxation data to extract relaxation rates and an effective correlation time.

  • trosy_filename: Path to Bruker experiment folder for TROSY data
  • antitrosy_filename: Path to Bruker experiment folder for anti-TROSY data

Example

tract()
tract("path/to/trosy_experiment", "path/to/antitrosy_experiment")
source
NMRAnalysis.viscosityMethod
viscosity(solvent, T)

Calculate the viscosity of a solvent (in mPa s) at a given temperature.

Arguments

  • solvent: Should be either :h2o or :d2o.
  • T: The temperature (in K) at which the viscosity is calculated.

Notes

The calculation is based on the formula proposed by Cho et al in the paper "J Phys Chem B (1999) 103 1991-1994".

source