Mercurial > repos > ric > test1
changeset 6:8d405ac8a837 draft
Deleted selected files
author | ric |
---|---|
date | Thu, 22 Sep 2016 09:30:00 -0400 |
parents | 1fcf2875d39d |
children | 8924f77c59ee |
files | galaxy-tools/biobank/updater/update_titerplates.py galaxy-tools/biobank/updater/update_titerplates.xml |
diffstat | 2 files changed, 0 insertions(+), 186 deletions(-) [+] |
line wrap: on
line diff
--- a/galaxy-tools/biobank/updater/update_titerplates.py Thu Sep 22 09:29:21 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ -''' -From a file like this -label barcode container_status rows columns -A_TITERPLATE XXYYZZ111 INSTOCK 8 12 -B_TITERPLATE XXYYZZ112 INSTOCK 8 12 -C_TITERPLATE XXYYZZ113 READY 8 12 - -updates barcode, status and geography of given titerplates -''' -import sys, csv, argparse - -from bl.vl.kb import KnowledgeBase as KB -import bl.vl.utils.ome_utils as vlu -from bl.vl.utils import get_logger, LOG_LEVELS -from bl.vl.kb.drivers.omero.objects_collections import ContainerStatus - - -def make_parser(): - parser = argparse.ArgumentParser(description='update titerplates') - parser.add_argument('--logfile', type=str, help='log file (default=stderr)') - parser.add_argument('--loglevel', type=str, choices=LOG_LEVELS, - help='logging level (default=INFO)', default='INFO') - parser.add_argument('-H', '--host', type=str, help='omero hostname') - parser.add_argument('-U', '--user', type=str, help='omero user') - parser.add_argument('-P', '--passwd', type=str, help='omero password') - parser.add_argument('-O', '--operator', type=str, help='operator', - required=True) - parser.add_argument('-i', '--in_file', type=str, required=True, - help='input file with information to update') - parser.add_argument('--overwrite', dest='overwrite', action='store_true', - help='enable overwrite of data. Default is disabled ') - parser.set_defaults(overwrite=False) - return parser - - -def update_titerplates(titerplate, barcode, container_status, rows, columns, - overwrite, logger): - logger.info("Updating {}".format(titerplate.label)) - r = False - if overwrite: - if barcode is not None: - titerplate.barcode = barcode - if container_status is not None: - titerplate.status = getattr(ContainerStatus, container_status) - if rows is not None: - titerplate.rows = rows - if columns is not None: - titerplate.columns = columns - r = True - else: - if titerplate.barcode is None and barcode is not None: - titerplate.barcode = barcode - r = True - if titerplate.status is None and container_status is not None: - titerplate.status = getattr(ContainerStatus, container_status) - r = True - if titerplate.rows is None and rows is not None: - titerplate.rows = rows - r = True - if titerplate.columns is None and columns is not None: - titerplate.columns = columns - r = True - - if r: - return titerplate - else: - logger.info('Update denied for titerplate {}'.format( - titerplate.label)) - return None - - -def main(argv): - parser = make_parser() - args = parser.parse_args(argv) - - logger = get_logger('update_titerplates', level=args.loglevel, - filename=args.logfile) - - 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) - - with open(args.in_file) as in_file: - to_be_updated = [] - reader = csv.DictReader(in_file, delimiter='\t') - barcode = None - container_status = None - rows = None - columns = None - if 'label' in reader.fieldnames: - for row in reader: - tp_label = row['label'] - tp = kb.get_by_label(kb.TiterPlate, tp_label) - if tp != None: - if 'barcode' in reader.fieldnames: - barcode = row['barcode'] - if 'container_status' in reader.fieldnames: - container_status = row['container_status'] - if 'rows' in reader.fieldnames: - rows = row['rows'] - if 'columns' in reader.fieldnames: - columns = row['columns'] - - tp_up = update_titerplates(tp, barcode, - container_status,rows, - columns, args.overwrite, - logger) - if tp_up: - to_be_updated.append(tp_up) - else: - msg = 'Missing required field "label"' - logger.critical(msg) - sys.exit(msg) - - logger.info('%d titerplates are going to be updated' % len(to_be_updated)) - kb.save_array(to_be_updated) - logger.info('Update complete') - -if __name__ == '__main__': - main(sys.argv[1:])
--- a/galaxy-tools/biobank/updater/update_titerplates.xml Thu Sep 22 09:29:21 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -<tool id="vl_tools_update_titerplates_data" name="VLU.update_titerplates_data"> - <description> - Update titerplates infodata - </description> - <command interpreter="python"> - #if $__app__.config.vl_import_enabled_users.split(',').count($__user_email__)==1 #update_titerplates.py - #else #unauthorized_access.py - #end if - #if $advanced_configuration.configuration_level == 'advanced' - --host=${advanced_configuration.vl_host} - --user=${advanced_configuration.vl_user} - --passwd=${advanced_configuration.vl_passwd} - #end if - --in_file=${input1} - --operator=$__user_email__ - --loglevel=$__app__.config.vl_loglevel - --logfile=${logfile} - </command> - <inputs> - <param format="tabular" name="input1" type="data" - label="A tabular dataset. See below."/> - <!-- ************************************************** --> - <conditional name="advanced_configuration"> - <param name="configuration_level" type="select" - label="Configuration level"> - <option value="default" selected="true">Default configuration</option> - <option value="advanced">Advanced configuration</option> - </param> - <when value="default"/> - <when value="advanced"> - <param name="vl_host" size="40" type="text" value="biobankxx.crs4.it" - label="Omero/VL host"/> - <param name="vl_user" size="20" type="text" value="user" - label="Omero/VL user"/> - <param name="vl_passwd" size="20" type="text" value="What?Me worry?" - label="Omero/VL passwd"/> - </when> - </conditional> - </inputs> - - <outputs> - <data format="txt" name="logfile" label="${tool.name}.logfile"/> - </outputs> -<help> - -It will update titerplates data using informations from a file like this:: - - label barcode container_status rows columns - A_TP 55555555 DISCARDED 8 12 - B_TP 66666666 DISCARDED 8 12 - - -The first column is mandatory, the others only for the information that you want to update. - -For example, if you want to update a barcode data only that column is required - - - </help> - -</tool>