These are chat archives for nextflow-io/nextflow

15th
Dec 2017
Tim Diels
@timdiels
Dec 15 2017 10:20
What tends to be most convenient CLI to work with in a Nextflow script or pipeline? Scripts taking 1) a bunch of TSV/CSV files as --options, 2) a single JSON/YAML config file or 3) a whole bunch of options with as little file input as possible? All this assuming there's an easy way to convert back and forth between TSV/CSV/JSON/YAML and Groovy lists/maps.
Paolo Di Tommaso
@pditommaso
Dec 15 2017 13:11
@timdiels you can define them in the nextflow config file using different profiles or a parameter config files
regarding json/ymal parsing have a look at JsonSluper and SnakeYaml which are both included in NF
Tim Diels
@timdiels
Dec 15 2017 13:23
I did not expect SnakeYaml to also be implemented in Java, thanks
Paolo Di Tommaso
@pditommaso
Dec 15 2017 13:25
:+1:
Mike Smoot
@mes5k
Dec 15 2017 16:20
@timdiels we put all input parameters, i.e. things users are expected to change for each run of a pipeline, in a YAML file and then use the -params-file to pass those into the pipeline. We don't pass any other params through the CLI. We use nextflow.config for pipeline settings that users aren't expected to change. This allows us to invoke different pipelines the same way in our infrastructure, plus the YAML file provides a consistent record of how a given pipeline was invoked.
Tim Diels
@timdiels
Dec 15 2017 17:17
I was thinking of using YAML because 1) supports hierarchical data 2) it's simpler than having to format multiple input files and CLI args.
Mike Smoot
@mes5k
Dec 15 2017 17:19
You can also add comments to YAML!