Merge branch 'CW-7274' into 'dev'
Add force alignment option [CW-7274] Closes CW-7274 See merge request epi2melabs/workflows/wf-transcriptomes!299
This commit is contained in:
commit
c36404422e
@ -356,6 +356,7 @@ directories:
|
|||||||
| threads | integer | Thread count to use for the core workflow processes. | | 4 |
|
| 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`. | |
|
| 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. | | |
|
| 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. | | |
|
| ndr | number | Optional bambu novel discovery rate override. | | |
|
||||||
| skip_sqanti | boolean | Skip SQANTI3 transcript classification and QC. | | False |
|
| skip_sqanti | boolean | Skip SQANTI3 transcript classification and QC. | | False |
|
||||||
| sqanti_skip_orf | boolean | Skip ORF prediction during SQANTI3 QC. | | True |
|
| sqanti_skip_orf | boolean | Skip ORF prediction during SQANTI3 QC. | | True |
|
||||||
|
|||||||
@ -52,6 +52,7 @@
|
|||||||
| threads | integer | Thread count to use for the core workflow processes. | | 4 |
|
| 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`. | |
|
| 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. | | |
|
| 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. | | |
|
| ndr | number | Optional bambu novel discovery rate override. | | |
|
||||||
| skip_sqanti | boolean | Skip SQANTI3 transcript classification and QC. | | False |
|
| skip_sqanti | boolean | Skip SQANTI3 transcript classification and QC. | | False |
|
||||||
| sqanti_skip_orf | boolean | Skip ORF prediction during SQANTI3 QC. | | True |
|
| sqanti_skip_orf | boolean | Skip ORF prediction during SQANTI3 QC. | | True |
|
||||||
|
|||||||
@ -80,7 +80,7 @@ process minimap2_alignment {
|
|||||||
path("bamstats_results"),
|
path("bamstats_results"),
|
||||||
emit: alignment
|
emit: alignment
|
||||||
script:
|
script:
|
||||||
String reset_cmd_body = "samtools reset -x tp,cm,s1,s2,NM,MD,AS,SA,ms,nn,ts,cg,cs,dv,de,rl"
|
String reset_cmd_body = "samtools reset -x tp,cm,s1,s2,NM,MD,AS,SA,ms,nn,ts,cg,cs,dv,de,rl,zd"
|
||||||
String fastq_cmd_body = "samtools fastq -T '*'"
|
String fastq_cmd_body = "samtools fastq -T '*'"
|
||||||
// Default required threads is 6
|
// Default required threads is 6
|
||||||
// Samtools x3 and bamstats will all be single threaded
|
// Samtools x3 and bamstats will all be single threaded
|
||||||
|
|||||||
@ -337,6 +337,7 @@ def fastq_ingress(Map arguments, aln_ref_ch = null)
|
|||||||
* - "alignment_threads": number of threads to use for alignment process (default: 6)
|
* - "alignment_threads": number of threads to use for alignment process (default: 6)
|
||||||
* - "output_xam_fmt": alignment output format, `bam` outputs an BAM file with index (.bam, .bai),
|
* - "output_xam_fmt": alignment output format, `bam` outputs an BAM file with index (.bam, .bai),
|
||||||
`cram` outputs a CRAM file with index (.cram, .crai)
|
`cram` outputs a CRAM file with index (.cram, .crai)
|
||||||
|
* - "force_alignment": boolean. Run alignment regardless of inputs.
|
||||||
* @param aln_ref_ch: optional channel with a reference tuple (ref, ref_idx) to align against.
|
* @param aln_ref_ch: optional channel with a reference tuple (ref, ref_idx) to align against.
|
||||||
* If provided alignment will be attempted if inputs are unaligned or not already aligned to this ref.
|
* If provided alignment will be attempted if inputs are unaligned or not already aligned to this ref.
|
||||||
* @return: channel of `[Map(alias, barcode, type, ...), Path|null, Path|null]`.
|
* @return: channel of `[Map(alias, barcode, type, ...), Path|null, Path|null]`.
|
||||||
@ -357,6 +358,7 @@ def xam_ingress(Map arguments, aln_ref_ch = null)
|
|||||||
"return_fastq": false,
|
"return_fastq": false,
|
||||||
"fastcat_extra_args": "",
|
"fastcat_extra_args": "",
|
||||||
"fastq_chunk": null,
|
"fastq_chunk": null,
|
||||||
|
"force_alignment": false,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
margs["fastq_chunk"] ?= 0 // cant pass null through channel
|
margs["fastq_chunk"] ?= 0 // cant pass null through channel
|
||||||
@ -427,7 +429,7 @@ def xam_ingress(Map arguments, aln_ref_ch = null)
|
|||||||
alignment_fork = ch_check_bams
|
alignment_fork = ch_check_bams
|
||||||
| branch {
|
| branch {
|
||||||
meta, paths ->
|
meta, paths ->
|
||||||
to_align: (meta.is_unaligned == true) && (meta.has_reads == true)
|
to_align: (meta.is_unaligned || margs.force_alignment) && meta.has_reads
|
||||||
noalign: true
|
noalign: true
|
||||||
}
|
}
|
||||||
if (margs["output_xam_fmt"] == "bam"){
|
if (margs["output_xam_fmt"] == "bam"){
|
||||||
|
|||||||
1
main.nf
1
main.nf
@ -304,6 +304,7 @@ workflow {
|
|||||||
} else {
|
} else {
|
||||||
samples = xam_ingress([
|
samples = xam_ingress([
|
||||||
"input": params.bam,
|
"input": params.bam,
|
||||||
|
"force_alignment": params.force_alignment,
|
||||||
] + ingress_args, ref_genome)
|
] + ingress_args, ref_genome)
|
||||||
}
|
}
|
||||||
analysis_samples = samples
|
analysis_samples = samples
|
||||||
|
|||||||
@ -27,6 +27,7 @@ params {
|
|||||||
mod_codes = null
|
mod_codes = null
|
||||||
minimap2_index_opts = ""
|
minimap2_index_opts = ""
|
||||||
minimap2_opts = ""
|
minimap2_opts = ""
|
||||||
|
force_alignment = false
|
||||||
ndr = null
|
ndr = null
|
||||||
skip_sqanti = false
|
skip_sqanti = false
|
||||||
sqanti_skip_orf = true
|
sqanti_skip_orf = true
|
||||||
|
|||||||
@ -194,6 +194,12 @@
|
|||||||
"default": "",
|
"default": "",
|
||||||
"description": "Extra command-line options to pass to minimap2."
|
"description": "Extra command-line options to pass to minimap2."
|
||||||
},
|
},
|
||||||
|
"force_alignment" : {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"description": "Force re-alignment of input BAM files.",
|
||||||
|
"help_text": "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)."
|
||||||
|
},
|
||||||
"ndr": {
|
"ndr": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"description": "Optional bambu novel discovery rate override."
|
"description": "Optional bambu novel discovery rate override."
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user