Something to discuss. We have many modules that us...
# team-maintainers
s
Something to discuss. We have many modules that use meta.single_end to determine whether they are single end or not. I know that some people have strong feelings on whether this should be done, or whether the module is better served by just checking the number of input files https://github.com/nf-core/modules/pull/9585#discussion_r2694659644
I believe that @Adam Talbot is a strong proponent of this code to count the number of read files being added
j
The number of input files is not a perfect determiner of single-endedness as you can have interleaved read files
this 5
j
(even if I hate interleaved files) Also if you really want to go down the route of having the computer check, then we should be having checks that it's not exceeding 2 or more. Also I hate having groovy checking stuff because of the weird thing where if it gets a single element it'll just 'split' by
/
for you without asking
s
interleaved files are a much more sensible file format than our horrible coupled two file R1/R2s, but that is a separate issue 😉
😆 1
j
We store all our raw reads in unaligned CRAM format, which tracks the mate information as a SAM flag 😎
Also if you really want to go down the route of having the computer check, then we should be having checks that it's not exceeding 2 or more.
The Nextflow arity option is nice for that
n
#C0749PAEU9F
single_end
should be an input value of the module 😉
💯 1
party this 2
j
Agreed! Record types will fix it all 😎
party this 1
(I have come to the conclusion that everything should be an input to a module... prefix and args included)
n
It's basically in the guidelines, but for legacy reasons we make an exception for
single_end
But yeah record types will fix this once and for all
a
as you can have interleaved read files
or 3 files, or 4 files. Or more! At my old company: R1 = forward R2 = UMI R3 = reverse R4-n = other stuff
j
And don't look at tools like adapterRemoval 😬