def test_add_precursor_mz_no_precursor_mz(key, value, expected): """Test if precursor_mz is correctly derived if "precursor_mz" is str.""" mz = numpy.array([], dtype='float') intensities = numpy.array([], dtype='float') metadata = {key: value} spectrum_in = SpectrumBuilder().with_metadata( metadata).with_mz(mz).with_intensities(intensities).build() spectrum = add_precursor_mz(spectrum_in) assert spectrum.get("precursor_mz") == expected, "Expected different precursor_mz."
def test_add_precursor_mz_logging(key, value, expected_log, caplog): """Test if precursor_mz is correctly derived if "precursor_mz" is str.""" mz = numpy.array([], dtype='float') intensities = numpy.array([], dtype='float') metadata = {key: value} spectrum_in = SpectrumBuilder().with_metadata( metadata).with_mz(mz).with_intensities(intensities).build() _ = add_precursor_mz(spectrum_in) assert expected_log in caplog.text, "Expected different logging message."
def spectrum_processing(s): """This is how one would typically design a desired pre- and post- processing pipeline.""" s = default_filters(s) s = add_precursor_mz(s) s = normalize_intensities(s) s = reduce_to_number_of_peaks(s, n_required=5, ratio_desired=0.5, n_max=500) s = select_by_mz(s, mz_from=0, mz_to=1000) s = add_losses(s, loss_mz_from=10.0, loss_mz_to=200.0) s = require_minimum_number_of_peaks(s, n_required=5) return s
def test_add_precursor_mz(): """Test if precursor_mz is correctly derived. Here nothing should change.""" mz = numpy.array([], dtype='float') intensities = numpy.array([], dtype='float') metadata = {"precursor_mz": 444.0} spectrum_in = Spectrum(mz=mz, intensities=intensities, metadata=metadata) spectrum = add_precursor_mz(spectrum_in) assert spectrum.get("precursor_mz") == 444.0, "Expected different precursor_mz."
def test_add_precursor_mz_no_precursor_mz(): """Test if precursor_mz is correctly derived if "precursor_mz" is str.""" mz = numpy.array([], dtype='float') intensities = numpy.array([], dtype='float') metadata = {"precursor_mz": "444.0"} spectrum_in = Spectrum(mz=mz, intensities=intensities, metadata=metadata) spectrum = add_precursor_mz(spectrum_in) assert spectrum.get("precursor_mz") == 444.0, "Expected different precursor_mz."
def test_add_precursor_mz_only_pepmass_present(): """Test if precursor_mz is correctly derived if only pepmass is present.""" mz = numpy.array([], dtype='float') intensities = numpy.array([], dtype='float') metadata = {"pepmass": (444.0, 10)} spectrum_in = Spectrum(mz=mz, intensities=intensities, metadata=metadata) spectrum = add_precursor_mz(spectrum_in) assert spectrum.get("precursor_mz") == 444.0, "Expected different precursor_mz."
def test_add_precursor_mz_no_masses(): """Test if no precursor_mz is handled correctly. Here nothing should change.""" mz = numpy.array([], dtype='float') intensities = numpy.array([], dtype='float') metadata = {} spectrum_in = Spectrum(mz=mz, intensities=intensities, metadata=metadata) spectrum = add_precursor_mz(spectrum_in) assert spectrum.get("precursor_mz") is None, "Outcome should be None."
def test_add_precursor_mz_only_pepmass_present(caplog): """Test if precursor_mz is correctly derived if only pepmass is present.""" set_matchms_logger_level("INFO") mz = numpy.array([], dtype='float') intensities = numpy.array([], dtype='float') metadata = {"pepmass": (444.0, 10)} spectrum_in = SpectrumBuilder().with_metadata( metadata).with_mz(mz).with_intensities(intensities).build() spectrum = add_precursor_mz(spectrum_in) assert spectrum.get("precursor_mz") == 444.0, "Expected different precursor_mz." assert "Added precursor_mz entry based on field 'pepmass'" in caplog.text, \ "Expected different log message" reset_matchms_logger()
def test_empty_spectrum(): spectrum_in = None spectrum = add_precursor_mz(spectrum_in) assert spectrum is None, "Expected different handling of None spectrum."
def test_add_precursor_mz(metadata, expected): spectrum_in = SpectrumBuilder().with_metadata(metadata).build() spectrum = add_precursor_mz(spectrum_in) assert spectrum.get("precursor_mz") == expected, "Expected different precursor_mz."