Yasset Perez Riverol
02/20/2026, 10:22 AMextra.params that are not valid for a given module.
Is there a recommended pattern in nf-core to:
⢠Restrict allowed extra parameters per module?
⢠Validate them at runtime?
⢠Or enforce this through schema validation?
Any examples or best practices would be greatly appreciated.Niklas Schandry
02/20/2026, 10:26 AMext.args or just checking some inputs for validity?Yasset Perez Riverol
02/20/2026, 10:29 AM--temp which overrides the way we handle work folder; I want to blcok that; that the user can't provide that in that step; other cases are less agreessive and could be provided but we don't know what will be the effect on the module. In fact users are now passing them already.Niklas Schandry
02/20/2026, 10:30 AMext.args is that this is understood to be a way to potentially do insane stuff inside modules and correct usage is up to the person implementing that module in a pipelineNiklas Schandry
02/20/2026, 10:31 AMextra.params you mean ext.args or something elseYasset Perez Riverol
02/20/2026, 10:32 AMNiklas Schandry
02/20/2026, 10:35 AMext.args and raise errors, I have not really seen that being done, and I am not sure if it is your job to do that. To me this is maybe something that should be documented.Niklas Schandry
02/20/2026, 10:38 AMext.args for the particular moduleYasset Perez Riverol
02/20/2026, 10:56 AMSimon Pearce
02/20/2026, 2:09 PM--temp and throw an error for that.
But we generally say "caveat emptor" - if you are passing things to ext.args it is your responsibility for them to make sense, not the module code itself.Simon Pearce
02/20/2026, 2:11 PM--temp one, which seems fine to explicitly fail if that is used.Yasset Perez Riverol
02/20/2026, 2:26 PMNiklas Schandry
02/20/2026, 2:30 PMext.args rather quickly, and I guess you can also expect people to think a bit when implementing things in their pipelines š My main concern is that maybe being to restrictive here restricts some valid use-case. If this applies to the --temp flag in the module you are developing I of course do not know.Yasset Perez Riverol
02/20/2026, 2:35 PM--parallize . In our pipeline, we took different parameters from each step and did the parallelization in nextflow. Now users want to know that the parameters from the sequential runs are trying to use ext.args into some of our steps that don't make sense; we controlled by params what should be provide but if we don't control (as you rightfully said); things will break. For expert users is fine; but I want to have an extra validation step to control a bit the chaos for non-experts. But I agree with you that we need to do this only in minimun cases.Niklas Schandry
02/20/2026, 2:39 PMext.args ?Niklas Schandry
02/20/2026, 2:41 PMYasset Perez Riverol
02/20/2026, 2:43 PMNiklas Schandry
02/20/2026, 2:46 PM