wf-transcriptomes-v202/nextflow_schema.json
2026-05-26 09:52:38 +00:00

307 lines
10 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/epi2me-labs/wf-transcriptomes/master/nextflow_schema.json",
"title": "epi2me-labs/wf-transcriptomes",
"workflow_title": "Transcriptomes",
"description": "Long-read transcriptome analysis using bambu with optional SQANTI3 QC, DESeq2, and DEXSeq.",
"demo_url": "https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-transcriptomes/wf-transcriptomes-demo.tar.gz",
"aws_demo_url": "https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-transcriptomes/wf-transcriptomes-demo/aws.nextflow.config",
"url": "https://github.com/epi2me-labs/wf-transcriptomes",
"type": "object",
"definitions": {
"input_options": {
"title": "Input Options",
"type": "object",
"description": "Parameters for ingesting read data.",
"properties": {
"fastq": {
"type": "string",
"format": "path",
"title": "FASTQ",
"demo_data": "${projectDir}/test_data/smoke/reads.fastq",
"description": "FASTQ reads to analyse.",
"help_text": "You can provide a single FASTQ, a folder of FASTQs, or a multiplexed folder containing one sub-folder per sample or barcode."
},
"bam": {
"type": "string",
"format": "path",
"description": "BAM or uBAM reads to analyse.",
"help_text": "You can provide a single BAM or uBAM, a folder of BAMs, or a multiplexed folder containing one sub-folder per sample or barcode."
},
"analyse_unclassified": {
"type": "boolean",
"default": false,
"description": "Include unclassified reads from multiplexed input directories."
},
"analyse_fail": {
"type": "boolean",
"default": false,
"description": "Include fail reads from multiplexed input directories."
},
"fastq_chunk": {
"type": "integer",
"description": "Maximum number of reads per ingress chunk.",
"help_text": "Useful mainly for testing or for splitting very large inputs into smaller pieces."
}
},
"allOf": [
{
"oneOf": [
{
"required": [
"fastq"
]
},
{
"required": [
"bam"
]
}
]
}
]
},
"reference_options": {
"title": "Reference Options",
"type": "object",
"description": "Reference files and transcriptome construction mode.",
"properties": {
"ref_genome": {
"type": "string",
"format": "file-path",
"title": "Reference genome",
"demo_data": "${projectDir}/test_data/smoke/reference.fa",
"description": "Reference genome FASTA.",
"help_text": "Required in both discover and fixed_annotation modes."
},
"ref_annotation": {
"type": "string",
"format": "file-path",
"title": "Reference annotation",
"demo_data": "${projectDir}/test_data/smoke/annotation.gtf",
"description": "Reference transcript annotation in GTF or GFF format.",
"help_text": "Required in both discover and fixed_annotation modes."
},
"transcriptome_mode": {
"type": "string",
"default": "discover",
"enum": [
"discover",
"fixed_annotation"
],
"description": "How bambu should prepare the transcriptome model.",
"help_text": "Use discover for reference-guided transcript discovery and quantification, or fixed_annotation for quantification only against the supplied annotation."
},
"direct_rna": {
"type": "boolean",
"default": false,
"description": "Set this for direct RNA sequencing libraries."
}
},
"required": [
"ref_genome",
"ref_annotation",
"transcriptome_mode"
]
},
"sample_options": {
"title": "Sample Options",
"type": "object",
"description": "Parameters that control sample naming and experimental design.",
"properties": {
"sample_sheet": {
"type": "string",
"format": "file-path",
"title": "Sample sheet",
"demo_data": "${projectDir}/test_data/smoke/sample_sheet.csv",
"description": "CSV file describing barcodes, aliases, and optional experimental design columns.",
"help_text": "For multiplexed runs, the sample sheet should contain both barcode and alias. For differential analysis it must also contain alias, the condition column, and any extra columns named in `--covariates`."
},
"sample": {
"type": "string",
"description": "Single sample name for singleplexed input or to restrict multiplexed analysis to one sample."
}
}
},
"analysis_options": {
"title": "Analysis Options",
"type": "object",
"description": "Parameters controlling DGE and DTU analyses.",
"properties": {
"de_analysis": {
"type": "boolean",
"default": false,
"description": "Run differential gene expression and differential transcript usage analyses."
},
"condition_column": {
"type": "string",
"default": "condition",
"description": "Main comparison column in the sample sheet."
},
"covariates": {
"type": "string",
"description": "Comma-separated extra sample-sheet columns to adjust for, for example batch.",
"help_text": "Each listed name must exist as a column in the sample sheet."
},
"reference_level": {
"type": "string",
"description": "Baseline group for the main comparison column.",
"help_text": "If omitted, the workflow will use control when that level exists."
}
}
},
"output_options": {
"title": "Output Options",
"type": "object",
"description": "Parameters controlling workflow outputs.",
"properties": {
"out_dir": {
"type": "string",
"format": "directory-path",
"default": "output",
"description": "Directory for user-facing workflow outputs."
},
"igv": {
"type": "boolean",
"default": false,
"description": "Generate an IGV configuration file for the aligned BAM outputs."
}
}
},
"advanced_options": {
"title": "Advanced Options",
"type": "object",
"description": "Performance tuning and tool-specific advanced parameters.",
"properties": {
"threads": {
"type": "integer",
"default": 4,
"description": "Thread count to use for the core workflow processes."
},
"mod_codes": {
"type": "string",
"description": "Comma-separated modified base codes to pass to modkit pileup.",
"help_text": "Provide values accepted by `modkit pileup --modified-bases`, for example `A:a,C:m`. If omitted, the workflow infers `primary_base:mod_code` pairs from the BAM with `modkit modbam check-tags`."
},
"minimap2_index_opts": {
"type": "string",
"default": "",
"hidden": true,
"description": "Legacy compatibility parameter forwarded to minimap2 index generation."
},
"minimap2_opts": {
"type": "string",
"default": "",
"description": "Extra command-line options to pass to minimap2."
},
"ndr": {
"type": "number",
"description": "Optional bambu novel discovery rate override."
},
"skip_sqanti": {
"type": "boolean",
"default": false,
"description": "Skip SQANTI3 transcript classification and QC."
},
"sqanti_skip_orf": {
"type": "boolean",
"default": true,
"description": "Skip ORF prediction during SQANTI3 QC."
},
"sqanti_extra_args": {
"type": "string",
"default": "",
"description": "Extra command-line options to pass to SQANTI3."
}
}
},
"misc": {
"title": "Miscellaneous Options",
"type": "object",
"description": "Everything else.",
"default": "",
"properties": {
"disable_ping": {
"type": "boolean",
"default": false,
"description": "Enable to prevent sending a workflow ping.",
"overrides": {
"epi2mecloud": {
"hidden": true
}
}
},
"help": {
"type": "boolean",
"description": "Display help text.",
"fa_icon": "fas fa-question-circle",
"default": false,
"hidden": true
},
"version": {
"type": "boolean",
"description": "Display version and exit.",
"fa_icon": "fas fa-question-circle",
"default": false,
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/input_options"
},
{
"$ref": "#/definitions/reference_options"
},
{
"$ref": "#/definitions/sample_options"
},
{
"$ref": "#/definitions/analysis_options"
},
{
"$ref": "#/definitions/output_options"
},
{
"$ref": "#/definitions/advanced_options"
},
{
"$ref": "#/definitions/misc"
}
],
"properties": {
"aws_image_prefix": {
"type": "string",
"hidden": true
},
"aws_queue": {
"type": "string",
"hidden": true
},
"monochrome_logs": {
"type": "boolean"
},
"validate_params": {
"type": "boolean",
"default": true
},
"show_hidden_params": {
"type": "boolean"
}
},
"resources": {
"recommended": {
"cpus": 16,
"memory": "64GB"
},
"minimum": {
"cpus": 8,
"memory": "32GB"
},
"run_time": "Varies with read depth and sample count; expect a small single-sample run to finish in under 30 minutes with the recommended resources.",
"arm_support": false
}
}