Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
e6495c2
bump htslib/samtools to v1.24
matthdsm Jul 9, 2026
80961e7
bump samtools container
matthdsm Jul 9, 2026
7dd98af
Update snapshots - batch 1
matthdsm Jul 9, 2026
426a2d7
Update snapshots - batch 2
matthdsm Jul 10, 2026
bf7cfdd
Fix linting
matthdsm Jul 10, 2026
3424922
Update snapshots - batch 3
matthdsm Jul 10, 2026
8a23917
Merge branch 'master' into bump/samtools-1.24
matthdsm Jul 10, 2026
48e51b6
subwf fixes
matthdsm Jul 10, 2026
ee43204
[automated] Update gpu snapshot
nf-core-bot Jul 10, 2026
1047796
fix linting
matthdsm Jul 10, 2026
1fa2693
more subwf snapshots
matthdsm Jul 10, 2026
049dab3
Merge branch 'master' into bump/samtools-1.24
matthdsm Jul 10, 2026
3309f39
migrate poolsnp to topic
matthdsm Jul 10, 2026
5496336
bam2fq: gzip -> bgzip
matthdsm Jul 10, 2026
098394a
bam2fq: gzip -> bgzip
matthdsm Jul 10, 2026
b5b727e
fix linting
maxulysse Jul 10, 2026
183b01c
add bgzip version
maxulysse Jul 10, 2026
7eb4c64
fix linting
maxulysse Jul 10, 2026
6b6a06b
[automated] Update gpu snapshot
nf-core-bot Jul 10, 2026
e744604
Merge branch 'master' into bump/samtools-1.24
maxulysse Jul 10, 2026
f28bd50
update conda too
maxulysse Jul 10, 2026
36db531
fix poolsnp versions
maxulysse Jul 10, 2026
52148da
code polish
maxulysse Jul 10, 2026
dad5c87
regenerate markdup test
maxulysse Jul 10, 2026
55fa43a
Update modules/nf-core/samtools/samples/environment.yml
maxulysse Jul 10, 2026
21d036a
typo
maxulysse Jul 10, 2026
4c27122
Include xz
maxulysse Jul 10, 2026
6a6d890
update sexdeterrmine and bam_sort_stats_samtools
maxulysse Jul 10, 2026
2c6988e
sexdeterrmine
maxulysse Jul 10, 2026
c76adbb
fix leehom tests
maxulysse Jul 10, 2026
2dbe191
update snapshots for bam_dedup_stats_samtools_umitools
maxulysse Jul 10, 2026
dd16867
Merge branch 'master' into bump/samtools-1.24
maxulysse Jul 10, 2026
be5e235
fix bgzip stub usage
maxulysse Jul 10, 2026
b369384
typo
maxulysse Jul 10, 2026
47f2335
refactor tests for more consistency
maxulysse Jul 10, 2026
87ac1ea
code polish
maxulysse Jul 10, 2026
17a9131
better assertions
maxulysse Jul 10, 2026
6388028
samtools/fasta
maxulysse Jul 10, 2026
d1f473f
Merge branch 'master' into bump/samtools-1.24
maxulysse Jul 10, 2026
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
5 changes: 4 additions & 1 deletion modules/nf-core/leehom/tests/main.nf.test
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@ nextflow_process {
then {
assertAll(
{ assert process.success },
{ assert snapshot(sanitizeOutput(process.out)).match() }
{ assert snapshot(
process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()},
sanitizeOutput(process.out, unstableKeys:["bam"])
).match() }
)
}
}
Expand Down
11 changes: 7 additions & 4 deletions modules/nf-core/leehom/tests/main.nf.test.snap
Original file line number Diff line number Diff line change
Expand Up @@ -229,14 +229,17 @@
},
"homo_sapiens - bam": {
"content": [
[
"test.bam:readsMD5,ef014d5b0cd0903595da255cdce79662"
],
{
"bam": [
[
{
"id": "test",
"single_end": false
},
"test.bam:md5,0e930ebbfaf81be6b04aa3d9e37c875f"
"test.bam"
]
],
"fq_fail": [
Expand Down Expand Up @@ -275,10 +278,10 @@
]
}
],
"timestamp": "2026-06-08T17:36:05.760003668",
"timestamp": "2026-07-10T14:34:56.225495163",
"meta": {
"nf-test": "0.9.4",
"nextflow": "26.03.0"
"nf-test": "0.9.5",
"nextflow": "26.04.4"
}
},
"sarscov2 - fastq single end - stub": {
Expand Down
36 changes: 13 additions & 23 deletions modules/nf-core/poolsnp/main.nf
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
process POOLSNP {
tag "$meta.id"
tag "${meta.id}"
label 'process_medium'
// WARN: Version information not provided by tool on CLI. Please update version string below when bumping container versions.
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/poolsnp:1.0.1--py312h7e72e81_0':
'quay.io/biocontainers/poolsnp:1.0.1--py312h7e72e81_0' }"
container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container
? 'https://depot.galaxyproject.org/singularity/poolsnp:1.0.1--py312h7e72e81_0'
: 'quay.io/biocontainers/poolsnp:1.0.1--py312h7e72e81_0'}"

