Пример #1
0
    def test_get_structure_engine_default(self):
        ms = magma.MagmaSession(':memory:', 'My description')
        se = ms.get_structure_engine()

        self.assertIsInstance(se, magma.StructureEngine)

        self.assertFalse(hasattr(se, 'pubchem_engine'))
Пример #2
0
    def test_get_structure_engine_custom(self):
        ms = magma.MagmaSession(':memory:', 'My description')
        args = {
            'pubchem_names': True,
        }
        se = ms.get_structure_engine(**args)

        self.assertIsInstance(se, magma.StructureEngine)

        self.assertIsInstance(se.pubchem_engine, magma.PubChemEngine)
Пример #3
0
    def test_get_ms_data_engine_default(self):
        ms = magma.MagmaSession(':memory:', u'My description')
        se = ms.get_ms_data_engine()

        self.assertIsInstance(se, magma.MsDataEngine)

        rundata = ms.db_session.query(Run).one()
        self.assertDictContainsSubset({
                                      'ionisation_mode': 1,
                                      'abs_peak_cutoff': 1000,
                                      'max_ms_level': 10,
                                      'mz_precision':5.0,
                                      'precursor_mz_precision':0.005
                                       }, rundata.__dict__)
Пример #4
0
    def test_get_ms_data_engine_custom(self):
        ms = magma.MagmaSession(':memory:', 'My description')
        args = {
            'ionisation_mode': -1,
            'abs_peak_cutoff': 10001,
            'max_ms_level': 101,
            'mz_precision': 0.01,
            'precursor_mz_precision': 0.05
        }
        se = ms.get_ms_data_engine(**args)

        self.assertIsInstance(se, magma.MsDataEngine)

        rundata = ms.db_session.query(Run).one()
        self.assertDictContainsSubset(args, rundata.__dict__)
Пример #5
0
    def test_get_annotate_engine_default(self):
        ms = magma.MagmaSession(':memory:', u'My description')
        ms.get_ms_data_engine()
        se = ms.get_annotate_engine()

        self.assertIsInstance(se, magma.AnnotateEngine)

        rundata = ms.db_session.query(Run).one()
        self.assertDictContainsSubset({
                 'skip_fragmentation':False,
                 'max_broken_bonds':3,
                 'ms_intensity_cutoff':1e6,
                 'msms_intensity_cutoff':5,
                 'use_all_peaks':False
                                       }, rundata.__dict__)
Пример #6
0
    def test_construct_with_existing_db(self):
        # create db with run description
        import tempfile, os
        dbfile = tempfile.NamedTemporaryFile(delete=False)
        engine = create_engine('sqlite:///' + dbfile.name)
        Base.metadata.create_all(engine)
        session = sessionmaker(bind=engine)()
        session.add(Run(description='My first description'))
        session.commit()
        dbfile.close()

        ms = magma.MagmaSession(dbfile.name, 'My second description')

        rundata = ms.db_session.query(Run).one()
        # first description is not overwritten
        self.assertEqual(rundata.description, 'My first description')

        os.remove(dbfile.name)
Пример #7
0
                    choices=['GNPS', 'MSP'])
    ap.add_argument('experiment_id', help="Experiment ID", type=int)
    ap.add_argument('magma_db', help="(Non-)existing magma database", type=str)
    ap.add_argument('spectra_path', help="path to spectra", type=str)
    return ap


# MAIN
import glob

args = arg_parser().parse_args(sys.argv[1:])

# if magma_db exists it is reused, skipping the parts that create and run the magma job
db_exists = os.path.isfile(args.magma_db)
if not db_exists:
    magma_session = magma.MagmaSession(args.magma_db, 'ms2lda_dataset',
                                       'debug')
    ms_data_engine = magma_session.get_ms_data_engine(
        ionisation_mode=args.mode,
        abs_peak_cutoff=0,
        mz_precision=20,
        mz_precision_abs=0.005)
    struct_engine = magma_session.get_structure_engine(pubchem_names=False)
    annotate_engine = magma_session.get_annotate_engine(
        ms_intensity_cutoff=0, msms_intensity_cutoff=0)

if os.path.isdir(args.spectra_path):
    files = glob.glob(args.spectra_path + '/*')
else:
    files = [args.spectra_path]
loader = loaders[args.loader]()
with stdout2stderr():
Пример #8
0
 def get_magma_session(self, db, description="", log='warn'):
     return magma.MagmaSession(db, description, log)
Пример #9
0
    def test_construct_with_new_db(self):
        ms = magma.MagmaSession(':memory:', 'My description')

        self.assertIsInstance(ms, magma.MagmaSession)
        rundata = ms.db_session.query(Run).one()
        self.assertEqual(rundata.description, 'My description')