Merge branch 'tidy-params' into 'dev'

Tidy params

See merge request epi2melabs/workflows/wf-transcriptomes!283
This commit is contained in:
Sarah Griffiths 2026-05-27 15:40:53 +00:00
commit 0129592acc
11 changed files with 112 additions and 157 deletions

View File

@ -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/<alias>/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 |

View File

@ -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

View File

@ -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.

View File

@ -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' \

View File

@ -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/<alias>/sqanti/`.

View File

@ -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. | | |

View File

@ -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 |

View File

@ -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'",

View File

@ -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

View File

@ -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",

View File

@ -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