NLeSC / scriptcwl

Create cwl workflows by writing a simple Python script
https://scriptcwl.readthedocs.io/
Apache License 2.0
40 stars 9 forks source link

Add MultipleInputFeatureRequirement #105

Closed jvdzwaan closed 5 years ago

jvdzwaan commented 6 years ago

If you want to make a list of step inputs from different sources, the workflow needs a MultipleInputFeatureRequirement.

Can this be added automatically (such as for the ScatterFeatureRequirement and SubworkflowFeatureRequirement) or should this be done by hand?

Example workflow:

with WorkflowGenerator(working_dir=cwl_working_dir) as wf:
    wf.load(steps_dir='../adhtools/cwl/')
    wf.load(steps_dir='../java/cwl/')

    generic_yaml = wf.add_input(generic_yaml='File')
    specific_yaml = wf.add_input(specific_yaml='File')
    yaml_name = wf.add_input(yaml_name='string')

    blf_format_file = wf.merge_yaml(in_files=[generic_yaml, specific_yaml], out_name=yaml_name)

    wf.add_outputs(yaml=blf_format_file)

    wf.save('../adhtools/cwl/index-corpus-specific.cwl', wd=True, relative=False)