Example #1
0
def assemble(args):
    """Loop thru every blast/query pair and run an assembly for each one."""

    with util.make_temp_dir(where=args['temp_dir'],
                            prefix='atram_',
                            keep=args['keep_temp_dir']) as temp_dir:
        util.update_temp_dir(temp_dir, args)

        queries = split_queries(args)

        for blast_db in args['blast_db']:

            with db.connect(blast_db, check_version=True) as cxn:
                for query in queries:
                    db.aux_db(cxn, args['temp_dir'], blast_db, query)
                    clean_database(cxn)

                    log.setup(args['log_file'], blast_db, query)

                    assembler = assembly.factory(args, cxn)

                    try:
                        assembly_loop(args, assembler, blast_db, query)
                    except (TimeoutError, RuntimeError):
                        pass
                    except Exception as err:  # pylint: disable=broad-except
                        log.error('Exception: {}'.format(err))
                    finally:
                        assembler.write_final_output(blast_db, query)

                    db.aux_detach(cxn)
Example #2
0
def assemble(args):
    """Loop thru every blast/query pair and run an assembly for each one."""
    with util.make_temp_dir(
            where=args['temp_dir'],
            prefix='atram_',
            keep=args['keep_temp_dir']) as temp_dir:
        util.update_temp_dir(temp_dir, args)

        queries = split_queries(args)

        for blast_db in args['blast_db']:

            with db.connect(blast_db, check_version=True) as cxn:
                for query in queries:
                    db.aux_db(cxn, args['temp_dir'], blast_db, query)
                    clean_database(cxn)

                    log.setup(args['log_file'], blast_db, query)

                    assembler = assembly.factory(args, cxn)

                    try:
                        assembly_loop(args, assembler, blast_db, query)
                    except (TimeoutError, RuntimeError):
                        pass
                    except Exception as err:
                        log.error('Exception: {}'.format(err))
                    finally:
                        assembler.write_final_output(blast_db, query)

                    db.aux_detach(cxn)
Example #3
0
def preprocess(args):
    """Run the preprocessor."""
    log.setup(args['log_file'], args['blast_db'])

    with db.connect(args['blast_db'], clean=True) as db_conn:
        db.create_metadata_table(db_conn)

        db.create_sequences_table(db_conn)
        load_seqs(args, db_conn)

        log.info('Creating an index for the sequence table')
        db.create_sequences_index(db_conn)

        shard_list = assign_seqs_to_shards(db_conn, args['shard_count'])

    create_all_blast_shards(args, shard_list)
Example #4
0
def main(debug: ("Enable debug output", 'flag', 'd'),
         connect: ("Force a new connection", 'flag', 'c')):
    """ Start the example script """
    log.setup('eventlogger.log', debug)
    _LOG.info('EventLogger started with PID %i', _PID)
    _LOG.info('This example will end after it has been idle for %i seconds',
              _TIMEOUT)

    remote = FireRemote(_DEVICE_MAC if connect else _CONTROLLER_MAC)
    remote.events.listen(lambda k: _LOG.info('Pressed %s', k), 'down')
    remote.events.listen(lambda k: _LOG.info('Released %s', k), 'up')
    try:
        mode = remote.MODE_CONNECT if connect else remote.MODE_LISTEN
        remote.connect(mode, _TIMEOUT)
        remote.event_loop()
    except KeyboardInterrupt:
        print('')
        _LOG.info('EventLogger has been terminated...')
    remote.disconnect()
Example #5
0
def preprocess(args):
    """Build the databases required by atram."""
    log.setup(args['log_file'], args['blast_db'])

    with util.make_temp_dir(where=args['temp_dir'],
                            prefix='atram_preprocessor_',
                            keep=args['keep_temp_dir']) as temp_dir:
        util.update_temp_dir(temp_dir, args)

        with db.connect(args['blast_db'], clean=True) as cxn:
            db.create_metadata_table(cxn)

            db.create_sequences_table(cxn)
            load_seqs(args, cxn)

            log.info('Creating an index for the sequence table')
            db.create_sequences_index(cxn)

            shard_list = assign_seqs_to_shards(cxn, args['shard_count'])

        create_all_blast_shards(args, shard_list)
Example #6
0
def preprocess(args):
    """Build the databases required by atram."""
    log.setup(args['log_file'], args['blast_db'])

    with util.make_temp_dir(
            where=args['temp_dir'],
            prefix='atram_preprocessor_',
            keep=args['keep_temp_dir']) as temp_dir:
        util.update_temp_dir(temp_dir, args)

        with db.connect(args['blast_db'], clean=True) as cxn:
            db.create_metadata_table(cxn)

            db.create_sequences_table(cxn)
            load_seqs(args, cxn)

            log.info('Creating an index for the sequence table')
            db.create_sequences_index(cxn)

            shard_list = assign_seqs_to_shards(cxn, args['shard_count'])

        create_all_blast_shards(args, shard_list)
Example #7
0
def main(ip_address: ("Host that runs Kodi"),
         debug: ("Enable debug output", 'flag', 'd'),
         connect: ("Force a new connection", 'flag', 'c'),
         timeout: ("Idle duration after which the remote disconnects",
                   'option', 't', int) = 300):
    """ Start the example script """
    log.setup('kodi.log', debug)
    _LOG.info('Kodi remote proxy started with PID %i', _PID)

    reconnect = True
    remote = FireRemote(_DEVICE_MAC if connect else _CONTROLLER_MAC)
    evc = EventClient("Fire TV Remote", ip_address)
    remote.events.listen(evc.press, 'down')
    remote.events.listen(evc.release, 'up')
    while reconnect:
        try:
            mode = remote.MODE_CONNECT if connect else remote.MODE_LISTEN
            remote.connect(mode, timeout)
            remote.event_loop()
        except KeyboardInterrupt:
            print('')
            reconnect = False
            _LOG.info('Kodi remote proxy has been terminated...')
    remote.disconnect()
Example #8
0
def assemble(args):
    """Loop thru every blast/query pair and run an assembly for each one."""
    queries = split_queries(args)

    for blast_db in args['blast_db']:

        with db.connect(blast_db, check_version=True) as db_conn:
            for query in queries:
                db.aux_db(db_conn, args['temp_dir'], blast_db, query)
                clean_database(db_conn)

                log.setup(args['log_file'], blast_db, query)

                assembler = assembly.factory(args, db_conn)

                try:
                    assembly_loop(assembler, blast_db, query)
                    assembler.write_final_output(blast_db, query)
                except (TimeoutError, RuntimeError):
                    pass
                except Exception as err:  # pylint: disable=broad-except
                    log.error('Exception: {}'.format(err))

                db.aux_detach(db_conn)