Add cwl and docker files
[lightning.git] / cwl / preprocess / gvcf / getfiles.cwl
1 # Copyright (C) The Lightning Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 $namespaces:
6   cwltool: "http://commonwl.org/cwltool#"
7 class: ExpressionTool
8 label: Create list of gVCFs from directory
9 cwlVersion: v1.0
10 requirements:
11   InlineJavascriptRequirement: {}
12 hints:
13   cwltool:LoadListingRequirement:
14     loadListing: shallow_listing
15 inputs:
16   gvcfdir:
17     type: Directory
18     label: Directory of input gVCFs
19 outputs:
20   gvcfs:
21     type: File[]
22     label: Array of gvcfs
23     secondaryFiles: [.tbi]
24 expression: |
25   ${
26     var gvcfs = [];
27     for (var i = 0; i < inputs.gvcfdir.listing.length; i++) {
28       var file = inputs.gvcfdir.listing[i];
29       if (file.nameext == '.gz') {
30         var main = file;
31         for (var j = 0; j < inputs.gvcfdir.listing.length; j++) {
32           var file = inputs.gvcfdir.listing[j];
33           if (file.basename == main.basename+".tbi") {
34             main.secondaryFiles = [file];
35           }
36         }
37         gvcfs.push(main);
38       }
39     }
40     return {"gvcfs": gvcfs};
41   }