input:
tuple val(meta) , path(mpileup)
tuple val(meta), path(mpileup)
tuple val(meta2), path(reference)
tuple val(meta3), val(max_cov), path(max_cov_file)

output:
tuple val(meta), path("*.vcf.gz") , emit: vcf
tuple val(meta), path("*cov-*.txt"), emit: max_cov , optional: true
tuple val(meta), path("*.vcf.gz"), emit: vcf
tuple val(meta), path("*cov-*.txt"), emit: max_cov, optional: true
tuple val(meta), path("*BS.txt.gz"), emit: bad_sites, optional: true
path "versions.yml" , emit: versions
// WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
tuple val("${task.process}"), val('poolsnp'), eval("echo 1.0.1"), topic: versions, emit: versions_poolsnp

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

script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
def VERSION = '1.0.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
assert (!max_cov && max_cov_file) || (max_cov && !max_cov_file)

"""
Expand All @@ -35,28 +35,18 @@ process POOLSNP {
reference=\$PWD/${reference} \\
jobs=${task.cpus} \\
max-cov=${max_cov ? "${max_cov}" : "\$PWD/${max_cov_file}"} \\
$args

cat <<-END_VERSIONS > versions.yml
${task.process}:
poolsnp: "${VERSION}"
END_VERSIONS
${args}
"""

stub:
def prefix = task.ext.prefix ?: "${meta.id}"
def VERSION = '1.0.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
assert (!max_cov && max_cov_file) || (max_cov && !max_cov_file)

"""
echo "##fileformat=VCFv4.2" > ${prefix}.vcf
echo "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO" >> ${prefix}.vcf
gzip ${prefix}.vcf
${max_cov ? "touch ${prefix}_cov-${max_cov}.txt" : ""}
echo "" | gzip > ${prefix}_BS.txt.gz

cat <<-END_VERSIONS > versions.yml
${task.process}:
poolsnp: "${VERSION}"
END_VERSIONS
"""
}
51 changes: 32 additions & 19 deletions modules/nf-core/poolsnp/meta.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json
name: "poolsnp"
description: PoolSNP is a heuristic SNP caller, which uses an MPILEUP file and a reference
genome in FASTA format as inputs.
description: PoolSNP is a heuristic SNP caller, which uses an MPILEUP file and a
reference genome in FASTA format as inputs.
keywords:
- poolseq
- mpileup
Expand All @@ -12,9 +11,9 @@ tools:
a reference genome in FASTA format as inputs."
homepage: "https://github.com/capoony/PoolSNP"
documentation: "https://github.com/capoony/PoolSNP/blob/master/README.md"
licence: ["Apache-2.0"]
licence:
- "Apache-2.0"
args_id: "$args"

