Example #1
0
    def test_proxies(self):
        mzs = np.array([ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 ]).reshape(-1,1)
        ones = np.ones_like(mzs)
        peaks = np.hstack((mzs, ones))
        spec = Spectrum(peaks, 0.0, 1, "0")
        spec.peaks[:, 0] += 1.0
        assert np.linalg.norm(spec.peaks[:, 0] - mzs.flatten(), 1) == 6.0

        def check(fun, spec=spec):
            before = spec.uniqueId()
            exec(fun, dict(spec=spec))
            assert "unique_id" not in spec.meta
            after = spec.uniqueId()
            assert before != after

        check("spec.peaks[:, 0] += 1")
        check("spec.peaks += 1")
        check("spec.peaks -= 1")
        check("spec.peaks /= 2.1")
        check("spec.peaks //= 2.1")
        check("spec.peaks *= 2")
        check("spec.peaks %= 1.1")
        check("spec.peaks **= 2")

        check("spec.rt += 1")
        check("spec.msLevel += 1")
        check("spec.precursors = [(1, 1, 0)]")
        check("spec.polarity = '+'")

        pm = PeakMap([spec])
        before = pm.uniqueId()
        pm.spectra[0].rt += 2
        after = spec.uniqueId()
        assert before != after

        from cPickle import loads, dumps

        back = loads(dumps(pm))
        back.meta.pop("unique_id", None)
        pm.meta.pop("unique_id", None)
        assert back.uniqueId() == pm.uniqueId()

        # this was broken after pickling, the callback was not pickled and calling
        # it whein operatin on peaks rose an excepion
        for s in back:
            s.peaks += 1

        # this was broken because it creates a view which is not continous:
        s.peaks = s.peaks[1:-1:2]
        assert s.uniqueId()


        spec_new = loads(dumps(spec))
        assert spec_new.scan_number == spec.scan_number
        assert spec_new.rt == spec.rt
        assert spec_new.msLevel == spec.msLevel
        assert spec_new.precursors == spec.precursors
        assert spec_new.polarity == spec.polarity
        assert np.linalg.norm(spec_new.peaks - spec.peaks) == 0.0
Example #2
0
    def test_proxies(self):
        mzs = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0]).reshape(-1, 1)
        ones = np.ones_like(mzs)
        peaks = np.hstack((mzs, ones))
        spec = Spectrum(peaks, 0.0, 1, "0")
        spec.peaks[:, 0] += 1.0
        assert np.linalg.norm(spec.peaks[:, 0] - mzs.flatten(), 1) == 6.0

        def check(fun, spec=spec):
            before = spec.uniqueId()
            exec(fun, dict(spec=spec))
            assert "unique_id" not in spec.meta
            after = spec.uniqueId()
            assert before != after

        check("spec.peaks[:, 0] += 1")
        check("spec.peaks += 1")
        check("spec.peaks -= 1")
        check("spec.peaks /= 2.1")
        check("spec.peaks //= 2.1")
        check("spec.peaks *= 2")
        check("spec.peaks %= 1.1")
        check("spec.peaks **= 2")

        check("spec.rt += 1")
        check("spec.msLevel += 1")
        check("spec.precursors = [(1, 1, 0)]")
        check("spec.polarity = '+'")

        pm = PeakMap([spec])
        before = pm.uniqueId()
        pm.spectra[0].rt += 2
        after = spec.uniqueId()
        assert before != after

        from cPickle import loads, dumps

        back = loads(dumps(pm))
        back.meta.pop("unique_id", None)
        pm.meta.pop("unique_id", None)
        assert back.uniqueId() == pm.uniqueId()

        # this was broken after pickling, the callback was not pickled and calling
        # it whein operatin on peaks rose an excepion
        for s in back:
            s.peaks += 1

        # this was broken because it creates a view which is not continous:
        s.peaks = s.peaks[1:-1:2]
        assert s.uniqueId()

        spec_new = loads(dumps(spec))
        assert spec_new.scan_number == spec.scan_number
        assert spec_new.rt == spec.rt
        assert spec_new.msLevel == spec.msLevel
        assert spec_new.precursors == spec.precursors
        assert spec_new.polarity == spec.polarity
        assert np.linalg.norm(spec_new.peaks - spec.peaks) == 0.0
Example #3
0
    def test_proxies(self):
        mzs = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0]).reshape(-1, 1)
        ones = np.ones_like(mzs)
        peaks = np.hstack((mzs, ones))
        spec = Spectrum(peaks, 0.0, 1, "0")
        spec.peaks[:, 0] += 1.0
        assert np.linalg.norm(spec.peaks[:, 0] - mzs.flatten(), 1) == 6.0

        def check(fun, spec=spec):
            before = spec.uniqueId()
            exec(fun, dict(spec=spec))
            assert "unique_id" not in spec.meta
            after = spec.uniqueId()
            assert before != after

        check("spec.peaks[:, 0] += 1")
        check("spec.peaks += 1")
        check("spec.peaks -= 1")
        check("spec.peaks /= 2.1")
        check("spec.peaks //= 2.1")
        check("spec.peaks *= 2")
        check("spec.peaks %= 1.1")
        check("spec.peaks **= 2")

        check("spec.rt += 1")
        check("spec.msLevel += 1")
        check("spec.precursors = [(1, 1)]")
        check("spec.polarity = '+'")

        pm = PeakMap([spec])
        before = pm.uniqueId()
        pm.spectra[0].rt += 2
        after = spec.uniqueId()
        assert before != after

        from cPickle import loads, dumps

        back = loads(dumps(pm))
        back.meta.pop("unique_id", None)
        pm.meta.pop("unique_id", None)
        assert back.uniqueId() == pm.uniqueId()
Example #4
0
    def test_proxies(self):
        mzs = np.array([ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 ]).reshape(-1,1)
        ones = np.ones_like(mzs)
        peaks = np.hstack((mzs, ones))
        spec = Spectrum(peaks, 0.0, 1, "0")
        spec.peaks[:, 0] += 1.0
        assert np.linalg.norm(spec.peaks[:, 0] - mzs.flatten(), 1) == 6.0

        def check(fun, spec=spec):
            before = spec.uniqueId()
            exec(fun, dict(spec=spec))
            assert "unique_id" not in spec.meta
            after = spec.uniqueId()
            assert before != after

        check("spec.peaks[:, 0] += 1")
        check("spec.peaks += 1")
        check("spec.peaks -= 1")
        check("spec.peaks /= 2.1")
        check("spec.peaks //= 2.1")
        check("spec.peaks *= 2")
        check("spec.peaks %= 1.1")
        check("spec.peaks **= 2")

        check("spec.rt += 1")
        check("spec.msLevel += 1")
        check("spec.precursors = [(1, 1)]")
        check("spec.polarity = '+'")

        pm = PeakMap([spec])
        before = pm.uniqueId()
        pm.spectra[0].rt += 2
        after = spec.uniqueId()
        assert before != after

        from cPickle import loads, dumps

        back = loads(dumps(pm))
        back.meta.pop("unique_id", None)
        pm.meta.pop("unique_id", None)
        assert back.uniqueId() == pm.uniqueId()