requirements:
InlineJavascriptRequirement: {}
inputs:
- fastjdir:
+ fastqdir:
type: Directory
- label: Input directory of fastj
+ label: Input directory of fastqs
loadListing: 'shallow_listing'
outputs:
fastq1:
type: File[]
fastq2:
type: File[]
+ sample:
+ type: string[]
expression: |
${function compare(a, b) {
var baseA = a.basename;
var fastq1 = [];
var fastq2 = [];
- for (var i = 0; i < inputs.fastjdir.listing.length; i++) {
- var name = inputs.fastjdir.listing[i];
+ for (var i = 0; i < inputs.fastqdir.listing.length; i++) {
+ var name = inputs.fastqdir.listing[i];
if (name.basename.indexOf('_1.fastq.gz') != -1 ) {
fastq1.push(name);
}
fastq1 = fastq1.sort(compare)
fastq2 = fastq2.sort(compare)
+
+ var sample = [];
+
+ for (var i = 0; i < fastq1.length; i++) {
+ var name = fastq1[i].basename;
+ var samplename = name.replace(/_1.fastq.gz/,'');
+ sample.push(samplename);
+ }
+
- return {"fastq1": fastq1, "fastq2": fastq2};
+ return {"fastq1": fastq1, "fastq2": fastq2, "sample": sample};
}