Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
ed9c127
add sigrap modules
qclayssen Dec 9, 2024
8914f8e
changes images modules
qclayssen Feb 20, 2025
03c2cf3
uptade workflow with modules a channels
qclayssen Feb 20, 2025
e8bf9d3
fix typo
qclayssen Feb 21, 2025
ab0d3b9
fix input module
qclayssen Feb 21, 2025
0011e47
replace gridss by esvee data
qclayssen Apr 29, 2025
9da48e7
change input channel files in subworkflow
qclayssen Apr 30, 2025
033af83
fix meta channel
qclayssen Apr 30, 2025
c9136cf
fix add tbi esvee files
qclayssen Apr 30, 2025
3e5399a
add esvee module
qclayssen Apr 30, 2025
4e34cbe
update purple
qclayssen Apr 30, 2025
7f2abbd
fix image purple
qclayssen Apr 30, 2025
6a2a031
upgrade docker image and add env
qclayssen Apr 30, 2025
ab5a210
fix linx somatic
qclayssen Apr 30, 2025
cd22e5e
fix purple input doesn't take sv_tumor_unfiltered_vcf
qclayssen May 1, 2025
a0a2bbd
change dicker image bolt
qclayssen May 1, 2025
736c478
fix docker path
qclayssen May 1, 2025
48a153c
chane docker path linx report
qclayssen May 1, 2025
af2e69c
change add eSVee call
qclayssen May 4, 2025
4492f56
fix name channel
qclayssen May 6, 2025
c084de2
fix typo
qclayssen May 6, 2025
d27f6ee
fix fonction call
qclayssen May 6, 2025
1d23905
remove index esvee channel
qclayssen May 6, 2025
ae3becd
add dockerfile eSVee
qclayssen May 6, 2025
015d5ab
change container esvee
qclayssen May 6, 2025
6bf2d12
remove gripss filtering subworkflow and modules
qclayssen May 6, 2025
3996a97
change docker image cancer report
qclayssen May 7, 2025
81ebfe5
fix output path esvee
qclayssen May 7, 2025
3b9e0ab
fix output path esvee
qclayssen May 9, 2025
db8a53f
fix output path eSVee
qclayssen May 9, 2025
b97feb5
fix name output path esvee
qclayssen May 9, 2025
9bd7ad2
latest docker images
qclayssen May 12, 2025
82a6d2e
remove purple conda env, and deprecated input
qclayssen May 12, 2025
7e9398e
tidy up
qclayssen May 12, 2025
03ca27d
fix subworkflow deprecated input purple
qclayssen May 12, 2025
9f1528e
linting
qclayssen May 12, 2025
754e7c3
tidy up
qclayssen May 12, 2025
aad37a7
Uptade linx report for sash
qclayssen May 12, 2025
ee35c4e
fix typo
qclayssen May 12, 2025
80081b1
same typo
qclayssen May 12, 2025
3a0cae8
still ...
qclayssen May 12, 2025
78d9e3c
typo
qclayssen May 12, 2025
1bf7155
touch file for pcgr stub run
qclayssen May 13, 2025
f5852b0
touch stub file multiqc
qclayssen May 13, 2025
2497ce5
tidy up
qclayssen May 13, 2025
d977f2b
test fix out put file eSVee
qclayssen May 13, 2025
29c0f62
add more stubs
qclayssen May 13, 2025
8b837b5
test fix ouput path esvee
qclayssen May 13, 2025
9611cc6
fix stub ...
qclayssen May 13, 2025
f0325e9
fix typo
qclayssen May 13, 2025
2a09687
fix channel
qclayssen May 13, 2025
210c5ca
change in prepare input and add doc
qclayssen May 13, 2025
22ca727
linting and version esvee
qclayssen May 13, 2025
fd1e84f
fix deprecated channel
qclayssen May 13, 2025
73fcdc2
uniform doc
qclayssen May 13, 2025
83b15a7
fix order esvee channel
qclayssen May 13, 2025
8b7f806
add stup block
qclayssen May 14, 2025
ab31d5d
change esvee meta to use key tag
qclayssen May 14, 2025
6db7b5d
clean up
qclayssen May 14, 2025
0f17487
add utils_nfcore_pipeline
qclayssen May 15, 2025
a9e6512
change version collection
qclayssen May 15, 2025
6af5457
fix meta
qclayssen May 15, 2025
7350545
fix channel meta for stub and standar run
qclayssen May 16, 2025
fb02a31
remove deprecated modules
qclayssen May 16, 2025
43d18ce
upgrade gpgr container
qclayssen May 16, 2025
3112089
update changelog
qclayssen May 22, 2025
3afbc68
remove deprecated tool versionning collection
qclayssen May 22, 2025
01a0001
upadte pave
qclayssen May 27, 2025
9cf9f5e
update container for esvee
qclayssen May 27, 2025
ee11318
update cancer report container
qclayssen May 28, 2025
cd3f664
Remove deprecated module trace
qclayssen May 29, 2025
3da7b3e
Upadate changelog for MSI
qclayssen May 29, 2025
14f1ab8
fix documentation
qclayssen Jun 2, 2025
6023723
linting
qclayssen Jun 2, 2025
757c2bd
tidy up channel
qclayssen Jun 2, 2025
35e3a34
tidy up
qclayssen Jun 2, 2025
ac5241f
remove deprecated module
qclayssen Jun 2, 2025
993bcb9
update changelog
qclayssen Jun 4, 2025
968f7a4
upgrade bolt container to ghcr.io/umccr/bolt:0.2.14-dev
qclayssen Jun 6, 2025
de018ec
update containers
qclayssen Jun 6, 2025
e262386
fix container name
qclayssen Jun 6, 2025
43b988a
bump version to v0.6.0dev in nextflow.config
qclayssen Jun 12, 2025
be3c8e6
Change explicit linx process name as in OA
qclayssen Jun 18, 2025
50af35a
change linx channel
qclayssen Jun 18, 2025
e82075f
update linx config
qclayssen Jun 18, 2025
3c742b2
Remove dev tag for full release
qclayssen Jun 19, 2025
3a28165
Update version format for bumpversion compatibility
qclayssen Jun 19, 2025
a4615a6
Bump version: 0.5.0 → 0.6.0
qclayssen Jun 19, 2025
7f39ab5
Merge branch 'main' into sigrap-modules
qclayssen Jun 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.5.0
current_version = 0.6.0
commit = True
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>[a-z0-9+]+)
Expand Down
55 changes: 55 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,58 @@ Initial release of umccr/sash, created with the [nf-core](https://nf-co.re/) tem
### `Dependencies`

### `Deprecated`

## [0.6.0] - 2025-06-04

### Added

- Software versions are now in `pipeline_info/software_versions.yml`

### Changed

- **SV caller:** GRIPSS → eSVee
- SV counts (unmelted & melted)
- CNV counts
- TMB-SV counts
- CopyNumberSegment counts
- SV in Circos plots
- Breakpoints & Breakends tables
- Copy-number variants tables
- Genome-wide somatic CNV segment tracks
- SV Map visualisation
- Cancer-report Structural Variants summary plot:
- SR (Split Read) → SF (Split Fragments)
- PR (Paired-Read) → DF (Discordant Fragments)
- Linx v1.25 → v2.0 (affects all Linx reports/files)
- Purple v4.0.1 → v4.1.0
- MSI calculation relay on SAGE-specific tags #7
- (reverted) Circos have link sizes dependent on the size of SV #6
- Filter PoN SV in cancer report tables #8

### Removed

- Kataegis module
- CHORD HRD metrics
- MSI load and status from purple

### Deprecated

- Metric aliases `SR`, `PR`
- GRIDSS/GRIPSS modules

### Fixed

- Nextflow `Stub` run

### Security

- _none_

### Dependencies

| Tool | Old | New |
|------|-----|-----|
| Linx | 1.25 | 2.0 |
| Purple | 4.0.1 | 4.1.0 |
| Bolt | — | umccr/bolt#6 |
| GPGR | — | umccr/gpgr#88 |
3 changes: 0 additions & 3 deletions conf/base.config
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,4 @@ process {
maxRetries = 2
}

withName:CUSTOM_DUMPSOFTWAREVERSIONS {
cache = false
}
}
26 changes: 11 additions & 15 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,6 @@ process {
]
}

