20461 Updating resource requirements for tiling
[lightning.git] / cwl / lightning / make-arrays.cwl
1 # Copyright (C) The Lightning Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 cwlVersion: v1.2
6 class: ExpressionTool
7 requirements:
8   InlineJavascriptRequirement: {}
9 inputs:
10   matchgenome_array: string[]
11   libdir_array: Directory[]
12   genomeversion_array: string[]
13   regions_nestedarray:
14     type:
15       type: array
16       items:
17         type: array
18         items: [File, "null"]
19   threads_array: int[]
20   mergeoutput_array: string[]
21   expandregions_array: int[]
22 outputs:
23   full_matchgenome_array: string[]
24   full_libdir_array: Directory[]
25   full_genomeversion_array: string[]
26   full_regions_array:
27     type:
28       type: array
29       items: [File, "null"]
30   full_threads_array: int[]
31   full_mergeoutput_array: string[]
32   full_expandregions_array: int[]
33   full_libname_array: string[]
34 expression: |
35   ${
36     var full_matchgenome_array = [];
37     var full_libdir_array = [];
38     var full_genomeversion_array = [];
39     var full_regions_array = [];
40     var full_threads_array = [];
41     var full_mergeoutput_array = [];
42     var full_expandregions_array = [];
43     var full_libname_array = [];
44     for (var i = 0; i < inputs.matchgenome_array.length; i++) {
45       for (var j = 0; j < inputs.libdir_array.length; j++) {
46         for (var k = 0; k < inputs.regions_nestedarray[j].length; k++) {
47           full_matchgenome_array.push(inputs.matchgenome_array[i]);
48           full_libdir_array.push(inputs.libdir_array[j]);
49           full_genomeversion_array.push(inputs.genomeversion_array[j]);
50           full_regions_array.push(inputs.regions_nestedarray[j][k]);
51           full_threads_array.push(inputs.threads_array[k]);
52           full_mergeoutput_array.push(inputs.mergeoutput_array[k]);
53           full_expandregions_array.push(inputs.expandregions_array[k]);
54           var libname = inputs.genomeversion_array[j]+inputs.matchgenome_array[i]+"_library";
55           full_libname_array.push(libname);
56         }
57       }
58     }
59     return {"full_matchgenome_array": full_matchgenome_array, 
60             "full_libdir_array": full_libdir_array, "full_genomeversion_array": full_genomeversion_array,
61             "full_regions_array": full_regions_array, "full_threads_array": full_threads_array, "full_mergeoutput_array": full_mergeoutput_array, "full_expandregions_array": full_expandregions_array,
62             "full_libname_array": full_libname_array};
63   }