I/O Module#

File reading utilities for spectrum data.

read_spectrum#

maldiamrkit.io.read_spectrum(path, *, bruker_source='1r')[source]#

Read a raw spectrum file into a DataFrame.

Supports text-based formats (.txt, .csv, .tsv) with automatic delimiter detection and Bruker binary directories (containing fid/acqus files). Unrecognised extensions are treated as text files with automatic delimiter detection.

Parameters:
  • path (str or Path) – Path to the spectrum file, or to a Bruker data directory.

  • bruker_source (str, default="1r") – For Bruker directories, which binary to read: "1r" (processed) or "fid" (raw).

Returns:

DataFrame with columns ['mass', 'intensity'].

Return type:

pd.DataFrame

Examples

>>> from maldiamrkit.io import read_spectrum
>>> df = read_spectrum("spectrum.txt")
>>> df.head()
   mass  intensity
0  2000       1234
1  2001       1456

Read a Bruker directory:

>>> df = read_spectrum("path/to/bruker_dir")
>>> df = read_spectrum("path/to/bruker_dir", bruker_source="fid")

parse_mic_column#

maldiamrkit.io.parse_mic_column(series)[source]#

Parse a column of MIC strings into numeric values and qualifiers.

Handles European comma decimals (e.g. "0,5" becomes 0.5), qualifier prefixes ("<=8", ">16"), and missing values.

Parameters:

series (pd.Series) – Column of MIC strings.

Returns:

DataFrame with columns 'value' (float) and 'qualifier' (str: "<=", ">=", ">", "<", "=", or "" for missing).

Return type:

pd.DataFrame

Examples

>>> import pandas as pd
>>> from maldiamrkit.io import parse_mic_column
>>> s = pd.Series(["<=8", ">16", "0,5", None])
>>> parse_mic_column(s)
   value qualifier
0    8.0       <=
1   16.0        >
2    0.5        =
3    NaN