Skip to content

Commit 461ab54

Browse files
Merge pull request #48 from RaqManzano/strelka-vep-cnaqc-patch
Strelka vep cnaqc patch
2 parents 3a74b3b + 5fc0aa6 commit 461ab54

File tree

7 files changed

+38
-36
lines changed

7 files changed

+38
-36
lines changed

conf/modules/cnaqc.config

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,27 @@ process {
99
]
1010
ext.args = {
1111
[
12-
"matching_strategy": params.cnaqc_matching_strategy,
13-
"karyotypes": params.cnaqc_karyotypes,
14-
"min_karyotype_size":params.cnaqc_min_karyotype_size,
15-
"min_absolute_karyotype_mutations":params.cnaqc_min_absolute_karyotype_mutations,
16-
"p_binsize_peaks":params.cnaqc_p_binsize_peaks,
17-
"matching_epsilon":params.cnaqc_matching_epsilon,
18-
"purity_error":params.cnaqc_purity_error,
19-
"vaf_tolerance":params.cnaqc_vaf_tolerance,
20-
"n_bootstrap":params.cnaqc_n_bootstrap,
21-
"kernel_adjust":params.cnaqc_kernel_adjust,
22-
"kde":params.cnaqc_kde,
23-
"starting_state_subclonal_evolution":params.cnaqc_starting_state_subclonal_evolution,
24-
"cluster_subclonal_CCF":params.cnaqc_cluster_subclonal_ccf,
25-
"muts_per_karyotype":params.cnaqc_muts_per_karyotype,
26-
"cutoff_QC_PASS":params.cnaqc_cutoff_qc_pass,
27-
"method":params.cnaqc_method,
28-
"plot_cn":params.cnaqc_plot_cn
29-
]
12+
"--genome ${params.genome}",
13+
"--matching_strategy ${params.cnaqc_matching_strategy}",
14+
"--karyotypes ${params.cnaqc_karyotypes}",
15+
"--min_karyotype_size ${params.cnaqc_min_karyotype_size}",
16+
"--min_absolute_karyotype_mutations ${params.cnaqc_min_absolute_karyotype_mutations}",
17+
"--p_binsize_peaks ${params.cnaqc_p_binsize_peaks}",
18+
(params.cnaqc_matching_epsilon ? "--matching_epsilon ${params.cnaqc_matching_epsilon}" : ""),
19+
"--purity_error ${params.cnaqc_purity_error}",
20+
"--VAF_tolerance ${params.cnaqc_vaf_tolerance}",
21+
"--n_bootstrap ${params.cnaqc_n_bootstrap}",
22+
"--kernel_adjust ${params.cnaqc_kernel_adjust}",
23+
"--KDE ${params.cnaqc_kde}",
24+
"--starting_state_subclonal_evolution ${params.cnaqc_starting_state_subclonal_evolution}",
25+
"--cluster_subclonal_CCF ${params.cnaqc_cluster_subclonal_ccf}",
26+
"--muts_per_karyotype ${params.cnaqc_muts_per_karyotype}",
27+
"--cutoff_QC_PASS ${params.cnaqc_cutoff_qc_pass}",
28+
"--method ${params.cnaqc_method}"
29+
]
30+
.findAll { it } // remove empty strings
31+
.join(' ') // join into CLI string
32+
.trim()
3033
}
3134
}
3235

