Files
openpipeline/target/nextflow/files/make_params/nextflow_schema.json
CI bb7533583f Build branch fix-integration-tests with version fix-integration-tests (da62b4ff)
Build pipeline: vsh-ci-dev-gckj5

Source commit: da62b4ffe3

Source message: Add labels to qc_test component
2024-11-15 14:37:33 +00:00

146 lines
6.0 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "make_params",
"description": "Looks for files in a directory and turn it in a params file.",
"type": "object",
"definitions": {
"arguments" : {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"base_dir": {
"type":
"string",
"description": "Type: `file`, required, example: `/path/to/dir`. Base directory to search recursively",
"help_text": "Type: `file`, required, example: `/path/to/dir`. Base directory to search recursively"
}
,
"pattern": {
"type":
"string",
"description": "Type: `string`, required, example: `*.fastq.gz`. An optional regular expression",
"help_text": "Type: `string`, required, example: `*.fastq.gz`. An optional regular expression. Only file names which match the regular expression will be matched."
}
,
"n_dirname_drop": {
"type":
"integer",
"description": "Type: `integer`, default: `0`. For every matched file, the parent directory will be traversed N times",
"help_text": "Type: `integer`, default: `0`. For every matched file, the parent directory will be traversed N times."
,
"default": "0"
}
,
"n_basename_id": {
"type":
"integer",
"description": "Type: `integer`, default: `0`. The unique identifiers will consist of at least N dirnames",
"help_text": "Type: `integer`, default: `0`. The unique identifiers will consist of at least N dirnames."
,
"default": "0"
}
,
"id_name": {
"type":
"string",
"description": "Type: `string`, default: `id`. The name for storing the identifier field in the yaml",
"help_text": "Type: `string`, default: `id`. The name for storing the identifier field in the yaml."
,
"default": "id"
}
,
"path_name": {
"type":
"string",
"description": "Type: `string`, default: `path`. The name for storing the path field in the yaml",
"help_text": "Type: `string`, default: `path`. The name for storing the path field in the yaml."
,
"default": "path"
}
,
"group_name": {
"type":
"string",
"description": "Type: `string`, example: `param_list`. Top level name for the group of entries",
"help_text": "Type: `string`, example: `param_list`. Top level name for the group of entries."
}
,
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output.yaml`, example: `params.yaml`. Output YAML file",
"help_text": "Type: `file`, required, default: `$id.$key.output.yaml`, example: `params.yaml`. Output YAML file."
,
"default": "$id.$key.output.yaml"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/arguments"
},
{
"$ref": "#/definitions/nextflow input-output arguments"
}
]
}