identifier: ""
input:
- - meta:
Expand Down Expand Up @@ -77,11 +76,11 @@ output:
e.g. `[ id:'sample1', single_end:false ]`
- "*.vcf.gz":
type: file
description: Gzipped VCF file containing allele counts and frequencies for
every position and library
description: Gzipped VCF file containing allele counts and frequencies
for every position and library
pattern: "*.vcf.gz"
ontologies:
- edam: http://edamontology.org/format_3989 # GZIP format
- edam: http://edamontology.org/format_3989
max_cov:
- - meta:
type: map
Expand All @@ -90,8 +89,8 @@ output:
e.g. `[ id:'sample1', single_end:false ]`
- "*cov-*.txt":
type: file
description: File containing the maximum coverage thresholds for all chromosomal
arms and libraries
description: File containing the maximum coverage thresholds for all
chromosomal arms and libraries
pattern: "*cov-*.txt"
ontologies: []
bad_sites:
Expand All @@ -102,19 +101,33 @@ output:
e.g. `[ id:'sample1', single_end:false ]`
- "*BS.txt.gz":
type: file
description: File containing a list of sites (variable and invariable) that
did not pass the SNP calling criteria
description: File containing a list of sites (variable and invariable)
that did not pass the SNP calling criteria
pattern: "*BS.txt.gz"
optional: true
ontologies:
- edam: http://edamontology.org/format_3989 # GZIP format
- edam: http://edamontology.org/format_3989
versions_poolsnp:
- - ${task.process}:
type: string
description: The name of the process
- poolsnp:
type: string
description: The name of the tool
- echo 1.0.1:
type: eval
description: The expression to obtain the version of the tool
topics:
versions:
- versions.yml:
type: file
description: File containing software versions
pattern: "versions.yml"
ontologies:
- edam: http://edamontology.org/format_3750 # YAML
- - ${task.process}:
type: string
description: The name of the process
- poolsnp:
type: string
description: The name of the tool
- echo 1.0.1:
type: eval
description: The expression to obtain the version of the tool
authors:
- "@abhilesh"
maintainers:
Expand Down
49 changes: 15 additions & 34 deletions modules/nf-core/poolsnp/tests/main.nf.test
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,7 @@ nextflow_process {
[ id:'test' ],
file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
]
input[2] = [
[ id:'test' ],
0.7,
[]
]
input[2] = [ [ id:'test' ], 0.7, [] ]
"""
}
}
Expand All @@ -54,11 +50,10 @@ nextflow_process {
assertAll(
{ assert process.success },
{ assert snapshot(
process.out.versions,
path(process.out.vcf[0][1]).vcf.variantsMD5,
process.out.max_cov
).match()
}
process.out.vcf.collect{meta, vcf -> file(vcf).name + ':variantsMD5,' + path(vcf).vcf.variantsMD5},
process.out.max_cov,
process.out.findAll { key, val -> key.startsWith("versions")}
).match() }
)
}
}
Expand All @@ -73,10 +68,10 @@ nextflow_process {
[ id:'test' ],
file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
]
input[2] = Channel.of([
input[2] = channel.of([
[ id:'test' ],
'',
]).combine( Channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true ))
]).combine(channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true ))
"""
}
}
Expand All @@ -85,10 +80,9 @@ nextflow_process {
assertAll(
{ assert process.success },
{ assert snapshot(
process.out.versions,
path(process.out.vcf[0][1]).vcf.variantsMD5
).match()
}
process.out.vcf.collect{meta, vcf -> file(vcf).name + ':variantsMD5,' + path(vcf).vcf.variantsMD5},
process.out.findAll { key, val -> key.startsWith("versions")}
).match() }
)
}
}
Expand All @@ -105,24 +99,15 @@ nextflow_process {
[ id:'test' ],
file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
]
input[2] = [
[ id:'test' ], // meta map
0.7,
[]
]
input[2] = [ [ id:'test' ], 0.7, [] ]
"""
}
}

then {
assertAll(
{ assert process.success },
{ assert snapshot(
process.out.versions,
path(process.out.vcf[0][1]).vcf.variantsMD5,
process.out.max_cov
).match()
}
{ assert snapshot(sanitizeOutput(process.out)).match() }
)
}
}
Expand All @@ -139,22 +124,18 @@ nextflow_process {
[ id:'test' ],
file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
]
input[2] = Channel.of([
input[2] = channel.of([
[ id:'test' ],
'',
]).combine( Channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true ))
]).combine(channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true ))
"""
}
}

then {
assertAll(
{ assert process.success },
{ assert snapshot(
process.out.versions,
path(process.out.vcf[0][1]).vcf.variantsMD5
).match()
}
{ assert snapshot(sanitizeOutput(process.out)).match() }
)
}
}
Expand Down
Loading
Loading