add nextflow d30e48d

This commit is contained in:
2026-04-29 23:01:54 +02:00
parent d0b12d668d
commit 97cc9058d3
2840 changed files with 730250 additions and 0 deletions

View File

@@ -0,0 +1,416 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/nextflow-io/schemas/main/module/v1/schema.json",
"title": "Nextflow Module Schema",
"description": "Schema for Nextflow module meta.yml files, supporting both nf-core community patterns and the Nextflow module system",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Module name. Can be a simple identifier (e.g., 'fastqc', 'bwa_mem') for local/nf-core modules, or a fully qualified scoped name (e.g., 'nf-core/fastqc', 'myorg/custom') for registry modules.",
"examples": ["fastqc", "bwa_mem", "nf-core/fastqc", "myorg/salmon-quant"],
"pattern": "^([a-z0-9][a-z0-9-]*/)?[a-z][a-z0-9_-]*$"
},
"version": {
"type": "string",
"description": "Semantic version of the module (MAJOR.MINOR.PATCH). Required for registry publication",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$",
"examples": ["1.0.0", "2.1.3", "1.0.0-beta.1"]
},
"description": {
"type": "string",
"description": "Brief description of what the module does",
"minLength": 10,
"maxLength": 500
},
"keywords": {
"type": "array",
"description": "Keywords for discovery and categorization",
"items": {
"type": "string",
"minLength": 2
},
"minItems": 1,
"uniqueItems": true
},
"license": {
"type": "string",
"description": "SPDX license identifier for the module code itself",
"examples": ["MIT", "Apache-2.0", "GPL-3.0-or-later"]
},
"authors": {
"type": "array",
"description": "Original authors of the module (GitHub handles preferred)",
"items": {
"type": "string",
"pattern": "^@?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$"
},
"minItems": 1
},
"maintainers": {
"type": "array",
"description": "Current maintainers of the module (GitHub handles preferred)",
"items": {
"type": "string",
"pattern": "^@?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$"
}
},
"requires": {
"type": "object",
"description": "Runtime requirements for the module",
"properties": {
"nextflow": {
"type": "string",
"description": "Nextflow version constraint using comparison operators",
"examples": [">=24.04.0", ">=24.04.0,<25.0.0"],
"pattern": "^[<>=!]+[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9]+)?(,\\s*[<>=!]+[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9]+)?)*$"
}
},
"additionalProperties": false
},
"input": {
"type": "array",
"description": "Inputs of the module",
"items": {
"$ref": "#/$defs/structuredParameter"
}
},
"output": {
"type": "array",
"description": "Outputs of the module",
"items": {
"$ref": "#/$defs/structuredParameter"
}
},
"topics": {
"type": "array",
"description": "Topics of the module",
"items": {
"$ref": "#/$defs/structuredParameter"
}
},
"tools": {
"type": "array",
"description": "Software tools wrapped by this module with their metadata",
"items": {
"type": "object",
"minProperties": 1,
"maxProperties": 1,
"patternProperties": {
"^[a-zA-Z][a-zA-Z0-9_-]*$": {
"$ref": "#/$defs/toolSpec"
}
}
}
}
},
"required": ["name", "description"],
"$defs": {
"toolSpec": {
"type": "object",
"description": "Specification for a software tool used by the module",
"properties": {
"description": {
"type": "string",
"description": "Description of the tool and its purpose"
},
"homepage": {
"type": "string",
"format": "uri",
"description": "Tool's homepage URL",
"pattern": "^https?://.*$"
},
"documentation": {
"type": "string",
"format": "uri",
"description": "Documentation URL",
"pattern": "^(https?|ftp)://.*$"
},
"tool_dev_url": {
"type": "string",
"format": "uri",
"description": "Development/source code URL",
"pattern": "^https?://.*$"
},
"doi": {
"description": "Digital Object Identifier for the tool's publication",
"oneOf": [
{
"type": "string",
"pattern": "^10\\.\\d{4,9}/[^,]+$"
},
{
"type": "string",
"const": "no DOI available"
}
]
},
"arxiv": {
"type": "string",
"description": "arXiv identifier",
"pattern": "^arXiv:\\d{4}\\.\\d{4,5}(v\\d+)?$"
},
"licence": {
"type": "array",
"description": "SPDX license identifier(s) for the tool",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
},
"identifier": {
"description": "bio.tools identifier or empty string",
"oneOf": [
{
"type": "string",
"pattern": "^biotools:[a-zA-Z0-9_-]+$"
},
{
"type": "string",
"maxLength": 0
}
]
},
"manual": {
"type": "string",
"format": "uri",
"description": "Manual/user guide URL"
}
},
"required": ["description"],
"anyOf": [
{
"required": ["homepage"]
},
{
"required": ["documentation"]
},
{
"required": ["tool_dev_url"]
},
{
"required": ["doi"]
}
]
},
"structuredParameter": {
"oneOf": [
{
"$ref": "#/$defs/paramSpec"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/paramSpec"
}
}
]
},
"paramSpec": {
"type": "object",
"description": "Specification for a module parameter",
"properties": {
"name": {
"type": "string",
"description": "Parameter identifier",
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
},
"type": {
"type": "string",
"description": "Data type of the parameter value",
"enum": [
"boolean",
"float",
"integer",
"string",
"list",
"map",
"file",
"directory"
]
},
"description": {
"type": "string",
"description": "Human-readable description of the parameter"
},
"pattern": {
"type": "string",
"description": "Glob pattern for file/directory parameters"
},
"optional": {
"type": "boolean",
"description": "Whether this parameter is optional",
"default": false
},
"enum": {
"type": "array",
"description": "List of allowed values",
"uniqueItems": true
},
"ontologies": {
"type": "array",
"description": "Ontology annotations (e.g., EDAM)",
"items": {
"type": "object",
"patternProperties": {
"^[a-zA-Z]+$": {
"type": "string",
"format": "uri",
"description": "Ontology URI"
}
}
},
"uniqueItems": true
}
},
"required": ["type", "description"]
}
},
"allOf": [
{
"if": {
"properties": {
"name": {
"pattern": "^[a-z0-9][a-z0-9-]*/"
}
},
"required": ["name"]
},
"then": {
"required": ["name", "description", "version"],
"properties": {
"version": {
"description": "Version is required for scoped/registry modules (scope/name format)"
}
}
}
}
],
"examples": [
{
"name": "fastqc",
"description": "Run FastQC on sequenced reads",
"keywords": ["quality control", "qc", "adapters", "fastq"],
"tools": [
{
"fastqc": {
"description": "FastQC gives general quality metrics about your reads.",
"homepage": "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/",
"documentation": "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/",
"licence": ["GPL-2.0-only"],
"identifier": "biotools:fastqc"
}
}
],
"input": [
[
{
"name": "meta",
"type": "map",
"description": "Groovy Map containing sample information"
},
{
"name": "reads",
"type": "file",
"description": "Input FastQ files",
"ontologies": []
}
]
],
"output": [
[
{
"type": "map",
"description": "Sample information"
},
{
"type": "file",
"description": "FastQC report",
"pattern": "*_{fastqc.html}",
"ontologies": []
}
],
{
"name": "versions",
"type": "file",
"description": "File containing software versions",
"pattern": "versions.yml"
}
],
"authors": ["@drpatelh", "@ewels"],
"maintainers": ["@drpatelh", "@ewels"]
},
{
"name": "nf-core/bwa-align",
"version": "1.2.4",
"description": "Align reads using BWA-MEM algorithm",
"keywords": ["alignment", "bwa", "mapping", "fastq", "bam"],
"license": "MIT",
"authors": ["@nf-core"],
"maintainers": ["@nf-core"],
"requires": {
"nextflow": ">=24.04.0"
},
"tools": [
{
"bwa": {
"description": "BWA aligner",
"homepage": "http://bio-bwa.sourceforge.net/",
"licence": ["GPL-3.0-or-later"]
}
},
{
"samtools": {
"description": "SAMtools",
"homepage": "http://www.htslib.org/",
"licence": ["MIT"]
}
}
],
"input": [
[
{
"name": "meta",
"type": "map",
"description": "Sample metadata map"
},
{
"name": "reads",
"type": "file",
"description": "Input FastQ files",
"ontologies": [
{ "edam": "http://edamontology.org/format_1930" }
]
}
],
{
"name": "index",
"type": "directory",
"description": "BWA index directory"
}
],
"output": [
[
{
"type": "map",
"description": "Sample metadata"
},
{
"type": "file",
"description": "Aligned BAM file",
"pattern": "*.bam",
"ontologies": [
{ "edam": "http://edamontology.org/format_2572" }
]
}
],
{
"name": "versions",
"type": "file",
"description": "Software versions"
}
]
}
]
}