Inspection: validate that rule defines all required input/output/params/etc keys for wrapper
Inspection: validate that rule defines all required input/output/params/etc keys for wrapper
Wrappers contain meta.yaml and it has information about input, output, params, etc args. We could validate that our rule defines all these params. E.g.
# tool/meta.yaml
arguments:
input:
fq: Smth about input fastq file
index: Smth about index
output:
bam: Smth about bam
report: Smath about report
stats: Some optional stats
- optional
params:
extra: Some description
- optional
Than for rule:
rule foo:
input:
fq = ".."
output:
bam = ".."
params:
eextra = ".."
wrapper: '../../../tool'
We could inform user, that in input section required argument index is missing, in output argument report is missing, in params section eextra is unexpected element.
See https://bitbucket.org/snakemake/snakemake/issues/1261/wrapper-arguments-validation-using
Seems most popular format is smth like
name: epic
authors:
- Endre Bakken Stovner
description: |
Find broad enriched domains in ChIP-Seq data with epic
input:
- treatment: chip .bed(.gz/.bz) files
- background: input .bed(.gz/.bz) files
output:
- enriched_regions: main output file with enriched peaks
- bed: (optional) contains much of the same info as enriched_regions but in a bed format, suitable for viewing in the UCSC genome browser or downstream use with bedtools
- matrix: (optional) a gzipped matrix of read counts
params:
- extra: additional parameters
- log: (optional) file to write the log output to
notes: |
* All/any of the different bigwig options must be given as extra parameters
So we could add some simple inspection, which warns about missing properties from documentation or even show documentation popup for input/output/.. sections fetching some info from meta.yaml