diff --git a/chipathlon/conf.py b/chipathlon/conf.py index 5445f2f934ccb6180534413298990dc7acad6250..addb191e3a8a5e018279905d2ca5f687d5b9833d 100644 --- a/chipathlon/conf.py +++ b/chipathlon/conf.py @@ -85,9 +85,12 @@ resources = { # file -> Normal file arguments. # stdout -> Any file argument that is redirected from stdout # stderr -> Any file argument that is redirected from stderr +# list -> For variable argument inputs +# list -> Currently a list of files. argument_types = { "argument": ["string", "numeric"], - "file": ["file", "rawfile", "stdout", "stderr"] + "file": ["file", "rawfile", "stdout", "stderr"], + "list": ["list"] } # Defines information about arguments diff --git a/chipathlon/workflow_module.py b/chipathlon/workflow_module.py index 931b55ec192c1c048912163a78078c0d9b27aec6..4c958fc9b1f72b63f7e910d05866633c87e97bb5 100644 --- a/chipathlon/workflow_module.py +++ b/chipathlon/workflow_module.py @@ -396,6 +396,15 @@ class WorkflowModule(object): "file": master_files[arg_params[param_name]], "type": param_info["type"] }) + elif param_info["type"] in chipathlon.conf.argument_types["list"]: + sub_list = [] + for val in arg_params[param_name]: + sub_list.append({ + "name": val, + "file": master_files[val], + "type": "file" + }) + param_list.append({"name": arg_params[param_name], "type": "list", "value": sub_list}) else: param_list.append({ "name": param_name,