Ejemplo n.º 1
0
def test_integrate_empty_table(path, regtest):

    # test with and without unicode:
    ft = io.loadTable(path("data/features.table"))
    ft = ft[:0]
    # an invalid row should not stop integration, but result
    # in None values for emzed.utils.integrate generated columns
    print(ft, file=regtest)
    ftr = utils.integrate(ft, "trapez",  n_cpus=1)
    print(ftr, file=regtest)
    assert len(ftr) == len(ft)
    print(file=regtest)

    ftr = utils.integrate(ft, "trapez",  n_cpus=2)
    print(ftr, file=regtest)
    assert len(ftr) == len(ft)
Ejemplo n.º 2
0
def main():

    with measure("load pm"):
        # pm = emzed.io.loadPeakMap("141208_pos001.mzXML")
        pm = emzed.io.loadPeakMap("Danu.mzML")

    t0 = emzed.utils.toTable("peakmap", (pm, ), type_=object)
    path = "pm_only.hdf5"
    with atomic_hdf5_writer(path) as add:
        add(t0)

    peaks = runMetaboFeatureFinder(pm)
    peaks = integrate(peaks)
    peaks.info()
    with atomic_hdf5_writer("peaks.hdf5") as add:
        add(peaks)
Ejemplo n.º 3
0
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