ngless
ngless copied to clipboard
Filetype in external modules does not enforce number of inputs passed
When using external modules one can specify
arg1:
atype: 'readset'
can_gzip: true
which passes one (.1.fq), two (.1.fq, .2.fq), or three (.1.fq, .2.fq, .single.fq) files depending on what the caller used or produced, fastq(), paired() or paired(singles=), respectively.
Current API specifies that you can add a filetype annotation/constraint to have ngless pass the expected format:
arg1:
atype: 'readset'
filetype: 'fq3'
can_gzip: true
This didn't work as expected. In the example above, even though fq3 (.1.fq, .2.fq, .single.fq) was specified ngless still passed either one, two or three .fq files.
The same happens if instead of fq3, fq1 is defined. Up to three files are still passed.
A testcase can be found here