bacass
bacass copied to clipboard
JSON schema: Bacass
- [ ] Fork the pipeline to your user account, if you have not done so before (Make sure you deselect
Copy the master branch only) - [ ] Go to the
devbranch and sync the upstream changes (Sync fork->Update branch) - [ ] Create a branch called
json-schema-improvementswith thedevbranch as base in the fork - [ ] Open the
json-schema-improvementsbranch of the fork either locally (git clone) or online (via Github Codespaces, GitPod...) - [ ] Open the
nextflow_schema.jsonfile - [ ] Check that the value in
"$schema"is"https://json-schema.org/draft/2020-12/schema". The pipeline should be updated to nf-schema if this is not the case. See the migration guide on how to do this - [ ] Check the schema for insufficient validation keywords and error messages. See the guide below for more information on this
- [ ] Do the same thing for
assets/schema_input.json - [ ] Run
nextflow run main.nf -profile test,docker --outdir results -stubto check for any failures in validation with the basic test setup - [ ] Update the changelog of the pipeline
- [ ] Push all changes to your fork (if you have not done so yet)
- [ ] Open a pull request to the
devbranch of the nf-core repository - [ ] Request a review in #hackathon-mar-2025-json-schema-improvements or in the pipeline channel (e.g. #sarek for nf-core/sarek) and set the issue status to
Ready to review(PR: <ADD A LINK TO THE PR HERE>) - [ ] Wait for approval and merge the pull request once everything works again
- [ ] Set the issue status to
Done
Checking the validation keywords
This section contains options for each type of parameter (the type can be found in the "type" keyword)
IMPORTANT: If an errorMessage is present, please update it so that it covers all possible validation errors for the type (the more it covers the better)
ALSO IMPORTANT: Check that the help_text and description keywords are clear enough
Type-independent keywords
- enum: A list of allowed values for the value
- default: The default value, make sure this is filled in if the default value is not
null,""orfalse - required: A list of required parameters for each section
string
- minLength and maxLength: specify the minimal and/or maximum length of the
stringvalue - pattern: A regular expression the
stringvalue has to adhere to - format: This is mainly used to define if a value should be a
"file-path","directory-path","path"or"file-path-pattern". Other formats are allowed that are part of the official JSON schema specs, but are rarely used in Nextflow JSON schemas - exists: Make sure this is
trueif the file should exist (Be careful, some times files or directories do not have to exist for a pipeline to succesfully start e.g.--outdir) - schema: The relative path from the root of the pipeline to another schema to validate the file specified by that value. Please also check this schema very carefully
number and integer
- multipleOf: The value needs to be a multiple of this number
- minimum, exclusiveMinimum, maximum and exclusiveMaximum: Specify a specific range in which the numeric value should be
boolean
The boolean type has no type-specific keywords
array
WARNING: This type is not supported in nextflow_schema.json, but is supported in other schemas
- uniqueEntries: A list of keys that need to be unique in the objects present in this array
- uniqueItems: Set to
trueif you want each entry in the array to be unique
object
WARNING: This type is not supported in nextflow_schema.json (apart from the root "type" keyword of the file and of each section in "$defs"), but is supported in other schemas
This type can be very complex and will not be used in 99% of the cases. You can take a look at the official object documentation or ask for help in #hackathon-mar-2025-json-schema-improvements if you need to check object types