What’s new?
Argument groups allow for grouping arguments together by function or category, making the --help output a lot more clear for components with a lot of arguments.
Full changelog
NEW FUNCTIONALITY
Functionality: Allow specifying argument groups. Example:functionality: ... argument_groups: - name: First group arguments: [foo, bar] description: DescriptionAddition of the
viash_nxf_schemacomponent for converting a Viash config (for a workflow) into a nextflow schema file.NextflowVdsl3Platform: Use--param_listto initialise a Nextflow channel with multiple parameter sets. Possible formats are csv, json, yaml, or simply a yaml_blob. A csv should have column names which correspond to the different arguments of this pipeline. A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. A yaml blob can also be passed directly as a parameter. Inside the Nextflow pipeline code, params.param_list can also be used to directly a list of parameter sets. When passing a csv, json or yaml, relative path names are relativized to the location of the parameter file.Examples:
nextflow run "target/foo/bar/main.nf" --param_list '[{"id": "foo", "input": "/path/to/bar"}]' nextflow run "target/foo/bar/main.nf" --param_list "params.csv" --reference "/path/to/ref"
MAJOR CHANGES
NextflowVdsl3Platform: The functionality is now slurped from a json instead of manually taking care of the formatting in Groovy.NextflowVdsl3Platform: The--helpis auto-generated from the config.
MINOR CHANGES
NextflowVdsl3Platform: Allow both--publish_dirand--publishDirwhenauto.publish = true.NextflowVdsl3Platform: Allow passing parameters with multiplicity > 1 from Nextflow CLI.Main: Addedviash --cli_exportwhich outputs the internal cli construction information to console. This is to be used to automate populating the documentation website.viash ns: Display success and failure summary statistics, printed to stderr.DataObject:.alternativesis now aOneOrMore[String]instead ofList[String], meaning you can now specify{ type: string, name: "--foo", alternatives: "-f" }instead of{ type: string, name: "--foo", alternatives: [ "-f" ] }BashWrapper: Added metadata fieldmeta_executable, which is a shorthand notation formeta_executable="$meta_resources_dir/$meta_functionality_name"
INTERNAL CHANGES
Arguments: Internal naming of functionality.arguments is changed from DataObject to Arguments. Change is also applied to child classes, e.g. StringObject -> StringArgument.Script: Allow more control over where injected code ends up.Restructure type system to allow type-specific arguments.
BUG FIXES
DockerPlatform: Changeorg.opencontainers.image.versionannotation tofunctionality.versionwhen set. Additionally fixed retrieving the git tag possibly returningfatal: No names found, cannot describe anything.or similar.viash config inject: Fix config inject when.functionality.inputsor.functionality.outputsis used.BashWrapper: Don’t addbcas dependency. Only perform integer/float min/max checks when bc is available, otherwise ignore.DockerPlatform: Fix inputs & outputs arguments being present twice.viash ns test: Silently skip Nextflow platforms as these don’t support tests and will always fail.Testbenches: Better capture expected error messages while running testbenches. Having these show on the console could be confusing.NextflowVdsl3Platform: Fix issue when running multiple VDSL3 modules concurrently on the same channel.