kwargs['filename'] = args.logfile
    logging.basicConfig(**kwargs)
    logger = logging.getLogger()

    try:
        host = args.host or vlu.ome_host()
        user = args.user or vlu.ome_user()
        passwd  = args.passwd or vlu.ome_passwd()
    except ValueError, ve:
        logger.critical(ve)
        sys.exit(ve)
        
    kb = KB(driver='omero')(host, user, passwd)

    logger.info('Start preloading dependency tree')
    kb.update_dependency_tree()
    logger.info('Dependency tree loaded')

    with open(args.out_file, 'w') as ofile:
        writer = csv.DictWriter(ofile, ['target', 'new_source_type', 
                                        'new_source', 'old_source'],
                                delimiter='\t')
        writer.writeheader()
        logger.info('Loading wells data')
        for w in kb.get_objects(kb.PlateWell):
            if type(w.action.target) == kb.Individual:
                tubes = list(kb.dt.get_connected(w, kb.Tube))
                if len(tubes) == 1:
                    record = {'target' : '%s:%s' % (w.container.label,
                                                    w.label),
                              'new_source_type' : tubes[0].__class__.__name__,
Пример #2
0
    try:
        host = args.host or vlu.ome_host()
        user = args.user or vlu.ome_user()
        passwd = args.passwd or vlu.ome_passwd()
    except ValueError, ve:
        logger.critical(ve)
        sys.exit(ve)

    kb = KB(driver='omero')(host, user, passwd)

    plates = get_omniexpress_plates(kb)
    logger.info('Retrieved %d OMNIEXPRESS related plates' % len(plates))

    logger.info('Calculating dependency tree')
    kb.update_dependency_tree()
    logger.info('Dependency tree loaded')

    with open(args.ofile, 'w') as ofile:
        writer = csv.DictWriter(ofile, ['source', 'study', 'label'],
                                delimiter='\t')
        writer.writeheader()

        inds = []

        oe_index = get_first_index(kb, logger)
        for pl in plates:
            wells = list(kb.get_wells_by_plate(pl))
            logger.info('Loaded %d wells for plate %s' %
                        (len(wells), pl.barcode))
            for w in wells: