-
Notifications
You must be signed in to change notification settings - Fork 19
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😉
Testing on all nf-core pipelines... Get the pipeline schema files: wget https://nf-co.re/pipelines.json
for f in *for p in $(cat pipelines.json | jq ".remote_workflows [].name" -r)
do
wget "https://raw.githubusercontent.com/nf-core/${p}/master/nextflow_schema.json" -O ${p}_schema.json
done Validate with for f in *schema.json
do
printf "# $f\n\n"; check-jsonschema --schemafile ../parameters_meta_schema.json $f; printf "\n\n"
done airrflow_schema.json
ampliseq_schema.json
atacseq_schema.json
bacass_schema.json
bactmap_schema.json
bamtofastq_schema.json
cageseq_schema.json
callingcards_schema.json
chipseq_schema.json
circdna_schema.json
circrna_schema.json
clipseq_schema.json
coproid_schema.json
createpanelrefs_schema.json
createtaxdb_schema.json
crisprseq_schema.json
crisprvar_schema.json
cutandrun_schema.json
ddamsproteomics_schema.json
deepvariant_schema.json
demultiplex_schema.json
denovohybrid_schema.json
detaxizer_schema.json
diaproteomics_schema.json
differentialabundance_schema.json
dualrnaseq_schema.json
eager_schema.json
epitopeprediction_schema.json
exoseq_schema.json
fastquorum_schema.json
fetchngs_schema.json
funcscan_schema.json
genomeannotator_schema.json
genomeassembler_schema.json
genomeskim_schema.json
gwas_schema.json
hgtseq_schema.json
hic_schema.json
hicar_schema.json
hlatyping_schema.json
imcyto_schema.json
isoseq_schema.json
kmermaid_schema.json
liverctanalysis_schema.json
lncpipe_schema.json
mag_schema.json
marsseq_schema.json
mcmicro_schema.json
metaboigniter_schema.json
metapep_schema.json
metatdenovo_schema.json
methylseq_schema.json
mhcquant_schema.json
mnaseseq_schema.json
molkart_schema.json
multiplesequencealign_schema.json
nanoseq_schema.json
nanostring_schema.json
nascent_schema.json
neutronstar_schema.json
pangenome_schema.json
pathogensurveillance_schema.json
pgdb_schema.json
phageannotator_schema.json
phyloplace_schema.json
pixelator_schema.json
proteinfold_schema.json
proteomicslfq_schema.json
quantms_schema.json
radseq_schema.json
raredisease_schema.json
readsimulator_schema.json
riboseq_schema.json
rnadnavar_schema.json
rnafusion_schema.json
rnaseq_schema.json
rnasplice_schema.json
rnavar_schema.json
sammyseq_schema.json
sarek_schema.json
scflow_schema.json
scrnaseq_schema.json
slamseq_schema.json
smartseq2_schema.json
smrnaseq_schema.json
spatialtranscriptomics_schema.json
spinningjenny_schema.json
ssds_schema.json
taxprofiler_schema.json
variantcatalogue_schema.json
vipr_schema.json
viralintegration_schema.json
viralrecon_schema.json
|
Almost all current validation errors are due to empty |
Co-authored-by: Nicolas Vannieuwkerke <[email protected]>
I think this is going to be quite useful! If allowing empty description strings, these are the errors that we're left with - basically all look like unintentional errors in schema: airrflowSchema validation errors were encountered.
airrflow_schema.json::$.definitions.clonal_analysis_options.properties.clonal_threshold.type: ['string', 'number'] is not of type 'string'
airrflow_schema.json::$.definitions.clonal_analysis_options.properties.clonal_threshold.type: ['string', 'number'] is not one of ['string', 'boolean', 'integer', 'number'] Yup, can't have an array for "properties": {
"clonal_threshold": {
"type": ["string", "number"], magSchema validation errors were encountered.
mag_schema.json::$.definitions.taxonomic_profiling_options.properties.gtdbtk_min_completeness.minimum: 0.01 is not of type 'integer' metaboigniterSchema validation errors were encountered.
metaboigniter_schema.json::$.definitions.internal_library_quantification_and_identification_parameters_negative_mode.properties.ipo_integrate_library_neg.help_text: '' is too short methylseqSchema validation errors were encountered.
methylseq_schema.json::$.definitions.qualimap_options.properties.bamqc_regions_file: 'type' is a required property nanoseqSchema validation errors were encountered.
nanoseq_schema.json::$.definitions.input_output_options.properties.protocol.format: 'sample-type' is not one of ['file-path', 'directory-path', 'path'] pixelatorSchema validation errors were encountered.
pixelator_schema.json::$.definitions.adapterqc_options: 'type' is a required property
pixelator_schema.json::$.definitions.adapterqc_options.properties.adapterqc_mismatches.maximum: 0.9 is not of type 'integer'
pixelator_schema.json::$.definitions.demux_options: 'type' is a required property
pixelator_schema.json::$.definitions.demux_options.properties.demux_mismatches.maximum: 0.9 is not of type 'integer'
pixelator_schema.json::$.definitions.collapse_options: 'type' is a required property
pixelator_schema.json::$.definitions.graph_options: 'type' is a required property
pixelator_schema.json::$.definitions.annotate_options: 'type' is a required property
pixelator_schema.json::$.definitions.analysis_options: 'type' is a required property
pixelator_schema.json::$.definitions.report_options: 'type' is a required property
pixelator_schema.json::$.definitions.global_config_options.properties.pixelator_container.format: 'url' is not one of ['file-path', 'directory-path', 'path'] proteinfoldSchema validation errors were encountered.
proteinfold_schema.json::$.definitions.colabfold_dbs_and_parameters_path_options.properties.colabfold_alphafold2_params_tags.type: 'object' is not one of ['string', 'boolean', 'integer', 'number'] This is valid JSON-schema, but not officially supported by the Nextflow schema stack: "colabfold_alphafold2_params_tags": {
"type": "object",
"description": "Dictionary with Alphafold2 parameters tags", riboseqSchema validation errors were encountered.
riboseq_schema.json::$.definitions.reference_genome_options.properties.riboviz_index.format: 'dir-path' is not one of ['file-path', 'directory-path', 'path']
riboseq_schema.json::$.definitions.Trimming_options.properties.adapter_sequence: 'type' is a required property |
I've removed the zero-length description thing, as this schema is intended to validate that Nextflow schema files are valid on a functional level. We should build best-practice linting for this kind of thing into nf-core/tools separately. It may be worth removing the > zero-length string requirement for |
}, | ||
"fa_icon": { | ||
"type": "string", | ||
"pattern": "^fa" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about adding a description with a link to fontaweseome?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Description is a Nextflow schema thing, not a JSON schema thing (it's a non-standard field).
We already document it here: https://nextflow-io.github.io/nf-validation/nextflow_schema/nextflow_schema_specification/#fa_icon
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
See nf-core/tools#2436
Still missing conditional validation - eg. that
maxLength
is only set when"type": "string"