How phenological/python-nmr-parser works
nmr-parser reads Bruker IVDr experiment folders into structured parameters, spectra, and assay results; its higher-level parse_nmr workflow scans and consolidates runs for tabular export and optional DuckDB querying. The graph preserves the distinct spectrum, XML assay, QC, and lipoprotein-processing capabilities documented in the README. Wiring is based on the supplied excerpts and README; unsampled parser and export internals are represented only where their documented role is clear.
Main entry points: experiment.py Experiment reader · tables.py Reference tables · parse_nmr.py Batch parser · quality_control.py QC parser
Components 17
Experiment reading
- Experiment reader
src/nmr_parser/core/experiment.py - Folder scanner
src/nmr_parser/core/folders.py - Parameter reader
src/nmr_parser/core/parameters.py - Spectrum reader
src/nmr_parser/core/spectrum.py
Assay parsing
- Quantification parser
src/nmr_parser/xml_parsers/quantification.py - Lipoprotein parser
src/nmr_parser/xml_parsers/lipoproteins.py - QC parser
src/nmr_parser/xml_parsers/quality_control.py - PACS parser
src/nmr_parser/xml_parsers/pacs.py - ERETIC parser
src/nmr_parser/xml_parsers/eretic.py - Title parser
src/nmr_parser/xml_parsers/title.py
Processing and references
- Lipoprotein extension
src/nmr_parser/processing/lipoprotein_calc.py - Name cleanup
src/nmr_parser/processing/utils.py - Reference tables
src/nmr_parser/reference/tables.py
Batch export
- Batch parser
src/nmr_parser/core/parse_nmr.py
Other components
- Bruker experiment files
- Parquet outputs
- DuckDB database
Connections 17
- Bruker experiment files → Experiment reader: provides files
- Experiment reader → Parameter reader: reads parameters
- Experiment reader → Spectrum reader: reads spectra
- Experiment reader → Quantification parser: reads reports
- Experiment reader → Lipoprotein parser: reads reports
- Experiment reader → QC parser: reads reports
- Experiment reader → PACS parser: reads reports
- Experiment reader → ERETIC parser: reads calibration
- Experiment reader → Title parser: reads titles
- Spectrum reader → Parameter reader: reads settings
- QC parser → Name cleanup: cleans names
- Reference tables → QC parser: parses references
- Reference tables → PACS parser: parses references
- Reference tables → Quantification parser: parses references
- Batch parser → Folder scanner: scans folders
- Batch parser → Parquet outputs: writes data
- Batch parser → DuckDB database: creates database