conf/modules/ensemblvep.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
process {
22
withName: 'ENSEMBLVEP_VEP'{
33
ext.args = { "--plugin SingleLetterAA --force --no_stats --everything --use_given_ref --cache --offline --vcf --compress_output bgzip" }
4-
4+
ext.prefix = { "${meta.id}.annotated" }
55
publishDir = [
66
[
77
mode: params.publish_dir_mode,

modules/local/join_cnaqc/main.nf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ process JOIN_CNAQC {
99
'biocontainers/r-cnaqc:1.1.2--r44hdfd78af_0' }"
1010

1111
input:
12-
tuple val(meta), path(rds_list, stageAs: '*.rds'), val(tumour_samples)
12+
tuple val(meta), path(rds_list, stageAs: 'input*.rds'), val(tumour_samples)
1313

1414
output:
1515
tuple val(meta), path("*ALL.rds"), val(tumour_samples), emit: rds_all, optional: true

modules/local/vcf2cnaqc/templates/main_script.R

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,21 +157,25 @@ retrieve_ref_alt = function(row){
157157
if (ref == 'T'){NR=as.integer(strsplit(row[["gt_TU"]], split=',')[[1]][1])}
158158
if (ref == 'G'){NR=as.integer(strsplit(row[["gt_GU"]], split=',')[[1]][1])}
159159
if (ref == 'C'){NR=as.integer(strsplit(row[["gt_CU"]], split=',')[[1]][1])}
160-
if (nchar(ref) > 1 | nchar(alt) > 0 ){NR=as.integer(strsplit(row[["gt_TAR"]], split=',')[[1]][1])}
160+
if (nchar(ref) > 1 | nchar(alt) > 1 ){NR=as.integer(strsplit(row[["gt_TAR"]], split=',')[[1]][1])}
161161

162162
if (alt == 'A'){NV=as.integer(strsplit(row[["gt_AU"]], split=',')[[1]][1])}
163163
if (alt == 'T'){NV=as.integer(strsplit(row[["gt_TU"]], split=',')[[1]][1])}
164164
if (alt == 'G'){NV=as.integer(strsplit(row[["gt_GU"]], split=',')[[1]][1])}
165165
if (alt == 'C'){NV=as.integer(strsplit(row[["gt_GU"]], split=',')[[1]][1])}
166-
if (nchar(ref) > 1 | nchar(alt) > 0 ){NV=as.integer(strsplit(row[["gt_TIR"]], split=',')[[1]][1])}
166+
if (nchar(ref) > 1 | nchar(alt) > 1 ){NV=as.integer(strsplit(row[["gt_TIR"]], split=',')[[1]][1])}
167167

168168
ref_alt = paste0(NR, ',', NV)
169169
ref_alt
170170
}
171171

172172
parse_Strelka = function(vcf, tumour_id, normal_id){
173+
173174
tb = vcfR::vcfR2tidy(vcf)
174-
gt_field = tb[["gt"]] %>% rename(sample = Indiv)
175+
# Strelka tumour_id and normal_id is TUMOR and NORMAL, change to tumour_id/normal_id
176+
gt_field = tb[["gt"]] %>%
177+
dplyr::mutate(sample = ifelse(Indiv=="TUMOR", tumour_id, normal_id)) %>%
178+
dplyr::select(-Indiv)
175179

176180
fix_field = tb[["fix"]] %>%
177181
dplyr::rename(

nextflow.config

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ params {
5151
cnaqc_muts_per_karyotype = "25"
5252
cnaqc_cutoff_qc_pass = "0.1"
5353
cnaqc_method = "ENTROPY"
54-
cnaqc_plot_cn = "absolute"
5554

5655
// join_CNAqc
5756
joincnaqc_qc_filter = "FALSE"

nextflow_schema.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,6 @@
206206
"type": "string",
207207
"default": "ENTROPY",
208208
"description": "Either \"ENTROPY\" (default) or \"ROUGH\", to reflect the two different algorithms to compute CCF."
209-
},
210-
"cnaqc_plot_cn": {
211-
"type": "string",
212-
"default": "absolute"
213209
}
214210
},
215211
"fa_icon": "fas fa-briefcase"

tests/default.nf.test.snap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -402,25 +402,25 @@
402402
"variant_annotation/vep/SCOUT",
403403
"variant_annotation/vep/SCOUT/SPN01_MS",
404404
"variant_annotation/vep/SCOUT/SPN01_MS/SPN01_100X_0.9p_Sample_B",
405-
"variant_annotation/vep/SCOUT/SPN01_MS/SPN01_100X_0.9p_Sample_B/SCOUT_SPN01_MS_SPN01_100X_0.9p_Sample_B.vep.vcf.gz",
405+
"variant_annotation/vep/SCOUT/SPN01_MS/SPN01_100X_0.9p_Sample_B/SCOUT_SPN01_MS_SPN01_100X_0.9p_Sample_B.annotated.vep.vcf.gz",
406406
"variant_annotation/vep/SCOUT/SPN01_MS/SPN01_100X_0.9p_Sample_C",
407-
"variant_annotation/vep/SCOUT/SPN01_MS/SPN01_100X_0.9p_Sample_C/SCOUT_SPN01_MS_SPN01_100X_0.9p_Sample_C.vep.vcf.gz",
407+
"variant_annotation/vep/SCOUT/SPN01_MS/SPN01_100X_0.9p_Sample_C/SCOUT_SPN01_MS_SPN01_100X_0.9p_Sample_C.annotated.vep.vcf.gz",
408408
"variant_annotation/vep/SCOUT/SPN01_SS",
409409
"variant_annotation/vep/SCOUT/SPN01_SS/SPN01_100X_0.9p_Sample_B",
410-
"variant_annotation/vep/SCOUT/SPN01_SS/SPN01_100X_0.9p_Sample_B/SCOUT_SPN01_SS_SPN01_100X_0.9p_Sample_B.vep.vcf.gz",
410+
"variant_annotation/vep/SCOUT/SPN01_SS/SPN01_100X_0.9p_Sample_B/SCOUT_SPN01_SS_SPN01_100X_0.9p_Sample_B.annotated.vep.vcf.gz",
411411
"variant_annotation/vep/SCOUT/SPN01_SS/SPN01_100X_0.9p_Sample_C",
412-
"variant_annotation/vep/SCOUT/SPN01_SS/SPN01_100X_0.9p_Sample_C/SCOUT_SPN01_SS_SPN01_100X_0.9p_Sample_C.vep.vcf.gz",
412+
"variant_annotation/vep/SCOUT/SPN01_SS/SPN01_100X_0.9p_Sample_C/SCOUT_SPN01_SS_SPN01_100X_0.9p_Sample_C.annotated.vep.vcf.gz",
413413
"variant_annotation/vep/SCOUT/SPN01_SS_nobam",
414414
"variant_annotation/vep/SCOUT/SPN01_SS_nobam/SPN01_100X_0.9p_Sample_B",
415-
"variant_annotation/vep/SCOUT/SPN01_SS_nobam/SPN01_100X_0.9p_Sample_B/SCOUT_SPN01_SS_nobam_SPN01_100X_0.9p_Sample_B.vep.vcf.gz",
415+
"variant_annotation/vep/SCOUT/SPN01_SS_nobam/SPN01_100X_0.9p_Sample_B/SCOUT_SPN01_SS_nobam_SPN01_100X_0.9p_Sample_B.annotated.vep.vcf.gz",
416416
"variant_annotation/vep/SCOUT/SPN01_SS_nobam/SPN01_100X_0.9p_Sample_C",
417-
"variant_annotation/vep/SCOUT/SPN01_SS_nobam/SPN01_100X_0.9p_Sample_C/SCOUT_SPN01_SS_nobam_SPN01_100X_0.9p_Sample_C.vep.vcf.gz"
417+
"variant_annotation/vep/SCOUT/SPN01_SS_nobam/SPN01_100X_0.9p_Sample_C/SCOUT_SPN01_SS_nobam_SPN01_100X_0.9p_Sample_C.annotated.vep.vcf.gz"
418418
]
419419
],
420420
"meta": {
421-
"nf-test": "0.9.2",
421+
"nf-test": "0.9.3",
422422
"nextflow": "25.10.0"
423423
},
424-
"timestamp": "2025-11-27T18:15:57.280765533"
424+
"timestamp": "2025-12-03T12:27:15.814144"
425425
}
426426
}

0 commit comments

Comments
 (0)