def test001(self): exp = MSExperiment() basename = "SHORT_MS2_FILE.mzData" here = os.path.dirname(os.path.abspath(__file__)) FileHandler().loadExperiment(os.path.join(here, "data", basename), exp) assert exp.size() > 0 pc = Precursor() pc.setMZ(1.0) pc.setIntensity(100) s0 = exp[0] s0.setPrecursors([pc]) s0.setMSLevel(2) spec = Spectrum.fromMSSpectrum(s0) settings = InstrumentSettings() settings.setPolarity(IonSource.Polarity.POSITIVE) s0.setInstrumentSettings(settings) self.compare_specs(spec, s0) specneu = Spectrum.fromMSSpectrum(spec.toMSSpectrum()) self.compare_specs(specneu, s0) pm = PeakMap.fromMSExperiment(exp) assert os.path.basename(pm.meta["source"]) == basename rtmin, rtmax = pm.rtRange(None) ms1s = pm.msNPeaks(1, rtmin, rtmax) assert ms1s.shape == (1797, 2), ms1s.shape ms1s2 = pm.msNPeaks(1, rtmax=rtmax) assert np.all(ms1s == ms1s2) ms1s3 = pm.msNPeaks(1, rtmin=0) assert np.all(ms1s == ms1s3) spec = pm.spectra[0] assert len(list(spec)) == len(spec) # calls iter allrts = pm.allRts() assert allrts[0] <= pm.rtRange()[0] assert allrts[-1] >= pm.rtRange()[1] assert len(allrts) == 41, len(allrts) level1 = pm.levelNSpecs(1, 1) level2 = pm.levelNSpecs(2, 2) level12 = pm.levelNSpecs(1, 2) assert len(level1) > 0 assert len(level2) > 0 assert len(level1) + len(level2) == len(level12) == len(pm) assert level1[0].msLevel == 1 assert level2[0].msLevel == 2 # use default arg: nmax = nmin if not provided: level1 = pm.levelNSpecs(1) level2 = pm.levelNSpecs(2) assert len(level1) > 0 assert len(level2) > 0 assert len(level1) + len(level2) == len(level12) == len(pm) assert level1[0].msLevel == 1 assert level2[0].msLevel == 2 lone = pm.levelOneRts() assert len(lone) == len(level1) self.compare_exp(pm, exp, basename) pm2 = PeakMap.fromMSExperiment(pm.toMSExperiment()) self.compare_exp(pm2, exp, basename) pm2 = pm.extract(rtmin=rtmin + .000001) assert len(pm2) == len(pm) - 1 pm2 = pm2.extract(rtmax=rtmax - 0.000001) assert len(pm2) == len(pm) - 2 mzmin, mzmax = pm.mzRange(2) assert mzmin < 250 assert mzmax > 860 mzmin, mzmax = pm.mzRange(1) assert mzmin >= 700 assert mzmax <= 1050 pm2 = pm.extract(rtmin + 0.00001, mzmin=300) mzmin2, mzmax2 = pm2.mzRange() assert mzmin2 >= 300 assert mzmax2 == mzmax pm2 = pm.extract(rtmin=rtmin + 0.000001, mzmin=300, mzmax=1000) mzmin2, mzmax2 = pm2.mzRange() assert mzmin2 >= 300 assert mzmax2 <= 1000 with pytest.raises(Exception): pm.spectra[0].peaksInRange() pp1 = pm.spectra[0].peaksInRange(mzmax=10000) pp2 = pm.spectra[0].peaksInRange(mzmin=0) assert np.all(pp1 == pp2) specs0 = list(pm.spectra) specs1 = pm.specsInRange(0, 99999) specs2 = pm.specsInRange(0, specs0[0].rt) specs3 = pm.specsInRange(specs0[-1].rt, 999999) assert specs0 == specs1 assert specs2 == [specs0[0]] assert specs3 == [specs0[-1]] pm.spectra[0].polarity = "+" pm.spectra[1].polarity = "-" pm = PeakMap(pm.spectra) mz = pm.representingMzPeak(0, 99999, 0, 99999) assert abs(mz - 831.86538) < 0.0001
def test001(self): exp = MSExperiment() basename = "SHORT_MS2_FILE.mzData" here = os.path.dirname(os.path.abspath(__file__)) FileHandler().loadExperiment(os.path.join(here, "data", basename), exp) assert exp.size()>0 pc = Precursor() pc.setMZ(1.0) pc.setIntensity(100) s0 = exp[0] s0.setPrecursors([pc]) s0.setMSLevel(2) spec = Spectrum.fromMSSpectrum(s0) settings = InstrumentSettings() settings.setPolarity(IonSource.Polarity.POSITIVE) s0.setInstrumentSettings(settings) self.compare_specs(spec, s0) specneu = Spectrum.fromMSSpectrum(spec.toMSSpectrum()) self.compare_specs(specneu, s0) pm = PeakMap.fromMSExperiment(exp) assert os.path.basename(pm.meta["source"]) == basename rtmin, rtmax = pm.rtRange(None) ms1s = pm.msNPeaks(1, rtmin, rtmax) assert ms1s.shape == (1797, 2), ms1s.shape ms1s2 = pm.msNPeaks(1, rtmax=rtmax) assert np.all(ms1s == ms1s2) ms1s3 = pm.msNPeaks(1, rtmin=0) assert np.all(ms1s == ms1s3) spec = pm.spectra[0] assert len(list(spec)) == len(spec) # calls iter allrts = pm.allRts() assert allrts[0] <= pm.rtRange()[0] assert allrts[-1] >= pm.rtRange()[1] assert len(allrts) == 41, len(allrts) level1 = pm.levelNSpecs(1, 1) level2 = pm.levelNSpecs(2, 2) level12 = pm.levelNSpecs(1, 2) assert len(level1) > 0 assert len(level2) > 0 assert len(level1) + len(level2) == len(level12) == len(pm) assert level1[0].msLevel == 1 assert level2[0].msLevel == 2 # use default arg: nmax = nmin if not provided: level1 = pm.levelNSpecs(1) level2 = pm.levelNSpecs(2) assert len(level1) > 0 assert len(level2) > 0 assert len(level1) + len(level2) == len(level12) == len(pm) assert level1[0].msLevel == 1 assert level2[0].msLevel == 2 lone = pm.levelOneRts() assert len(lone) == len(level1) self.compare_exp(pm, exp, basename) pm2 = PeakMap.fromMSExperiment(pm.toMSExperiment()) self.compare_exp(pm2, exp, basename) pm2 = pm.extract(rtmin=rtmin + .000001) assert len(pm2) == len(pm) - 1 pm2 = pm2.extract(rtmax=rtmax - 0.000001) assert len(pm2) == len(pm) - 2 mzmin, mzmax = pm.mzRange(2) assert mzmin < 250 assert mzmax > 860 mzmin, mzmax = pm.mzRange(1) assert mzmin >= 700 assert mzmax <= 1050 pm2 = pm.extract(rtmin+0.00001, mzmin=300) mzmin2, mzmax2 = pm2.mzRange() assert mzmin2 >= 300 assert mzmax2 == mzmax pm2 = pm.extract(rtmin = rtmin+0.000001, mzmin=300, mzmax=1000) mzmin2, mzmax2 = pm2.mzRange() assert mzmin2 >= 300 assert mzmax2 <= 1000 with pytest.raises(Exception): pm.spectra[0].peaksInRange() pp1 = pm.spectra[0].peaksInRange(mzmax = 10000) pp2 = pm.spectra[0].peaksInRange(mzmin = 0) assert np.all(pp1 == pp2) specs0 = list(pm.spectra) specs1 = pm.specsInRange(0, 99999) specs2 = pm.specsInRange(0, specs0[0].rt) specs3 = pm.specsInRange(specs0[-1].rt, 999999) assert specs0 == specs1 assert specs2 == [ specs0[0] ] assert specs3 == [ specs0[-1] ] pm.spectra[0].polarity = "+" pm.spectra[1].polarity = "-" pm = PeakMap(pm.spectra) mz = pm.representingMzPeak(0, 99999, 0, 99999) assert abs(mz-831.86538) < 0.0001