Thiseas C. Lamnidis
02/27/2026, 11:24 AMnf-core lint --fix to update the meta.yml would create an updated topic block for the versions, where some attributes were of type eval , which also threw an error when linting. I had to swap those to string in my PR to get linting to chill (I just followed what the last merged module on main had done). Though I think this might have been brought up before.mashehu
02/27/2026, 11:28 AMThiseas C. Lamnidis
02/27/2026, 11:28 AMmashehu
02/27/2026, 11:42 AMmashehu
02/27/2026, 11:43 AMmashehu
02/27/2026, 11:43 AMThiseas C. Lamnidis
02/27/2026, 11:56 AMeval the linter was unhappy with me, but I don’t think I ever committed those changes to remote. I’ll try again and get back to youmashehu
02/27/2026, 11:56 AMThiseas C. Lamnidis
02/27/2026, 12:03 PMmashehu
02/27/2026, 12:04 PMThiseas C. Lamnidis
02/27/2026, 12:44 PMname: "multivcfanalyzer"
description: SNP table generator from GATK UnifiedGenotyper with functionality
geared for aDNA
keywords:
- vcf
- ancient DNA
- aDNA
- SNP
- GATK UnifiedGenotyper
- SNP table
tools:
- "multivcfanalyzer":
description: "MultiVCFAnalyzer is a VCF file post-processing tool tailored for
aDNA. License on Github repository."
homepage: "<https://github.com/alexherbig/MultiVCFAnalyzer>"
documentation: "<https://github.com/alexherbig/MultiVCFAnalyzer>"
tool_dev_url: "<https://github.com/alexherbig/MultiVCFAnalyzer>"
doi: "10.1038/nature13591"
licence:
- "GPL >=3"
identifier: ""
input:
- - meta:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1', single_end:false ]`
- vcfs:
type: file
description: One or a list of uncompressed VCF file
pattern: "*.vcf"
ontologies: []
- - meta2:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1', single_end:false ]`
- fasta:
type: file
description: Reference genome VCF was generated against
pattern: "*.{fasta,fna,fa}"
ontologies: []
- - meta3:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1', single_end:false ]`
- snpeff_results:
type: file
description: Results from snpEff in txt format (Optional)
pattern: "*.txt"
ontologies: []
- - meta4:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1', single_end:false ]`
- gff:
type: file
description: GFF file corresponding to reference genome fasta (Optional)
pattern: "*.gff"
ontologies: []
- allele_freqs:
type: boolean
description: |
Whether to include the percentage of reads a given allele is
present in in the SNP table.
- genotype_quality:
type: integer
description: |
Minimum GATK genotyping threshold threshold of which a SNP call
falling under is 'discarded'
- coverage:
type: integer
description: |
Minimum number of a reads that a position must be covered by to be
reported
- homozygous_freq:
type: integer
description: Fraction of reads a base must have to be called 'homozygous'
- heterozygous_freq:
type: integer
description: |
Fraction of which whereby if a call falls above this value, and lower
than the homozygous threshold, a base will be called 'heterozygous'.
- - meta5:
type: map
description: |
Groovy Map containing sample information
e.g. `[ id:'sample1', single_end:false ]`
- gff_exclude:
type: file
description: |
file listing positions that will be 'filtered' (i.e. ignored)
(Optional)
pattern: "*.vcf"
ontologies: []
output:
full_alignment:
- - meta:
type: map
description: Groovy Map containing sample information
- fullAlignment.fasta.gz:
type: file
description: Fasta a fasta file of all positions contained in the VCF
files i.e. including ref calls
pattern: ".fasta.gz"
ontologies:
- edam: <http://edamontology.org/format_3615>
- edam: <http://edamontology.org/format_3989>
info_txt:
- - meta:
type: map
description: Groovy Map containing sample information
- info.txt:
type: file
description: Information about the run
pattern: ".txt"
ontologies: []
snp_alignment:
- - meta:
type: map
description: Groovy Map containing sample information
- snpAlignment.fasta.gz:
type: file
description: A fasta file of just SNP positions with samples only
pattern: ".fasta.gz"
ontologies:
- edam: <http://edamontology.org/format_3615>
- edam: <http://edamontology.org/format_3989>
snp_genome_alignment:
- - meta:
type: map
description: Groovy Map containing sample information
- snpAlignmentIncludingRefGenome.fasta.gz:
type: file
description: A fasta file of just SNP positions with reference genome
pattern: ".fasta.gz"
ontologies:
- edam: <http://edamontology.org/format_3615>
- edam: <http://edamontology.org/format_3989>
snpstatistics:
- - meta:
type: map
description: Groovy Map containing sample information
- snpStatistics.tsv:
type: file
description: Some basic statistics about the SNP calls of each sample
pattern: ".tsv"
ontologies:
- edam: <http://edamontology.org/format_3475>
snptable:
- - meta:
type: map
description: Groovy Map containing sample information
- snpTable.tsv:
type: file
description: Basic SNP table of combined positions taken from each VCF
file
pattern: ".tsv"
ontologies:
- edam: <http://edamontology.org/format_3475>
snptable_snpeff:
- - meta:
type: map
description: Groovy Map containing sample information
- snpTableForSnpEff.tsv:
type: file
description: Input file for SnpEff
pattern: ".tsv"
ontologies:
- edam: <http://edamontology.org/format_3475>
snptable_uncertainty:
- - meta:
type: map
description: Groovy Map containing sample information
- snpTableWithUncertaintyCalls.tsv:
type: file
description: Same as above, but with lower case characters indicating
uncertain calls
pattern: ".tsv"
ontologies:
- edam: <http://edamontology.org/format_3475>
structure_genotypes:
- - meta:
type: map
description: Groovy Map containing sample information
- structureGenotypes.tsv:
type: file
description: Input file for STRUCTURE
pattern: ".tsv"
ontologies:
- edam: <http://edamontology.org/format_3475>
structure_genotypes_nomissing:
- - meta:
type: map
description: Groovy Map containing sample information
- structureGenotypes_noMissingData-Columns.tsv:
type: file
description: Alternate input file for STRUCTURE
pattern: ".tsv"
ontologies:
- edam: <http://edamontology.org/format_3475>
json:
- - meta:
type: map
description: Groovy Map containing sample information
- MultiVCFAnalyzer.json:
type: file
description: Summary statistics in MultiQC JSON format
pattern: ".json"
ontologies:
- edam: <http://edamontology.org/format_3464>
versions_multivcfanalyzer:
- - ${task.process}:
type: string
description: The name of the process
- multivcfanalyzer:
type: string
description: The name of the tool
- multivcfanalyzer -h | head -n 1 | cut -f 3 -d " ":
type: eval
description: The expression to obtain the version of the tool
versions_tabix:
- - ${task.process}:
type: string
description: The name of the process
- tabix:
type: string
description: The name of the tool
- tabix -h 2>&1 | grep Version | cut -f 2 -d " ":
type: eval
description: The expression to obtain the version of the tool
topics:
versions:
- - ${task.process}:
type: string
description: The name of the process
- multivcfanalyzer:
type: string
description: The name of the tool
- multivcfanalyzer -h | head -n 1 | cut -f 3 -d " ":
type: eval
description: The expression to obtain the version of the tool
- - ${task.process}:
type: string
description: The name of the process
- tabix:
type: string
description: The name of the tool
- tabix -h 2>&1 | grep Version | cut -f 2 -d " ":
type: eval
description: The expression to obtain the version of the tool
authors:
- "@jfy133"
maintainers:
- "@jfy133"
- "@TCLamnidis"
And here’s the errors:
Match meta.ymls in one of the subdirectories of modules/nf-core............................Failed
- hook id: check-jsonschema
- exit code: 1
Schema validation errors were encountered.
modules/nf-core/multivcfanalyzer/meta.yml::$.output.versions_multivcfanalyzer[0]: [{'${task.process}': {'type': 'string', 'description': 'The name of the process'}}, {'multivcfanalyzer': {'type': 'string', 'description': 'The name of the tool'}}, {'multivcfanalyzer -h | head -n 1 | cut -f 3 -d " "': {'type': 'eval', 'description': 'The expression to obtain the version of the tool'}}] is not valid under any of the given schemas
Underlying errors caused this.
Best Match:
$.output.versions_multivcfanalyzer[0]: [{'${task.process}': {'type': 'string', 'description': 'The name of the process'}}, {'multivcfanalyzer': {'type': 'string', 'description': 'The name of the tool'}}, {'multivcfanalyzer -h | head -n 1 | cut -f 3 -d " "': {'type': 'eval', 'description': 'The expression to obtain the version of the tool'}}] is not of type 'object'
Best Deep Match:
$.output.versions_multivcfanalyzer[0][2]['multivcfanalyzer -h | head -n 1 | cut -f 3 -d " "'].type: 'eval' is not one of ['map', 'file', 'directory', 'string', 'integer', 'float', 'boolean', 'list']
modules/nf-core/multivcfanalyzer/meta.yml::$.output.versions_tabix[0]: [{'${task.process}': {'type': 'string', 'description': 'The name of the process'}}, {'tabix': {'type': 'string', 'description': 'The name of the tool'}}, {'tabix -h 2>&1 | grep Version | cut -f 2 -d " "': {'type': 'eval', 'description': 'The expression to obtain the version of the tool'}}] is not valid under any of the given schemas
Underlying errors caused this.
Best Match:
$.output.versions_tabix[0]: [{'${task.process}': {'type': 'string', 'description': 'The name of the process'}}, {'tabix': {'type': 'string', 'description': 'The name of the tool'}}, {'tabix -h 2>&1 | grep Version | cut -f 2 -d " "': {'type': 'eval', 'description': 'The expression to obtain the version of the tool'}}] is not of type 'object'
Best Deep Match:
$.output.versions_tabix[0][2]['tabix -h 2>&1 | grep Version | cut -f 2 -d " "'].type: 'eval' is not one of ['map', 'file', 'directory', 'string', 'integer', 'float', 'boolean', 'list']mashehu
02/27/2026, 12:45 PMmaster and therefor has the old schema fileThiseas C. Lamnidis
02/27/2026, 12:47 PMThiseas C. Lamnidis
02/27/2026, 12:47 PMmashehu
02/27/2026, 12:48 PM