From bca0f01bf6df88cfd36a05065de2149d12a464c6 Mon Sep 17 00:00:00 2001 From: Sam Nicholls Date: Wed, 27 May 2026 15:40:53 +0000 Subject: [PATCH] Tidy params --- README.md | 53 +++++++------- docs/02_introduction.md | 7 +- docs/03_compute_requirements.md | 8 +-- docs/04_install_and_run.md | 1 - docs/06_pipeline_overview.md | 9 +-- docs/07_input_parameters.md | 24 +++---- docs/08_outputs.md | 4 +- nextflow.config | 6 -- nextflow_schema.json | 120 ++++++++++++-------------------- output_definition.json | 6 +- subworkflows/transcriptome.nf | 31 ++++----- 11 files changed, 112 insertions(+), 157 deletions(-) diff --git a/README.md b/README.md index 35b63e0..890a19a 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,12 @@ This workflow analyses Oxford Nanopore long-read RNA sequencing data. It uses [`bambu`](https://bioconductor.org/packages/bambu/) to build and quantify transcript models, can optionally run [`SQANTI3`](https://github.com/ConesaLab/SQANTI3) for transcript classification -and QC, and can optionally run +and QC, can optionally run [`DESeq2`](https://bioconductor.org/packages/DESeq2/) and [`DEXSeq`](https://bioconductor.org/packages/DEXSeq/) for differential -analysis. +analysis, and will run +[`modkit`](https://github.com/nanoporetech/modkit) for base modification +pileups on aligned reads if relevant tags are present. The workflow supports: @@ -23,6 +25,7 @@ The workflow supports: + optional transcript classification and QC with `SQANTI3` + differential gene expression with `DESeq2` + differential transcript usage with `DEXSeq` ++ base modification pileups with `modkit` The main transcriptome result is a shared `bambu` model built from all samples together. The workflow also produces separate per-sample transcriptomes, so @@ -48,13 +51,13 @@ sections call out the main differences from the previous workflow version. Recommended requirements: -+ CPUs = 16 -+ Memory = 64GB ++ CPUs = 32 ++ Memory = 96GB Minimum requirements: -+ CPUs = 8 -+ Memory = 32GB ++ CPUs = 12 ++ Memory = 64GB Approximate 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. @@ -117,7 +120,6 @@ nextflow run epi2me-labs/wf-transcriptomes \ --de_analysis \ --direct_rna \ --fastq 'wf-transcriptomes-demo/differential_expression_fastq' \ - --minimap2_index_opts '-k 15' \ --ref_annotation 'wf-transcriptomes-demo/gencode.v22.annotation.chr20.gtf' \ --ref_genome 'wf-transcriptomes-demo/hg38_chr20.fa' \ --sample_sheet 'wf-transcriptomes-demo/sample_sheet.csv' \ @@ -187,14 +189,15 @@ main source of sample names for multiplexed runs and is required for + Every row must contain `barcode` and `alias`. + `barcode` must use the usual ONT-style naming such as `barcode01`, `barcode02`, and the values must be unique. -+ `alias` is the user-facing sample name, must be unique, and must not begin - with the word `barcode`. ++ `alias` is the user-facing sample name, must be unique, must not begin + with the word `barcode` and may contain only letters, numbers, `.`, `_` or `-`. + If a `type` column is present, it must use one of: `test_sample`, `positive_control`, `negative_control`, or `no_template_control`. + If an `analysis_group` column is present, every row must have a value. + For `--de_analysis`, the sheet must also contain the primary condition - column, `condition` by default, plus any columns named in `--covariates`. + column (`condition` by default, overridable with `--condition_column`), + plus any columns named in `--covariates`. When multiplexed input folders are named by barcode, the workflow matches those folder names against the `barcode` column. If the folders are named by alias, @@ -256,7 +259,7 @@ for DE/DTU. ### 7. Transcript sequence generation and QC Transcript FASTA files are derived from GTF plus genome using `gffread`. -When `--skip_sqanti` is not set, `SQANTI3` classifies the cohort and per-sample +`SQANTI3` classifies the cohort and per-sample transcriptomes and produces structural QC summaries. The cohort `SQANTI3` results live under `cohort/sqanti/`, while per-sample `SQANTI3` directories are published under `samples//sqanti/`. @@ -302,27 +305,26 @@ directories: ## Input parameters -### Input Options +### Main Options | Nextflow parameter name | Type | Description | Help | Default | |--------------------------|------|-------------|------|---------| | fastq | string | FASTQ reads to analyse. | You can provide a single FASTQ, a folder of FASTQs, or a multiplexed folder containing one sub-folder per sample or barcode. | | | bam | string | BAM or uBAM reads to analyse. | 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 | boolean | Include unclassified reads from multiplexed input directories. | | False | -| analyse_fail | boolean | Include fail reads from multiplexed input directories. | | False | -| fastq_chunk | integer | Maximum number of reads per ingress chunk. | Useful mainly for testing or for splitting very large inputs into smaller pieces. | | - - -### Reference Options - -| Nextflow parameter name | Type | Description | Help | Default | -|--------------------------|------|-------------|------|---------| | ref_genome | string | Reference genome FASTA. | Required in both discover and fixed_annotation modes. | | | ref_annotation | string | Reference transcript annotation in GTF or GFF format. | Required in both discover and fixed_annotation modes. | | | transcriptome_mode | string | How bambu should prepare the transcriptome model. | Use discover for reference-guided transcript discovery and quantification, or fixed_annotation for quantification only against the supplied annotation. | discover | | direct_rna | boolean | Set this for direct RNA sequencing libraries. | | False | +### Read Filtering Options + +| Nextflow parameter name | Type | Description | Help | Default | +|--------------------------|------|-------------|------|---------| +| analyse_unclassified | boolean | Include unclassified reads from multiplexed input directories. | | False | +| analyse_fail | boolean | Include fail reads from bam_fail and fastq_fail folders found in sample folders on the input path. | | False | + + ### Sample Options | Nextflow parameter name | Type | Description | Help | Default | @@ -331,7 +333,7 @@ directories: | sample | string | Single sample name for singleplexed input or to restrict multiplexed analysis to one sample. | | | -### Analysis Options +### Differential Expression Analysis Options | Nextflow parameter name | Type | Description | Help | Default | |--------------------------|------|-------------|------|---------| @@ -355,12 +357,9 @@ directories: |--------------------------|------|-------------|------|---------| | threads | integer | Thread count to use for the core workflow processes. | | 4 | | mod_codes | string | Comma-separated modified base codes to pass to modkit pileup. | 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_opts | string | Extra command-line options to pass to minimap2. | | | | force_alignment | boolean | Force re-alignment of input BAM files. | Read alignment is skipped if the existing sequence names in the aligned BAM match the provided reference. Enable this if the existing alignments used incorrect minimap2 presets (e.g. missing --splice or direct RNA settings). | False | | ndr | number | Optional bambu novel discovery rate override. | | | -| skip_sqanti | boolean | Skip SQANTI3 transcript classification and QC. | | False | | sqanti_skip_orf | boolean | Skip ORF prediction during SQANTI3 QC. | | True | -| sqanti_extra_args | string | Extra command-line options to pass to SQANTI3. | | | @@ -407,8 +406,8 @@ Output files may be aggregated including information for all samples or provided | DTU failure diagnostic | de_analysis/{{ contrast }}/DTU_ANALYSIS_FAILED.txt | Diagnostic details when DEXSeq fails for a contrast. | aggregated | | Multiple-testing warning | de_analysis/MULTIPLE_TESTING_WARNING.txt | Family-wise error-rate note generated when multiple contrasts are tested. | aggregated | | IGV configuration | igv.json | JSON configuration for viewing the aligned BAMs in IGV. | aggregated | -| Reference FASTA index | igv_reference/{{ ref_genome_file }}.fai | FAI index for the reference genome published for IGV. | aggregated | -| Reference GZI index | igv_reference/{{ ref_genome_file }}.gzi | GZI index for a compressed reference genome published for IGV. | aggregated | +| Reference FASTA index | reference/{{ ref_genome_file }}.fai | FAI index for the reference genome published for IGV. | aggregated | +| Reference GZI index | reference/{{ ref_genome_file }}.gzi | GZI index for a compressed reference genome published for IGV. | aggregated | diff --git a/docs/02_introduction.md b/docs/02_introduction.md index 01ed80b..39900e2 100644 --- a/docs/02_introduction.md +++ b/docs/02_introduction.md @@ -2,10 +2,12 @@ This workflow analyses Oxford Nanopore long-read RNA sequencing data. It uses [`bambu`](https://bioconductor.org/packages/bambu/) to build and quantify transcript models, can optionally run [`SQANTI3`](https://github.com/ConesaLab/SQANTI3) for transcript classification -and QC, and can optionally run +and QC, can optionally run [`DESeq2`](https://bioconductor.org/packages/DESeq2/) and [`DEXSeq`](https://bioconductor.org/packages/DEXSeq/) for differential -analysis. +analysis, and will run +[`modkit`](https://github.com/nanoporetech/modkit) for base modification +pileups on aligned reads if relevant tags are present. The workflow supports: @@ -15,6 +17,7 @@ The workflow supports: + optional transcript classification and QC with `SQANTI3` + differential gene expression with `DESeq2` + differential transcript usage with `DEXSeq` ++ base modification pileups with `modkit` The main transcriptome result is a shared `bambu` model built from all samples together. The workflow also produces separate per-sample transcriptomes, so diff --git a/docs/03_compute_requirements.md b/docs/03_compute_requirements.md index 55c3277..c02fa12 100644 --- a/docs/03_compute_requirements.md +++ b/docs/03_compute_requirements.md @@ -1,12 +1,12 @@ Recommended requirements: -+ CPUs = 16 -+ Memory = 64GB ++ CPUs = 32 ++ Memory = 96GB Minimum requirements: -+ CPUs = 8 -+ Memory = 32GB ++ CPUs = 12 ++ Memory = 64GB Approximate 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. diff --git a/docs/04_install_and_run.md b/docs/04_install_and_run.md index b98ed58..af11d26 100644 --- a/docs/04_install_and_run.md +++ b/docs/04_install_and_run.md @@ -50,7 +50,6 @@ nextflow run epi2me-labs/wf-transcriptomes \ --de_analysis \ --direct_rna \ --fastq 'wf-transcriptomes-demo/differential_expression_fastq' \ - --minimap2_index_opts '-k 15' \ --ref_annotation 'wf-transcriptomes-demo/gencode.v22.annotation.chr20.gtf' \ --ref_genome 'wf-transcriptomes-demo/hg38_chr20.fa' \ --sample_sheet 'wf-transcriptomes-demo/sample_sheet.csv' \ diff --git a/docs/06_pipeline_overview.md b/docs/06_pipeline_overview.md index 9803ece..20f6775 100644 --- a/docs/06_pipeline_overview.md +++ b/docs/06_pipeline_overview.md @@ -32,14 +32,15 @@ main source of sample names for multiplexed runs and is required for + Every row must contain `barcode` and `alias`. + `barcode` must use the usual ONT-style naming such as `barcode01`, `barcode02`, and the values must be unique. -+ `alias` is the user-facing sample name, must be unique, and must not begin - with the word `barcode`. ++ `alias` is the user-facing sample name, must be unique, must not begin + with the word `barcode` and may contain only letters, numbers, `.`, `_` or `-`. + If a `type` column is present, it must use one of: `test_sample`, `positive_control`, `negative_control`, or `no_template_control`. + If an `analysis_group` column is present, every row must have a value. + For `--de_analysis`, the sheet must also contain the primary condition - column, `condition` by default, plus any columns named in `--covariates`. + column (`condition` by default, overridable with `--condition_column`), + plus any columns named in `--covariates`. When multiplexed input folders are named by barcode, the workflow matches those folder names against the `barcode` column. If the folders are named by alias, @@ -101,7 +102,7 @@ for DE/DTU. ### 7. Transcript sequence generation and QC Transcript FASTA files are derived from GTF plus genome using `gffread`. -When `--skip_sqanti` is not set, `SQANTI3` classifies the cohort and per-sample +`SQANTI3` classifies the cohort and per-sample transcriptomes and produces structural QC summaries. The cohort `SQANTI3` results live under `cohort/sqanti/`, while per-sample `SQANTI3` directories are published under `samples//sqanti/`. diff --git a/docs/07_input_parameters.md b/docs/07_input_parameters.md index ba2c9c3..9f546f8 100644 --- a/docs/07_input_parameters.md +++ b/docs/07_input_parameters.md @@ -1,24 +1,23 @@ -### Input Options +### Main Options | Nextflow parameter name | Type | Description | Help | Default | |--------------------------|------|-------------|------|---------| | fastq | string | FASTQ reads to analyse. | You can provide a single FASTQ, a folder of FASTQs, or a multiplexed folder containing one sub-folder per sample or barcode. | | | bam | string | BAM or uBAM reads to analyse. | 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 | boolean | Include unclassified reads from multiplexed input directories. | | False | -| analyse_fail | boolean | Include fail reads from multiplexed input directories. | | False | -| fastq_chunk | integer | Maximum number of reads per ingress chunk. | Useful mainly for testing or for splitting very large inputs into smaller pieces. | | - - -### Reference Options - -| Nextflow parameter name | Type | Description | Help | Default | -|--------------------------|------|-------------|------|---------| | ref_genome | string | Reference genome FASTA. | Required in both discover and fixed_annotation modes. | | | ref_annotation | string | Reference transcript annotation in GTF or GFF format. | Required in both discover and fixed_annotation modes. | | | transcriptome_mode | string | How bambu should prepare the transcriptome model. | Use discover for reference-guided transcript discovery and quantification, or fixed_annotation for quantification only against the supplied annotation. | discover | | direct_rna | boolean | Set this for direct RNA sequencing libraries. | | False | +### Read Filtering Options + +| Nextflow parameter name | Type | Description | Help | Default | +|--------------------------|------|-------------|------|---------| +| analyse_unclassified | boolean | Include unclassified reads from multiplexed input directories. | | False | +| analyse_fail | boolean | Include fail reads from bam_fail and fastq_fail folders found in sample folders on the input path. | | False | + + ### Sample Options | Nextflow parameter name | Type | Description | Help | Default | @@ -27,7 +26,7 @@ | sample | string | Single sample name for singleplexed input or to restrict multiplexed analysis to one sample. | | | -### Analysis Options +### Differential Expression Analysis Options | Nextflow parameter name | Type | Description | Help | Default | |--------------------------|------|-------------|------|---------| @@ -51,11 +50,8 @@ |--------------------------|------|-------------|------|---------| | threads | integer | Thread count to use for the core workflow processes. | | 4 | | mod_codes | string | Comma-separated modified base codes to pass to modkit pileup. | 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_opts | string | Extra command-line options to pass to minimap2. | | | | force_alignment | boolean | Force re-alignment of input BAM files. | Read alignment is skipped if the existing sequence names in the aligned BAM match the provided reference. Enable this if the existing alignments used incorrect minimap2 presets (e.g. missing --splice or direct RNA settings). | False | | ndr | number | Optional bambu novel discovery rate override. | | | -| skip_sqanti | boolean | Skip SQANTI3 transcript classification and QC. | | False | | sqanti_skip_orf | boolean | Skip ORF prediction during SQANTI3 QC. | | True | -| sqanti_extra_args | string | Extra command-line options to pass to SQANTI3. | | | diff --git a/docs/08_outputs.md b/docs/08_outputs.md index 943edff..20ac1e8 100644 --- a/docs/08_outputs.md +++ b/docs/08_outputs.md @@ -36,5 +36,5 @@ Output files may be aggregated including information for all samples or provided | DTU failure diagnostic | de_analysis/{{ contrast }}/DTU_ANALYSIS_FAILED.txt | Diagnostic details when DEXSeq fails for a contrast. | aggregated | | Multiple-testing warning | de_analysis/MULTIPLE_TESTING_WARNING.txt | Family-wise error-rate note generated when multiple contrasts are tested. | aggregated | | IGV configuration | igv.json | JSON configuration for viewing the aligned BAMs in IGV. | aggregated | -| Reference FASTA index | igv_reference/{{ ref_genome_file }}.fai | FAI index for the reference genome published for IGV. | aggregated | -| Reference GZI index | igv_reference/{{ ref_genome_file }}.gzi | GZI index for a compressed reference genome published for IGV. | aggregated | +| Reference FASTA index | reference/{{ ref_genome_file }}.fai | FAI index for the reference genome published for IGV. | aggregated | +| Reference GZI index | reference/{{ ref_genome_file }}.gzi | GZI index for a compressed reference genome published for IGV. | aggregated | diff --git a/nextflow.config b/nextflow.config index d9fedec..4b12865 100644 --- a/nextflow.config +++ b/nextflow.config @@ -21,17 +21,12 @@ params { analyse_unclassified = false analyse_fail = false - fastq_chunk = null threads = 4 mod_codes = null - minimap2_index_opts = "" - minimap2_opts = "" force_alignment = false ndr = null - skip_sqanti = false sqanti_skip_orf = true - sqanti_extra_args = "" aws_image_prefix = null aws_queue = null @@ -52,7 +47,6 @@ params { "--de_analysis", "--direct_rna", "--fastq 'wf-transcriptomes-demo/differential_expression_fastq'", - "--minimap2_index_opts '-k 15'", "--ref_annotation 'wf-transcriptomes-demo/gencode.v22.annotation.chr20.gtf'", "--ref_genome 'wf-transcriptomes-demo/hg38_chr20.fa'", "--sample_sheet 'wf-transcriptomes-demo/sample_sheet.csv'", diff --git a/nextflow_schema.json b/nextflow_schema.json index 641d0ac..723f982 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -9,16 +9,15 @@ "url": "https://github.com/epi2me-labs/wf-transcriptomes", "type": "object", "definitions": { - "input_options": { - "title": "Input Options", + "main_options": { + "title": "Main Options", "type": "object", - "description": "Parameters for ingesting read data.", + "description": "Parameters for read ingestion, and setting reference and transcriptome construction mode.", "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." }, @@ -28,49 +27,10 @@ "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." }, @@ -78,7 +38,6 @@ "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." }, @@ -102,8 +61,41 @@ "ref_genome", "ref_annotation", "transcriptome_mode" + ], + "allOf": [ + { + "oneOf": [ + { + "required": [ + "fastq" + ] + }, + { + "required": [ + "bam" + ] + } + ] + } ] }, + "filter_options": { + "title": "Read Filtering Options", + "type": "object", + "description": "Options for filtering input reads.", + "properties": { + "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 bam_fail and fastq_fail folders found in sample folders on the input path." + } + } + }, "sample_options": { "title": "Sample Options", "type": "object", @@ -113,7 +105,6 @@ "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`." }, @@ -123,8 +114,8 @@ } } }, - "analysis_options": { - "title": "Analysis Options", + "de_analysis_options": { + "title": "Differential Expression Analysis Options", "type": "object", "description": "Parameters controlling DGE and DTU analyses.", "properties": { @@ -188,17 +179,6 @@ "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." - }, "force_alignment" : { "type": "boolean", "default": false, @@ -209,20 +189,10 @@ "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." } } }, @@ -261,16 +231,16 @@ }, "allOf": [ { - "$ref": "#/definitions/input_options" + "$ref": "#/definitions/main_options" }, { - "$ref": "#/definitions/reference_options" + "$ref": "#/definitions/filter_options" }, { "$ref": "#/definitions/sample_options" }, { - "$ref": "#/definitions/analysis_options" + "$ref": "#/definitions/de_analysis_options" }, { "$ref": "#/definitions/output_options" @@ -304,12 +274,12 @@ }, "resources": { "recommended": { - "cpus": 16, - "memory": "64GB" + "cpus": 32, + "memory": "96GB" }, "minimum": { - "cpus": 8, - "memory": "32GB" + "cpus": 12, + "memory": "64GB" }, "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 diff --git a/output_definition.json b/output_definition.json index 147808a..4b1665e 100644 --- a/output_definition.json +++ b/output_definition.json @@ -268,12 +268,12 @@ "filepath": "igv.json", "title": "IGV configuration", "description": "JSON configuration for viewing the aligned BAMs in IGV.", - "mime-type": "text/json", + "mime-type": "application/json", "optional": true, "type": "aggregated" }, "reference-index": { - "filepath": "igv_reference/{{ ref_genome_file }}.fai", + "filepath": "reference/{{ ref_genome_file }}.fai", "title": "Reference FASTA index", "description": "FAI index for the reference genome published for IGV.", "mime-type": "text/tab-separated-values", @@ -281,7 +281,7 @@ "type": "aggregated" }, "reference-gzi-index": { - "filepath": "igv_reference/{{ ref_genome_file }}.gzi", + "filepath": "reference/{{ ref_genome_file }}.gzi", "title": "Reference GZI index", "description": "GZI index for a compressed reference genome published for IGV.", "mime-type": "application/octet-stream", diff --git a/subworkflows/transcriptome.nf b/subworkflows/transcriptome.nf index 54d063c..846c476 100644 --- a/subworkflows/transcriptome.nf +++ b/subworkflows/transcriptome.nf @@ -151,7 +151,6 @@ process runJointSqanti { path "cohort", emit: dir path "cohort/classification_summary.tsv", emit: summary script: - String extra = params.sqanti_extra_args ?: "" String skip_orf = params.sqanti_skip_orf ? "--skipORF" : "" """ mkdir cohort @@ -164,8 +163,7 @@ process runJointSqanti { --report skip \ -t ${task.cpus} \ -d cohort \ - -o cohort \ - ${extra} + -o cohort workflow-glue summarise_sqanti --sqanti_dir cohort \ --output cohort/classification_summary.tsv """ @@ -187,7 +185,6 @@ process runPerSampleSqanti { tuple val(meta), path("${meta.alias}"), emit: dir tuple val(meta), path("${meta.alias}/classification_summary.tsv"), emit: summary script: - String extra = params.sqanti_extra_args ?: "" String skip_orf = params.sqanti_skip_orf ? "--skipORF" : "" """ mkdir "${meta.alias}" @@ -200,8 +197,7 @@ process runPerSampleSqanti { --report skip \ -t ${task.cpus} \ -d "${meta.alias}" \ - -o "${meta.alias}" \ - ${extra} + -o "${meta.alias}" workflow-glue summarise_sqanti --sqanti_dir "${meta.alias}" \ --output "${meta.alias}/classification_summary.tsv" """ @@ -321,19 +317,16 @@ workflow transcriptome { ) sample_fastas = buildSampleTranscriptomeFasta(sample_bambu_real.gtf, ref_genome) - if (params.skip_sqanti) { - joint_sqanti_dir = Channel.empty() - sample_sqanti_dirs = Channel.empty() - } else { - joint_sqanti = runJointSqanti( - joint_bambu_real.gtf.map { meta, gtf -> gtf }, - analysis_annotation, - ref_genome - ) - sample_sqanti = runPerSampleSqanti(sample_bambu_real.gtf, analysis_annotation, ref_genome) - joint_sqanti_dir = joint_sqanti.dir - sample_sqanti_dirs = sample_sqanti.dir - } + + joint_sqanti = runJointSqanti( + joint_bambu_real.gtf.map { meta, gtf -> gtf }, + analysis_annotation, + ref_genome + ) + sample_sqanti = runPerSampleSqanti(sample_bambu_real.gtf, analysis_annotation, ref_genome) + joint_sqanti_dir = joint_sqanti.dir + sample_sqanti_dirs = sample_sqanti.dir + emit: annotation = analysis_annotation