Skip to content

Commit edb52a6

Browse files
authored
Merge pull request #12 from icgc-argo/sanger-wxs-variant-calling@3.1.6-3.3.0
[release]
2 parents b6bf466 + 8c9f01d commit edb52a6

20 files changed

Lines changed: 365 additions & 141 deletions

File tree

sanger-wxs-variant-calling/main.nf

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
nextflow.enable.dsl = 2
33
name = 'sanger-wxs-variant-calling'
44
short_name = 'sanger-wxs'
5-
version = '3.1.6-3.2.1'
5+
version = '3.1.6-3.3.0'
66

77

88
/*
@@ -127,6 +127,8 @@ params.cleanup = true
127127

128128
params.cpus = 1
129129
params.mem = 1
130+
params.max_retries = 5 // set to 0 will disable retry
131+
params.first_retry_wait_time = 1 // in seconds
130132

131133
params.download = [:]
132134
params.generateBas = [:]
@@ -140,6 +142,8 @@ params.uploadVariant = [:]
140142
params.extractSangerCall = [:]
141143

142144
download_params = [
145+
'max_retries': params.max_retries,
146+
'first_retry_wait_time': params.first_retry_wait_time,
143147
'song_url': params.song_url,
144148
'score_url': params.score_url,
145149
'api_token': params.api_token,
@@ -203,6 +207,9 @@ payloadGenVariantCall_params = [
203207
upload_params = [
204208
'cpus': params.cpus,
205209
'mem': params.mem,
210+
'max_retries': params.max_retries,
211+
'publish_dir': params.publish_dir,
212+
'first_retry_wait_time': params.first_retry_wait_time,
206213
'song_url': params.song_url,
207214
'score_url': params.score_url,
208215
'api_token': params.api_token,
@@ -211,7 +218,7 @@ upload_params = [
211218

212219

213220
// Include all modules and pass params
214-
include { songScoreDownload as dnldT; songScoreDownload as dnldN } from './song-score-utils/song-score-download' params(download_params)
221+
include { SongScoreDownload as dnldT; SongScoreDownload as dnldN } from './wfpr_modules/github.com/icgc-argo/nextflow-data-processing-utility-tools/song-score-download@2.6.1/main.nf' params(download_params)
215222
include { generateBas as basT; generateBas as basN; } from './modules/raw.githubusercontent.com/icgc-argo/variant-calling-tools/generate-bas.0.2.1.0/tools/generate-bas/generate-bas' params(generateBas_params)
216223
include { sangerWxsVariantCaller as sangerWxs } from './modules/raw.githubusercontent.com/icgc-argo/variant-calling-tools/sanger-wxs-variant-caller.3.1.6-3/tools/sanger-wxs-variant-caller/sanger-wxs-variant-caller.nf' params(sangerWxsVariantCaller_params)
217224
include { repackSangerResults as repack } from './modules/raw.githubusercontent.com/icgc-argo/variant-calling-tools/repack-sanger-results.0.2.0.0/tools/repack-sanger-results/repack-sanger-results' params(repackSangerResults_params)
@@ -220,7 +227,7 @@ include { prepSangerSupplement as prepSupp } from './modules/raw.githubuserconte
220227
include { prepSangerQc as prepQc } from './modules/raw.githubusercontent.com/icgc-argo/variant-calling-tools/prep-sanger-qc.0.1.2.0/tools/prep-sanger-qc/prep-sanger-qc' params(prepSangerQc_params)
221228
include { extractFilesFromTarball as extractVarSnv; extractFilesFromTarball as extractVarIndel; extractFilesFromTarball as extractQC } from './modules/raw.githubusercontent.com/icgc-argo/data-processing-utility-tools/extract-files-from-tarball.0.2.0.0/tools/extract-files-from-tarball/extract-files-from-tarball' params(extractSangerCall_params)
222229
include { payloadGenVariantCalling as pGenVarSnv; payloadGenVariantCalling as pGenVarIndel; payloadGenVariantCalling as pGenVarSupp; payloadGenVariantCalling as pGenQc } from "./modules/raw.githubusercontent.com/icgc-argo/data-processing-utility-tools/payload-gen-variant-calling.0.3.6.0/tools/payload-gen-variant-calling/payload-gen-variant-calling" params(payloadGenVariantCall_params)
223-
include { songScoreUpload as upSnv; songScoreUpload as upIndel; songScoreUpload as upQc; songScoreUpload as upSupp} from './song-score-utils/song-score-upload' params(upload_params)
230+
include { SongScoreUpload as upSnv; SongScoreUpload as upIndel; SongScoreUpload as upQc; SongScoreUpload as upSupp} from './wfpr_modules/github.com/icgc-argo/nextflow-data-processing-utility-tools/song-score-upload@2.6.1/main.nf' params(upload_params)
224231
include { cleanupWorkdir as cleanup } from './wfpr_modules/github.com/icgc-argo/data-processing-utility-tools/cleanup-workdir@1.0.0/main'
225232
include { getSecondaryFiles } from './wfpr_modules/github.com/icgc-argo/data-processing-utility-tools/helper-functions@1.0.0/main'
226233
include { payloadAddUniformIds as pAddIdT; payloadAddUniformIds as pAddIdN } from './wfpr_modules/github.com/icgc-argo/data-processing-utility-tools/payload-add-uniform-ids@0.1.1/main'
@@ -253,13 +260,13 @@ workflow SangerWxs {
253260
dnldT(study_id, tumour_aln_analysis_id)
254261
tumour_aln_seq = dnldT.out.files.flatten().first()
255262
tumour_aln_seq_idx = dnldT.out.files.flatten().last()
256-
tumour_aln_meta = dnldT.out.song_analysis
263+
tumour_aln_meta = dnldT.out.analysis_json
257264

258265
// download normal aligned seq and metadata from song/score (analysis type: sequencing_alignment)
259266
dnldN(study_id, normal_aln_analysis_id)
260267
normal_aln_seq = dnldN.out.files.flatten().first()
261268
normal_aln_seq_idx = dnldN.out.files.flatten().last()
262-
normal_aln_meta = dnldN.out.song_analysis
269+
normal_aln_meta = dnldN.out.analysis_json
263270
} else if (
264271
!tumour_aln_metadata.startsWith('NO_FILE') && \
265272
!tumour_aln_cram.startsWith('NO_FILE') && \

sanger-wxs-variant-calling/pkg.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sanger-wxs-variant-calling",
3-
"version": "3.1.6-3.2.1",
3+
"version": "3.1.6-3.3.0",
44
"description": "ICGC ARGO Sanger WXS Variant Calling Workflow",
55
"main": "main.nf",
66
"deprecated": false,
@@ -16,7 +16,9 @@
1616
"dependencies": [
1717
"github.com/icgc-argo/data-processing-utility-tools/payload-add-uniform-ids@0.1.1",
1818
"github.com/icgc-argo/data-processing-utility-tools/helper-functions@1.0.0",
19-
"github.com/icgc-argo/data-processing-utility-tools/cleanup-workdir@1.0.0"
19+
"github.com/icgc-argo/data-processing-utility-tools/cleanup-workdir@1.0.0",
20+
"github.com/icgc-argo/nextflow-data-processing-utility-tools/song-score-download@2.6.1",
21+
"github.com/icgc-argo/nextflow-data-processing-utility-tools/song-score-upload@2.6.1"
2022
],
2123
"devDependencies": [],
2224
"contributors": [

sanger-wxs-variant-calling/song-score-utils

Lines changed: 0 additions & 1 deletion
This file was deleted.

sanger-wxs-variant-calling/tests/local-test-1.nf.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"study_id": "TEST-PR",
33
"tumour_aln_analysis_id": "03905962-f1e1-41e8-9059-62f1e1c1e8fc",
44
"normal_aln_analysis_id": "9940db0f-c100-496a-80db-0fc100d96ac1",
5+
"max_retries": 3,
6+
"first_retry_wait_time": 5,
57
"cleanup": false,
68
"song_url": "https://song.rdpc-qa.cancercollaboratory.org",
79
"score_url": "https://score.rdpc-qa.cancercollaboratory.org",

song-score-utils/song-score-download.nf

Lines changed: 0 additions & 56 deletions
This file was deleted.

song-score-utils/song-score-upload.nf

Lines changed: 0 additions & 77 deletions
This file was deleted.

modules/raw.githubusercontent.com/icgc-argo/nextflow-data-processing-utility-tools/2.3.0/process/score_download.nf renamed to wfpr_modules/github.com/icgc-argo/nextflow-data-processing-utility-tools/song-score-download@2.6.1/local_modules/score-download.nf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ nextflow.enable.dsl=2
55
params.cpus = 8
66
params.mem = 20
77

8+
params.publish_dir = ""
9+
10+
params.max_retries = 5 // set to 0 will disable retry
11+
params.first_retry_wait_time = 1 // in seconds
12+
813
// required params w/ default
914
params.container_version = "5.0.0"
1015
params.transport_mem = 2 // Transport memory is in number of GBs
@@ -18,12 +23,19 @@ params.api_token = "" // song/score API token for download process
1823

1924
// TODO: Replace with score container once it can download files via analysis_id
2025
process scoreDownload {
26+
maxRetries params.max_retries
27+
errorStrategy {
28+
sleep(Math.pow(2, task.attempt) * params.first_retry_wait_time * 1000 as long); // backoff time increases exponentially before each retry
29+
return params.max_retries ? 'retry' : 'finish'
30+
}
31+
2132
pod = [secret: workflow.runName + "-secret", mountPath: "/tmp/rdpc_secret"]
2233

2334
cpus params.cpus
2435
memory "${params.mem} GB"
2536

2637
container "overture/score:${params.container_version}"
38+
publishDir "${params.publish_dir}/${task.process.replaceAll(':', '_')}", mode: "copy", enabled: params.publish_dir
2739

2840
label "scoreDownload"
2941
tag "${analysis_id}"

modules/raw.githubusercontent.com/icgc-argo/nextflow-data-processing-utility-tools/2.3.0/process/song_get_analysis.nf renamed to wfpr_modules/github.com/icgc-argo/nextflow-data-processing-utility-tools/song-score-download@2.6.1/local_modules/song-get-analysis.nf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ nextflow.enable.dsl=2
55
params.cpus = 1
66
params.mem = 1
77

8+
params.publish_dir = ""
9+
10+
params.max_retries = 5 // set to 0 will disable retry
11+
params.first_retry_wait_time = 1 // in seconds
12+
813
// required params w/ default
914
params.container_version = "4.2.1"
1015

@@ -16,12 +21,19 @@ params.api_token = "" // song/score API token for download process
1621
// --score_url score url for download process
1722

1823
process songGetAnalysis {
24+
maxRetries params.max_retries
25+
errorStrategy {
26+
sleep(Math.pow(2, task.attempt) * params.first_retry_wait_time * 1000 as long); // backoff time increases exponentially before each retry
27+
return params.max_retries ? 'retry' : 'finish'
28+
}
29+
1930
pod = [secret: workflow.runName + "-secret", mountPath: "/tmp/rdpc_secret"]
2031

2132
cpus params.cpus
2233
memory "${params.mem} GB"
2334

2435
container "overture/song-client:${params.container_version}"
36+
publishDir "${params.publish_dir}/${task.process.replaceAll(':', '_')}", mode: "copy", enabled: params.publish_dir
2537

2638
tag "${analysis_id}"
2739

0 commit comments

Comments
 (0)