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
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
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()
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()