Пример #1
0
 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) == []
Пример #2
0
 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