Skip to content

Commit 02affeb

Browse files
committed
Improve publishDir logic
1 parent e6dfea9 commit 02affeb

File tree

4 files changed

+64
-32
lines changed

4 files changed

+64
-32
lines changed

conf/modules.config

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,20 @@ process {
2222
ext.args = '--quiet'
2323
}
2424

25-
withName: 'MULTIQC' {
25+
withName: 'MULTIQC_GLOBAL' {
2626
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
2727
publishDir = [
2828
path: { "${params.outdir}/multiqc" },
2929
mode: params.publish_dir_mode,
30+
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
31+
]
32+
}
33+
34+
withName: 'MULTIQC_PER_LANE' {
35+
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
36+
publishDir = [
37+
path: { "${params.outdir}/multiqc/lanes" },
38+
mode: params.publish_dir_mode,
3039
saveAs: {
3140
filename ->
3241
switch (filename) {
@@ -38,27 +47,62 @@ process {
3847
def new_filename = filename.replaceFirst(
3948
"(?<prefix>.*)\\[LANE:${lane}\\]_(?<suffix>multiqc_(report\\.html|plots|data).*)",
4049
'${prefix}${suffix}')
41-
"lanes/L${lane}/${new_filename}"
50+
"L${lane}/${new_filename}"
51+
break
52+
default:
53+
filename
54+
}
55+
}
56+
]
57+
}
58+
59+
withName: 'MULTIQC_PER_GROUP' {
60+
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
61+
publishDir = [
62+
path: { "${params.outdir}/multiqc/groups" },
63+
mode: params.publish_dir_mode,
64+
saveAs: {
65+
filename ->
66+
switch (filename) {
67+
case 'versions.yml':
68+
null
4269
break
4370
case ~/\[GROUP:.+\]_multiqc_(report\.html|plots|data)/:
4471
def group = (filename =~ /\[GROUP:(.+)\]_multiqc_(report\.html|plots|data)/)[0][1]
4572
def new_filename = filename.replaceFirst(
4673
"(?<prefix>.*)\\[GROUP:${group}\\]_(?<suffix>multiqc_(report\\.html|plots|data).*)",
4774
'${prefix}${suffix}')
48-
"groups/${group}/${new_filename}"
75+
"${group}/${new_filename}"
76+
break
77+
default:
78+
filename
79+
}
80+
}
81+
]
82+
}
83+
84+
withName: 'MULTIQC_PER_RUNDIR' {
85+
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
86+
publishDir = [
87+
path: { "${params.outdir}/multiqc/rundirss" },
88+
mode: params.publish_dir_mode,
89+
saveAs: {
90+
filename ->
91+
switch (filename) {
92+
case 'versions.yml':
93+
null
4994
break
5095
case ~/\[RUNDIR:.+\]_multiqc_(report\.html|plots|data)/:
5196
def rundir = (filename =~ /\[RUNDIR:(.+)\]_multiqc_(report\.html|plots|data)/)[0][1]
5297
def new_filename = filename.replaceFirst(
5398
"(?<prefix>.*)\\[RUNDIR:${rundir}\\]_(?<suffix>multiqc_(report\\.html|plots|data).*)",
5499
'${prefix}${suffix}')
55-
"rundirs/${rundir}/${new_filename}"
100+
"${rundir}/${new_filename}"
56101
break
57102
default:
58103
filename
59-
}
104+
}
60105
}
61106
]
62107
}
63-
64108
}

tests/MiSeq.main.nf.test.snap

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,16 @@
44
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
55
"multiqc_fastqc.txt:md5,692b8aed0614ed1655f2c1cbea1ba312",
66
"multiqc_general_stats.txt:md5,630167d67d3f92408cd1a04422c7196f",
7-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
7+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
88
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
99
"multiqc_fastqc.txt:md5,692b8aed0614ed1655f2c1cbea1ba312",
1010
"multiqc_general_stats.txt:md5,630167d67d3f92408cd1a04422c7196f",
11-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
11+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
1212
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
1313
"multiqc_fastqc.txt:md5,692b8aed0614ed1655f2c1cbea1ba312",
1414
"multiqc_general_stats.txt:md5,630167d67d3f92408cd1a04422c7196f",
15-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921"
15+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95"
1616
],
17-
"meta": {
18-
"nf-test": "0.8.4",
19-
"nextflow": "23.10.1"
20-
},
21-
"timestamp": "2024-05-17T12:59:21.531493"
17+
"timestamp": "2024-05-30T13:14:20.263485"
2218
}
2319
}

tests/NovaSeq6000.main.nf.test.snap

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,28 @@
44
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
55
"multiqc_fastqc.txt:md5,5ba3f4f4ec6026a5f5d55418384dcd3e",
66
"multiqc_general_stats.txt:md5,123cd6b64c9c15607405bcdd45a843d4",
7-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
7+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
88
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
99
"multiqc_fastqc.txt:md5,9b4fd8a6d6e8a9acabecd592f633472e",
1010
"multiqc_general_stats.txt:md5,8237b88ceb018d3cb1edcea62d10f4a2",
11-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
11+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
1212
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
1313
"multiqc_fastqc.txt:md5,9246a5b6b7b0410c79049fc3dbd08e92",
1414
"multiqc_general_stats.txt:md5,44328403f423c6f5ac9ee0a8a01e6725",
15-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
15+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
1616
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
1717
"multiqc_fastqc.txt:md5,84820276fae52d4d492831280ae6207c",
1818
"multiqc_general_stats.txt:md5,dd07799e5e4b9d389f9de49a852c3363",
19-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
19+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
2020
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
2121
"multiqc_fastqc.txt:md5,59ae05d89453da6f57010ffb6466f902",
2222
"multiqc_general_stats.txt:md5,e4629691992bfe639c01a84b90563334",
23-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
23+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
2424
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
2525
"multiqc_fastqc.txt:md5,5ba3f4f4ec6026a5f5d55418384dcd3e",
2626
"multiqc_general_stats.txt:md5,123cd6b64c9c15607405bcdd45a843d4",
27-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921"
27+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95"
2828
],
29-
"meta": {
30-
"nf-test": "0.8.4",
31-
"nextflow": "23.10.1"
32-
},
33-
"timestamp": "2024-05-17T13:02:20.874181"
29+
"timestamp": "2024-05-30T13:13:49.062282"
3430
}
3531
}

tests/PromethION.main.nf.test.snap

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,12 @@
44
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
55
"multiqc_fastqc.txt:md5,333360ff12007d64f2bf7673b0658bed",
66
"multiqc_general_stats.txt:md5,b1999255f9a502618d59be2f2e93bad2",
7-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921",
7+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95",
88
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
99
"multiqc_fastqc.txt:md5,333360ff12007d64f2bf7673b0658bed",
1010
"multiqc_general_stats.txt:md5,b1999255f9a502618d59be2f2e93bad2",
11-
"multiqc_software_versions.txt:md5,b1e01403f9bdaa81ebabd388d5f9a921"
11+
"multiqc_software_versions.txt:md5,7452f1f7aae2a8a4066c2ef6cd5ceb95"
1212
],
13-
"meta": {
14-
"nf-test": "0.8.4",
15-
"nextflow": "23.10.1"
16-
},
17-
"timestamp": "2024-05-17T12:58:02.572837"
13+
"timestamp": "2024-05-30T13:14:40.99246"
1814
}
1915
}

0 commit comments

Comments
 (0)