I have question on standard pipeline arguments: `-...
# pipeline-maintainers
c
I have question on standard pipeline arguments:
--input
is mandatory and expects a samplesheet, but when the pipeline is used for just a single sample, it is inconvenient to have to write a samplesheet. I can think of two workarounds: • make
--input
optional and create an alternative arguments that takes a data file directly. Drawback: users can now crash the pipeline by forgetting to provide either
--input
or its alternative. • let
--input
accept other file formats than
csv
. Drawback: deviates from the nf-core template and makes the pipeline harder to maintain. Any thoughts?
p
Just pass the file directly. Having a CSV is not mandatory. In fact having a samplesheet is a relatively new-ish thing, in the early days all pipelines used globs for that parameter.
There should still be some pipelines doing that I guess, though not many as most need some amount of metadata for each input file.
Or are you saying that you still need metadata but you just don't like making one-line CSV files? Is this for all pipeline runs or just user specific scenarios?
c
Thanks! Accepting CSV format in
--input
is the most straightforward for the user. This is for the #C06TRU74N4D pipeline when the users have just one pair to analyse; in that case the metadata can be hardcoded to target and query (for the input) and I can have optional parameters like
--targetName
and
--queryName
to pass the metadata IDs in case the user wants (as they are used to construct output file names).
p
Hmm, then probably best to stick with the sample sheet.
If this is a convenience thing for some users then alternative parameters could work, but it also complicates things quite a bit. For example, validation is much more difficult.
Personally I would prefer to just stick with the samplesheet, though I understand that's a bit irritating to have to make each time