updating preprocessing code
[arvados-tutorial.git] / src / preprocessing / cwl / getfiles.cwl
1 $namespaces:
2   cwltool: "http://commonwl.org/cwltool#"
3 class: ExpressionTool
4 label: Create list of bams from directory
5 cwlVersion: v1.1
6 requirements:
7   InlineJavascriptRequirement: {}
8
9 inputs:
10   bamdir:
11     type: Directory
12     label: Directory of input bams
13     loadListing: shallow_listing
14  
15 outputs:
16   tarzipbams:
17     type: File[]
18     label: Array of bams 
19   samplenames:
20     type: string[]
21     label: Array of sample names
22
23 expression: |
24   ${
25     var tarzipbams = [];
26     var samplenames = [];
27
28     for (var i = 0; i < inputs.bamdir.listing.length; i++) {
29       var file = inputs.bamdir.listing[i];
30       if (file.nameext == '.tgz') {
31         var main = file;
32         var sample = file.nameroot;
33         sample = sample.replace(".bam","")
34         tarzipbams.push(main);
35         samplenames.push(sample);
36       }
37     }
38     return {"tarzipbams": tarzipbams, "samplenames": samplenames};
39   }
40