Tidy params
This commit is contained in:
parent
26d830a916
commit
bca0f01bf6
53
README.md
53
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/<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 |
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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' \
|
||||
|
||||
@ -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/`.
|
||||
|
||||
@ -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. | | |
|
||||
|
||||
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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'",
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user