Currently, it is not always clear whether matching PSMs to spectra (potentially with psm_id_pattern and spectrum_id_pattern) was successful. We can use the precursor m/z values from the PSM file (theoretical) and from the spectrum file (observed) to validate matching based on the IDs. If m/z's deviate too much, a warning should be logged.