withName: '.*:GRIPSS_FILTERING:(?:GERMLINE|SOMATIC)' {
ext.jarPath = '/opt/gripss/gripss.jar'
}

withName: 'BOLT_SV_SOMATIC_ANNOTATE' {
publishDir = [
path: { "${params.outdir}" },
Expand Down Expand Up @@ -171,7 +167,15 @@ process {
]
}

withName: '.*:LINX_ANNOTATION:(?:GERMLINE|SOMATIC)|.*:LINX_PLOTTING:VISUALISER' {
withName: 'ESVEE_CALL' {
publishDir = [
path: { "${params.outdir}" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : "${meta.key}/esvee/${filename}" }
]
}

withName: '.*:LINX_ANNOTATION:(?:GERMLINE|SOMATIC)|.*:LINX_PLOTTING:LINX_VISUALISER' {
ext.jarPath = '/opt/linx/linx.jar'
}

Expand All @@ -191,7 +195,7 @@ process {
]
}

withName: '.*:LINX_PLOTTING:VISUALISER' {
withName: '.*:LINX_PLOTTING:LINX_VISUALISER' {
ext.circosPath = '/opt/conda/bin/circos'
publishDir = [
path: { "${params.outdir}" },
Expand All @@ -200,20 +204,12 @@ process {
]
}

withName: '.*:LINX_PLOTTING:REPORT' {
withName: '.*:LINX_PLOTTING:LINXREPORT' {
publishDir = [
path: { "${params.outdir}" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : "${meta.key}/${filename}" },
]
}

withName: CUSTOM_DUMPSOFTWAREVERSIONS {
publishDir = [
path: { "${params.outdir}/pipeline_info" },
mode: params.publish_dir_mode,
pattern: '*_versions.yml'
]
}

}
14 changes: 9 additions & 5 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,6 @@
"https://github.com/nf-core/modules.git": {
"modules": {
"nf-core": {
"custom/dumpsoftwareversions": {
"branch": "master",
"git_sha": "76cc4938c1f6ea5c7d83fed1eeffc146787f9543",
"installed_by": ["modules"]
},
"fastqc": {
"branch": "master",
"git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
Expand All @@ -21,6 +16,15 @@
"installed_by": ["modules"]
}
}
},
"subworkflows": {
"nf-core": {
"utils_nfcore_pipeline": {
"branch": "master",
"git_sha": "05954dab2ff481bcb999f24455da29a5828af08d",
"installed_by": ["subworkflows"]
}
}
}
}
}
Expand Down
3 changes: 2 additions & 1 deletion modules/local/bolt/other/cancer_report/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_OTHER_CANCER_REPORT {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13-gpgr'
container 'ghcr.io/umccr/bolt:0.2.14-gpgr'

input:
tuple val(meta), path(smlv_somatic_vcf), path(smlv_somatic_bcftools_stats), path(smlv_somatic_counts_process), path(sv_somatic_tsv), path(sv_somatic_vcf), path(cnv_somatic_tsv), path(af_global), path(af_keygenes), path(purple_baf_plot), path(purple_dir), path(virusbreakend_dir), path(dragen_hrd)
Expand Down Expand Up @@ -60,6 +60,7 @@ process BOLT_OTHER_CANCER_REPORT {
stub:
"""
mkdir -p output/
touch output/cancer_report.stub
touch ${meta.tumor_id}.cancer_report.html
echo -e '${task.process}:\\n stub: noversions\\n' > versions.yml
"""
Expand Down
3 changes: 2 additions & 1 deletion modules/local/bolt/other/multiqc_report/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_OTHER_MULTIQC_REPORT {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13-multiqc'
container 'ghcr.io/umccr/bolt:0.2.14-multiqc'

input:
tuple val(meta), path(input_files)
Expand Down Expand Up @@ -35,6 +35,7 @@ process BOLT_OTHER_MULTIQC_REPORT {
stub:
"""
mkdir -p multiqc_report/multiqc_data/
touch multiqc_report/multiqc_data/multiqc.stub
touch ${meta.tumor_id}.multiqc.html
echo -e '${task.process}:\\n stub: noversions\\n' > versions.yml
"""
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/other/purple_baf_plot/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_OTHER_PURPLE_BAF_PLOT {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13-circos'
container 'ghcr.io/umccr/bolt:0.2.14-circos'

input:
tuple val(meta), path(purple_dir)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/smlv_germline/prepare/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SMLV_GERMLINE_PREPARE {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13'
container 'ghcr.io/umccr/bolt:0.2.14'

input:
tuple val(meta), path(smlv_vcf)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/smlv_germline/report/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SMLV_GERMLINE_REPORT {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13-pcgr'
container 'ghcr.io/umccr/bolt:0.2.14-pcgr'

input:
tuple val(meta), path(smlv_vcf), path(smlv_unfiltered_vcf)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/smlv_somatic/annotate/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SMLV_SOMATIC_ANNOTATE {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13-pcgr'
container 'ghcr.io/umccr/bolt:0.2.14-pcgr'

input:
tuple val(meta), path(smlv_vcf)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/smlv_somatic/filter/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SMLV_SOMATIC_FILTER {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13'
container 'ghcr.io/umccr/bolt:0.2.14'

input:
tuple val(meta), path(smlv_vcf)
Expand Down
3 changes: 2 additions & 1 deletion modules/local/bolt/smlv_somatic/report/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SMLV_SOMATIC_REPORT {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13-pcgr'
container 'ghcr.io/umccr/bolt:0.2.14-pcgr'

input:
tuple val(meta), path(smlv_vcf), path(smlv_filters_vcf), path(smlv_dragen_vcf), path(purple_purity)
Expand Down Expand Up @@ -60,6 +60,7 @@ process BOLT_SMLV_SOMATIC_REPORT {
stub:
"""
mkdir -p output/pcgr/
touch output/pcgr/pcgr.stub
touch output/af_tumor.txt
touch output/af_tumor_keygenes.txt
touch output/${meta.tumor_id}.somatic.variant_counts_type.yaml
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/smlv_somatic/rescue/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SMLV_SOMATIC_RESCUE {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13'
container 'ghcr.io/umccr/bolt:0.2.14'

input:
tuple val(meta), path(smlv_vcf), path(smlv_tbi), path(sage_smlv_vcf), path(sage_smlv_tbi)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/sv_somatic/annotate/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SV_SOMATIC_ANNOTATE {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13-snpeff'
container 'ghcr.io/umccr/bolt:0.2.14-snpeff'

input:
tuple val(meta), path(sv_vcf), path(cnv_tsv)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/bolt/sv_somatic/prioritise/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ process BOLT_SV_SOMATIC_PRIORITISE {
tag "${meta.id}"
label 'process_low'

container 'ghcr.io/scwatts/bolt:0.2.13'
container 'ghcr.io/umccr/bolt:0.2.14'

input:
tuple val(meta), path(sv_vcf)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ RUN \
zlib && \
micromamba clean --all --yes

FROM quay.io/biocontainers/hmftools-gripss:2.4--hdfd78af_0
FROM quay.io/biocontainers/hmftools-esvee:1.0.3--hdfd78af_0

COPY --from=build /env/ /env/

Expand Down
79 changes: 79 additions & 0 deletions modules/local/esvee/call/main.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
process ESVEE_CALL {
tag "${meta.id}"
label 'process_high'

container 'ghcr.io/umccr/esvee:1.0.3'


input:
tuple val(meta), path(ref_depth_vcf), path(prep_dir)
path genome_fasta
val genome_ver
path pon_breakends
path pon_breakpoints
path known_fusions
path repeatmasker_annotations

output:
tuple val(meta), path("caller/") , emit: caller_dir
tuple val(meta), path("caller/${meta.tumor_id}.esvee.unfiltered.vcf.gz"), path("caller/${meta.tumor_id}.esvee.unfiltered.vcf.gz.tbi"), emit: unfiltered_vcf
tuple val(meta), path("caller/${meta.tumor_id}.esvee.somatic.vcf.gz"), path("caller/${meta.tumor_id}.esvee.somatic.vcf.gz.tbi") , emit: somatic_vcf
tuple val(meta), path("caller/${meta.tumor_id}.esvee.germline.vcf.gz"), path("caller/${meta.tumor_id}.esvee.germline.vcf.gz.tbi") , emit: germline_vcf, optional: true
path 'versions.yml' , emit: versions

when:
task.ext.when == null || task.ext.when

script:
def args = task.ext.args ?: ''

def xmx_mod = task.ext.xmx_mod ?: 0.95

def reference_arg = meta.normal_id != null ? "-reference ${meta.normal_id}" : ''

"""
mkdir -p caller/

esvee com.hartwig.hmftools.esvee.caller.CallerApplication \\
-Xmx${Math.round(task.memory.bytes * xmx_mod)} \\
${args} \\
-sample ${meta.tumor_id} \\
${reference_arg} \\
-input_vcf ${ref_depth_vcf} \\
-esvee_prep_dir ${prep_dir}/ \\
-ref_genome_version ${genome_ver} \\
-known_hotspot_file ${known_fusions} \\
-pon_sgl_file ${pon_breakends} \\
-pon_sv_file ${pon_breakpoints} \\
-repeat_mask_file ${repeatmasker_annotations} \\
-output_dir caller/ \\
-log_level DEBUG

cat <<-END_VERSIONS > versions.yml
"${task.process}":
esvee: \$(esvee -version | sed -n '/^Esvee version/ { s/^.* //p }')
END_VERSIONS
"""

stub:
"""
mkdir -p caller/

vcf_template='##fileformat=VCFv4.1
##contig=<ID=.>
#CHROM POS ID REF ALT QUAL FILTER INFO
. . . . . . .
'

echo \${vcf_template} | gzip -c > caller/${meta.tumor_id}.esvee.unfiltered.vcf.gz
echo \${vcf_template} | gzip -c > caller/${meta.tumor_id}.esvee.somatic.vcf.gz

touch caller/${meta.tumor_id}.esvee.unfiltered.vcf.gz.tbi
touch caller/${meta.tumor_id}.esvee.somatic.vcf.gz.tbi

${ (meta.normal_id != null) ? "touch caller/${meta.tumor_id}.esvee.germline.vcf.gz" : '' }
${ (meta.normal_id != null) ? "touch caller/${meta.tumor_id}.esvee.germline.vcf.gz.tbi" : '' }

echo -e '${task.process}:\\n stub: noversions\\n' > versions.yml
"""
}
Loading