def test_save_persister(): paths.build('_dev') dvc = DVC(bind=False) dvc.db.connect() per = DVCPersister(dvc=dvc) run_spec = AutomatedRunSpec() run_spec.labnumber = '10001' run_spec.project = 'Test' arar = ArArAge() arar.isotopes['Ar40'] = Isotope(xs=[1, 2, 3], ys=[1, 2, 3], name='Ar40', detector='H1') sd = {} dd = {'H1': 100} gd = {'H1': 1.021} per_spec = PersistenceSpec(run_spec=run_spec, arar_age=arar, spec_dict=sd, defl_dict=dd, gains=gd, positions=[1, ], experiment_queue_name='testexp.txt', measurement_name='jan_unknown.py', extraction_name='foo.py') per.per_spec_save(per_spec)
def setUpClass(cls): aspec = AutomatedRunSpec() aspec.mass_spectrometer = 'jan' aspec.labnumber = '17005' aspec.aliquot = 95 a = AutomatedRun() a.script_info.measurement_script_name = 'unknown_peak_hop' s = ArgusSpectrometerManager() ion = IonOpticsManager(spectrometer=s.spectrometer) s.load(db_mol_weights=False) a.spectrometer_manager = s a.ion_optics_manager = ion a.isotope_group = ArArAge() a.isotope_group.j = ufloat(0.001, 1e-6) a._alive = True a.uuid = '12345-ABCDE' a.spec = aspec a._measured = True a._save_enabled = True cls.arun = a
def setUpClass(cls): aspec = AutomatedRunSpec() aspec.mass_spectrometer = 'jan' aspec.labnumber = '17005' aspec.aliquot = 82 aspec.syn_extraction='test' a = AutomatedRun() a.script_info.measurement_script_name = 'unknown' a.script_info.extraction_script_name = 'pause' s = ArgusSpectrometerManager() ion = IonOpticsManager(spectrometer=s.spectrometer) s.load() a.spectrometer_manager = s a.ion_optics_manager = ion a.isotope_group = ArArAge() a._alive = True a.uuid = '12345-ABCDE' a.spec = aspec a._measured = True a.persister.save_enabled = True a.persister.datahub=dh=Datahub(bind_mainstore=False) dh.mainstore.db.kind='mysql' dh.mainstore.db.username='******' dh.mainstore.db.name='pychrondata_dev' dh.mainstore.db.password='******' dh.mainstore.db.connect() cls.arun = a
def get_ic_factor(self, det): if det in self.ic_factors: r = self.ic_factors[det] else: #get the ic_factor from preferences if available otherwise 1.0 # storing ic_factor in preferences causing issues # ic_factor stored in detectors.cfg r = ArArAge.get_ic_factor(self, det) return r
def setUpClass(cls): aspec = AutomatedRunSpec() aspec.mass_spectrometer = 'jan' aspec.labnumber = '17005' aspec.aliquot = 82 a = AutomatedRun() a.script_info.measurement_script_name = 'unknown' s = SpectrometerManager() ion = IonOpticsManager(spectrometer=s.spectrometer) s.load(db_mol_weights=False) a.spectrometer_manager = s a.ion_optics_manager = ion a.arar_age = ArArAge() a._alive = True a.uuid = '12345-ABCDE' a.spec = aspec a._measured = True a._save_enabled = True cls.arun = a
def _make_per_spec(self, lt): run_spec = AutomatedRunSpec() per_spec = PersistenceSpec() arar_age = ArArAge() # populate per_spec per_spec.run_spec = run_spec per_spec.arar_age = arar_age # popluate run_spec run_spec.identifier = lt.labnumber run_spec.aliquot = lt.aliquot run_spec.step = lt.step run_spec.username = '******' run_spec.uuid = lt.uuid cp = lt.collection_path man = H5DataManager() man.open_file(cp) # add signal/isotopes group = man.get_group('signal') for grp in man.get_groups(group): isok = grp._v_name iso = Isotope(name=isok, fit='linear') # only handle one detector per isotope tbl = man.get_tables(grp)[0] iso.detector = tbl._v_name xs = array([x['time'] for x in tbl.iterrows()]) ys = array([x['value'] for x in tbl.iterrows()]) iso.xs = xs iso.ys = ys arar_age.isotopes[isok] = iso # add sniffs group = man.get_group('sniff') for k, iso in arar_age.isotopes.iteritems(): grp = man.get_group(k, group) tbl = man.get_tables(grp)[0] iso.sniff.detector = tbl._v_name xs = array([x['time'] for x in tbl.iterrows()]) ys = array([x['value'] for x in tbl.iterrows()]) iso.sniff.xs = xs iso.sniff.ys = ys # add baselines group = man.get_group('baseline') for dettbl in man.get_tables(group): detname = dettbl._v_name xs = array([x['time'] for x in dettbl.iterrows()]) ys = array([x['value'] for x in dettbl.iterrows()]) for iso in arar_age.isotopes.itervalues(): if iso.detector == detname: iso.baseline.xs = xs iso.baseline.ys = ys iso.baseline.fit = 'average' return per_spec
def __init__(self): self.isotope_group = ArArAge() self.spec = MSpec()