ngless icon indicating copy to clipboard operation
ngless copied to clipboard

Filetype in external modules does not enforce number of inputs passed

Open unode opened this issue 7 years ago • 0 comments

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

unode avatar Jan 16 '18 10:01 unode