Example #1
0
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)
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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
Example #5
0
    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
Example #6
0
    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
Example #7
0
    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
Example #8
0
 def __init__(self):
     self.isotope_group = ArArAge()
     self.spec = MSpec()
Example #9
0
    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