예제 #1
0
def test_3(path, tmpdir, regtest):

    # relative path for peakmaps:

    from emzed.core.data_types import Table

    pm = emzed.io.loadPeakMap(path("data/SHORT_MS2_FILE.mzData"))
    t = emzed.utils.toTable("id", (1, 2, 3), type_=int)
    t.addColumn("peakmap", pm, type_=object)

    folder = tmpdir.join("subfolder")
    folder.mkdir()

    p2 = folder.join("with_comp.table").strpath
    t.store(p2, True, True, "..")

    for p in tmpdir.listdir():
        # full path varies because the folder is a tmp dir:
        print(p.basename, file=regtest)

    t2 = Table.load(p2)
    # this triggers loading:
    t2.peakmap[0].chromatogram(0, 10, 0, 10)

    t2.peakmap[0]._path == p.strpath

    # now we move and check if proxy still works:
    moved = folder.join("..").join("moved")
    shutil.move(folder.strpath, moved.strpath)

    t2 = Table.load(moved.join("with_comp.table").strpath)
    t2.peakmap[0].chromatogram(0, 10, 0, 10)
예제 #2
0
def test_2(path, tmpdir, regtest):

    # same folder as table for peakmaps:

    from emzed.core.data_types import Table

    pm = emzed.io.loadPeakMap(path("data/SHORT_MS2_FILE.mzData"))
    t = emzed.utils.toTable("id", (1, 2, 3), type_=int)
    t.addColumn("peakmap", pm, type_=object)

    p2 = tmpdir.join("with_comp.table").strpath

    t.store(p2, True, True, ".")

    # chekc if pm proxy is next ot
    file_names = [p.basename for p in tmpdir.listdir()]
    print(file_names, file=regtest)

    # force loading of data:.
    print(len(t.peakmap.values[0]), file=regtest)
    s1 = os.stat(p2).st_size
    assert s1 < 1000
    t = Table.load(p2)
    print(len(t.peakmap.values[0]), file=regtest)

    subfolder = tmpdir.join("subfolder")
    os.makedirs(subfolder.strpath)
    for p in file_names:
        shutil.move(tmpdir.join(p).strpath, subfolder.strpath)

    t2 = Table.load(subfolder.join("with_comp.table").strpath)
    print(t2, file=regtest)
    print(len(t2.peakmap.values[0]), file=regtest)
    print(t2, file=regtest)
예제 #3
0
        dat = pickle.dumps(t)
        t = pickle.loads(dat)
        run(t, names, [row1, row2, row3])

        def j(name):
            import os.path
            return os.path.join(self.temp_output, name)

        t.store(j("test.table"))
        try:
            Table.storeTable(t, "temp_output/test.table")
            assert False, "no exception thrown althoug file should exist!"
        except:
            pass
        t.store(j("test.table"), True)
        t = Table.load(j("test.table"))
        run(t, names, [row1, row2, row3])

    def testSomePredicates(self):
        #build table
        names = "int long float str object array".split()
        types = [
            int,
            long,
            float,
            str,
            object,
            np.ndarray,
        ]
        formats = ["%3d", "%d", "%.3f", "%s", "%r", "'array%r' % (o.shape,)"]
예제 #4
0
파일: test_table.py 프로젝트: lowks/emzed2
        dat = pickle.dumps(t)
        t = pickle.loads(dat)
        run(t, names, [row1, row2, row3])

        def j(name):
            import os.path
            return os.path.join(self.temp_output, name)

        t.store(j("test.table"))
        try:
            Table.storeTable(t, "temp_output/test.table")
            assert False, "no exception thrown althoug file should exist!"
        except:
            pass
        t.store(j("test.table"), True)
        t = Table.load(j("test.table"))
        run(t, names, [row1, row2, row3])


    def testSomePredicates(self):
        #build table
        names="int long float str object array".split()
        types = [int, long, float, str, object, np.ndarray,]
        formats = [ "%3d", "%d", "%.3f", "%s", "%r", "'array%r' % (o.shape,)" ]

        row1 = [ 1, 12323L, 1.0, "hi", { 1: 1 },  np.array((1,2,3)) ]
        row2 = [ 2, 22323L, 2.0, "hi2", [2,3,], np.array(((2,3,4),(1,2,3))) ]
        row3 = [ 3, 32323L, 3.0, "hi3", (3,) , np.array(((3,3,4,5),(1,2,3,4))) ]

        rows = [row1, row2, row3]
        t=Table(names, types, formats, rows, "testtabelle", meta=dict(why=42))