view destinations_input_type.py @ 31:eb15a3841da4 draft

"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 42a0bcde81726702194f1b4ecd741d0545648d40"
author workflow4metabolomics
date Tue, 28 Apr 2020 09:35:10 -0400
parents 378ddb410225
children
line wrap: on
line source

import logging


'''
This file must be placed in lib/galaxy/jobs/rules/
'''


def input_type(job):
    '''
    This function checks the input file format/extension and decide which
    destination in the job_conf.xml using
     - If it's a zip file, we will launch the job in multi-thread mode
        (-pe thread 8)
     - If it's an individual file (mzxml, mzml, mzdata or netcdf),
        the job will use for instance (-pe thread 1)
    '''
    log = logging.getLogger(__name__)
    indata = dict([(da.name, da.dataset) for da in job.input_datasets])
    indata.update([(da.name, da.dataset) for da in job.input_library_datasets])
    input_extension = indata["input"].extension
    if 'input' in indata:
        input_extension = indata["input"].extension
        log.debug("The input extension is %s" % input_extension)
        if input_extension in ["mzxml", "mzml", "mzdata", "netcdf"]:
            return 'thread1-mem_free8'
    # zip file
    return 'thread8-mem_free16'