def testEmptyPeakMap(self): pm = PeakMap([]) assert pm.extract(0, 9999, 0, 10000).spectra == () assert pm.filter(lambda t: True).spectra == () assert pm.specsInRange(0, 10e6) == [] assert pm.levelNSpecsInRange(1, 0, 10e6) == [] assert pm.chromatogram(0, 10e6, 0, 10e6) == ([], []) assert pm.chromatogram(0, 10e6) == ([], []) assert pm.msNPeaks(1, 0, 10e6).tolist() == [] assert pm.allRts() == [] assert pm.levelOneRts() == [] assert pm.levelNSpecs(1, 2) == []
def testEmptyPeakMap(self): pm = PeakMap([]) assert pm.extract(0, 9999, 0, 10000).spectra == () assert pm.filter(lambda t: True).spectra == () assert pm.specsInRange(0, 10e6) == [] assert pm.levelNSpecsInRange(1, 0, 10e6) == [] assert pm.chromatogram(0, 10e6, 0, 10e6) == ([], []) assert pm.chromatogram(0, 10e6) == ([], []) assert pm.msNPeaks(1, 0, 10e6).tolist() == [] assert pm.allRts() == [] assert pm.levelOneRts() == [] assert pm.levelNSpecs(1,2) == []
def _testIntegration(path, n_cpus, integrator_id, check_values=True): # test with and without unicode: ft = io.loadTable(path("data/features.table")) # an invalid row should not stop integration, but result # in None values for emzed.utils.integrate generated columns ftr = utils.integrate(ft, integrator_id, n_cpus=n_cpus, min_size_for_parallel_execution=1) assert len(ftr) == len(ft) assert "area" in ftr.getColNames() assert "rmse" in ftr.getColNames() if check_values: assert ftr.area.values[0] >= 0, ftr.area.values[0] assert ftr.rmse.values[0] >= 0, ftr.rmse.values[0] assert ftr.params.values[0] is not None assert ftr.method.values[0] is not None ft.setValue(ft.rows[0], "mzmin", None) ft._addColumnWithoutNameCheck("mzmin__0", ft.mzmin) ft._addColumnWithoutNameCheck("mzmax__0", ft.mzmax) ft._addColumnWithoutNameCheck("rtmin__0", ft.rtmin) ft._addColumnWithoutNameCheck("rtmax__0", ft.rtmax) ft._addColumnWithoutNameCheck("peakmap__0", ft.peakmap) ft.addColumn("mzminX", ft.mzmin) ft.addColumn("mzmaxX", ft.mzmax) ft.addColumn("rtminX", ft.rtmin) ft.addColumn("rtmaxX", ft.rtmax) ft.addColumn("peakmapX", ft.peakmap) ftr = utils.integrate(ft, integrator_id, n_cpus=n_cpus, min_size_for_parallel_execution=1) assert len(ftr) == len(ft) assert "area" in ftr.getColNames() assert "rmse" in ftr.getColNames() # assert "eic" in ftr.getColNames() assert "area__0" in ftr.getColNames() assert "rmse__0" in ftr.getColNames() # assert "eic__0" in ftr.getColNames() assert "areaX" in ftr.getColNames() assert "rmseX" in ftr.getColNames() assert "rmseX" in ftr.getColNames() # assert "eicX" in ftr.getColNames() if check_values: assert ftr.area.values[0] is None assert ftr.rmse.values[0] is None assert ftr.params.values[0] is None assert ftr.method.values[0] is not None # assert ftr.eic.values[0] is None assert ftr.area.values[1] is not None assert ftr.rmse.values[1] is not None assert ftr.params.values[1] is not None assert ftr.method.values[1] is not None # assert len(ftr.eic.values[1]) == 2 assert ftr.area__0.values[0] is None assert ftr.rmse__0.values[0] is None assert ftr.params__0.values[0] is None assert ftr.method__0.values[0] is not None # assert ftr.eic__0.values[0] is None assert ftr.area__0.values[1] is not None assert ftr.rmse__0.values[1] is not None assert ftr.params__0.values[1] is not None assert ftr.method__0.values[1] is not None # assert len(ftr.eic__0.values[1]) == 2 assert ftr.areaX.values[0] is None assert ftr.rmseX.values[0] is None assert ftr.paramsX.values[0] is None assert ftr.methodX.values[0] is not None # assert ftr.eicX.values[0] is None assert ftr.areaX.values[1] is not None assert ftr.rmseX.values[1] is not None assert ftr.paramsX.values[1] is not None assert ftr.methodX.values[1] is not None # assert len(ftr.eicX.values[1]) == 2 # test with empty chromatograms s0 = ft.peakmap.values[0].spectra[0] rt0 = s0.rt pm = PeakMap([s0]) rts, iis = pm.chromatogram(0, 10000, rt0 + 20, rt0 + 30) assert len(rts) == 0 assert len(iis) == 0 ft.replaceColumn("peakmap", pm) ft.replaceColumn("rtmin", rt0 + 10) ft.replaceColumn("rtmax", rt0 + 20) ftr2 = utils.integrate(ft, integrator_id, n_cpus=n_cpus, min_size_for_parallel_execution=1) # assert set(ftr2.eic.values) == {None} return ftr