Skip to content

Commit

Permalink
Merge branch 'dev' into fresh-nf-test
Browse files Browse the repository at this point in the history
  • Loading branch information
maxulysse committed Oct 7, 2024
2 parents a87503c + e9f0fb9 commit b3b16cf
Show file tree
Hide file tree
Showing 13 changed files with 590 additions and 296 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed

- [1669](https://github.com/nf-core/sarek/pull/1669) - Better nf-test pipeline level tests
- [1675](https://github.com/nf-core/sarek/pull/1675) - Migrate pytest aligner tests to nf-test

### Fixed

Expand Down
74 changes: 74 additions & 0 deletions tests/aligner-bwa-mem.nf.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
nextflow_pipeline {

name "Test pipeline"
script "../main.nf"
tag "pipeline"
tag "pipeline_sarek"

test("Run with profile test | --aligner bwa-mem --save_reference | skip QC/recal/md") {

when {
params {
aligner = 'bwa-mem'
outdir = "$outputDir"
save_reference = true
skip_tools = 'baserecalibrator,fastqc,markduplicates,mosdepth,multiqc,samtools'
tools = ''
}
}

then {
// stable_name: All files + folders in ${params.outdir}/ with a stable name
def stable_name = getAllFilesFromDir(params.outdir, true, ['pipeline_info/*.{html,json,txt}'], null)
// stable_path: All files in ${params.outdir}/ with stable content
def stable_path = getAllFilesFromDir(params.outdir, false, null, 'tests/.nftignore')
assertAll(
{ assert workflow.success},
{ assert snapshot(
// Number of successful tasks
workflow.trace.succeeded().size(),
// pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions
removeNextflowVersion("$outputDir/pipeline_info/nf_core_sarek_software_mqc_versions.yml"),
// All stable path name, with a relative path
getRelativePath(stable_name, outputDir),
// All files with stable contents
stable_path
).match() }
)
}
}

test("Run with profile test | --aligner bwa-mem --save_reference --build_only_index") {

when {
params {
aligner = 'bwa-mem'
build_only_index = true
input = false
outdir = "$outputDir"
save_reference = true
tools = ''
}
}

then {
// stable_name: All files + folders in ${params.outdir}/ with a stable name
def stable_name = getAllFilesFromDir(params.outdir, true, ['pipeline_info/*.{html,json,txt}'], null)
// stable_path: All files in ${params.outdir}/ with stable content
def stable_path = getAllFilesFromDir(params.outdir, false, null, 'tests/.nftignore')
assertAll(
{ assert workflow.success},
{ assert snapshot(
// Number of successful tasks
workflow.trace.succeeded().size(),
// pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions
removeNextflowVersion("$outputDir/pipeline_info/nf_core_sarek_software_mqc_versions.yml"),
// All stable path name, with a relative path
getRelativePath(stable_name, outputDir),
// All files with stable contents
stable_path
).match() }
)
}
}
}
118 changes: 118 additions & 0 deletions tests/aligner-bwa-mem.nf.test.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
{
"Run with profile test | --aligner bwa-mem --save_reference | skip QC/recal/md": {
"content": [
10,
{
"BAM_TO_CRAM_MAPPING": {
"samtools": 1.21
},
"BWAMEM1_MEM": {
"bwa": "0.7.18-r1243-dirty",
"samtools": 1.2
},
"INDEX_MERGE_BAM": {
"samtools": 1.21
},
"MERGE_BAM": {
"samtools": 1.21
},
"Workflow": {
"nf-core/sarek": "v3.5.0dev"
}
},
[
"csv",
"csv/mapped.csv",
"pipeline_info",
"pipeline_info/nf_core_sarek_software_mqc_versions.yml",
"preprocessing",
"preprocessing/mapped",
"preprocessing/mapped/test",
"preprocessing/mapped/test/test.sorted.cram",
"preprocessing/mapped/test/test.sorted.cram.crai",
"reference",
"reference/bwa",
"reference/bwa/genome.amb",
"reference/bwa/genome.ann",
"reference/bwa/genome.bwt",
"reference/bwa/genome.pac",
"reference/bwa/genome.sa",
"reference/intervals",
"reference/intervals/chr22_1-40001.bed",
"reference/intervals/chr22_1-40001.bed.gz",
"reference/intervals/genome.bed",
"reference/intervals/genome.bed.gz"
],
[
"test.sorted.cram:md5,9b21ccf9b5c61996bf48ce9dc0a108c5",
"test.sorted.cram.crai:md5,169697ea55e0749cc4d8312c32d73946",
"genome.amb:md5,1891c1de381b3a96d4e72f590fde20c1",
"genome.ann:md5,2df4aa2d7580639fa0fcdbcad5e2e969",
"genome.bwt:md5,815eded87e4cb6b0f1daab5c4d6e30af",
"genome.pac:md5,8569fbdb2c98c6fb16dfa73d8eacb070",
"genome.sa:md5,e7cff62b919448a3a3d0fe4aaf427594",
"chr22_1-40001.bed:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"chr22_1-40001.bed.gz:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"genome.bed:md5,a87dc7d20ebca626f65cc16ff6c97a3e",
"genome.bed.gz:md5,a87dc7d20ebca626f65cc16ff6c97a3e"
]
],
"meta": {
"nf-test": "0.9.0",
"nextflow": "24.09.0"
},
"timestamp": "2024-10-07T10:17:55.189941"
},
"Run with profile test | --aligner bwa-mem --save_reference --build_only_index": {
"content": [
6,
{
"Workflow": {
"nf-core/sarek": "v3.5.0dev"
}
},
[
"csv",
"multiqc",
"multiqc/multiqc_data",
"multiqc/multiqc_data/multiqc.log",
"multiqc/multiqc_data/multiqc_citations.txt",
"multiqc/multiqc_data/multiqc_data.json",
"multiqc/multiqc_data/multiqc_software_versions.txt",
"multiqc/multiqc_data/multiqc_sources.txt",
"multiqc/multiqc_report.html",
"pipeline_info",
"pipeline_info/nf_core_sarek_software_mqc_versions.yml",
"reference",
"reference/bwa",
"reference/bwa/genome.amb",
"reference/bwa/genome.ann",
"reference/bwa/genome.bwt",
"reference/bwa/genome.pac",
"reference/bwa/genome.sa",
"reference/intervals",
"reference/intervals/chr22_1-40001.bed",
"reference/intervals/chr22_1-40001.bed.gz",
"reference/intervals/genome.bed",
"reference/intervals/genome.bed.gz"
],
[
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
"genome.amb:md5,1891c1de381b3a96d4e72f590fde20c1",
"genome.ann:md5,2df4aa2d7580639fa0fcdbcad5e2e969",
"genome.bwt:md5,815eded87e4cb6b0f1daab5c4d6e30af",
"genome.pac:md5,8569fbdb2c98c6fb16dfa73d8eacb070",
"genome.sa:md5,e7cff62b919448a3a3d0fe4aaf427594",
"chr22_1-40001.bed:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"chr22_1-40001.bed.gz:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"genome.bed:md5,a87dc7d20ebca626f65cc16ff6c97a3e",
"genome.bed.gz:md5,a87dc7d20ebca626f65cc16ff6c97a3e"
]
],
"meta": {
"nf-test": "0.9.0",
"nextflow": "24.09.0"
},
"timestamp": "2024-10-07T10:18:42.438866"
}
}
74 changes: 74 additions & 0 deletions tests/aligner-bwa-mem2.nf.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
nextflow_pipeline {

name "Test pipeline"
script "../main.nf"
tag "pipeline"
tag "pipeline_sarek"

test("Run with profile test | --aligner bwa-mem2 --save_reference | skip QC/recal/md") {

when {
params {
aligner = 'bwa-mem2'
outdir = "$outputDir"
save_reference = true
skip_tools = 'baserecalibrator,fastqc,markduplicates,mosdepth,multiqc,samtools'
tools = ''
}
}

then {
// stable_name: All files + folders in ${params.outdir}/ with a stable name
def stable_name = getAllFilesFromDir(params.outdir, true, ['pipeline_info/*.{html,json,txt}'], null)
// stable_path: All files in ${params.outdir}/ with stable content
def stable_path = getAllFilesFromDir(params.outdir, false, null, 'tests/.nftignore')
assertAll(
{ assert workflow.success},
{ assert snapshot(
// Number of successful tasks
workflow.trace.succeeded().size(),
// pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions
removeNextflowVersion("$outputDir/pipeline_info/nf_core_sarek_software_mqc_versions.yml"),
// All stable path name, with a relative path
getRelativePath(stable_name, outputDir),
// All files with stable contents
stable_path
).match() }
)
}
}

test("Run with profile test | --aligner bwa-mem2 --save_reference --build_only_index") {

when {
params {
aligner = 'bwa-mem2'
build_only_index = true
input = false
outdir = "$outputDir"
save_reference = true
tools = ''
}
}

then {
// stable_name: All files + folders in ${params.outdir}/ with a stable name
def stable_name = getAllFilesFromDir(params.outdir, true, ['pipeline_info/*.{html,json,txt}'], null)
// stable_path: All files in ${params.outdir}/ with stable content
def stable_path = getAllFilesFromDir(params.outdir, false, null, 'tests/.nftignore')
assertAll(
{ assert workflow.success},
{ assert snapshot(
// Number of successful tasks
workflow.trace.succeeded().size(),
// pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions
removeNextflowVersion("$outputDir/pipeline_info/nf_core_sarek_software_mqc_versions.yml"),
// All stable path name, with a relative path
getRelativePath(stable_name, outputDir),
// All files with stable contents
stable_path
).match() }
)
}
}
}
118 changes: 118 additions & 0 deletions tests/aligner-bwa-mem2.nf.test.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
{
"Run with profile test | --aligner bwa-mem2 --save_reference --build_only_index": {
"content": [
6,
{
"Workflow": {
"nf-core/sarek": "v3.5.0dev"
}
},
[
"csv",
"multiqc",
"multiqc/multiqc_data",
"multiqc/multiqc_data/multiqc.log",
"multiqc/multiqc_data/multiqc_citations.txt",
"multiqc/multiqc_data/multiqc_data.json",
"multiqc/multiqc_data/multiqc_software_versions.txt",
"multiqc/multiqc_data/multiqc_sources.txt",
"multiqc/multiqc_report.html",
"pipeline_info",
"pipeline_info/nf_core_sarek_software_mqc_versions.yml",
"reference",
"reference/bwamem2",
"reference/bwamem2/genome.fasta.0123",
"reference/bwamem2/genome.fasta.amb",
"reference/bwamem2/genome.fasta.ann",
"reference/bwamem2/genome.fasta.bwt.2bit.64",
"reference/bwamem2/genome.fasta.pac",
"reference/intervals",
"reference/intervals/chr22_1-40001.bed",
"reference/intervals/chr22_1-40001.bed.gz",
"reference/intervals/genome.bed",
"reference/intervals/genome.bed.gz"
],
[
"multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f",
"genome.fasta.0123:md5,d73300d44f733bcdb7c988fc3ff3e3e9",
"genome.fasta.amb:md5,1891c1de381b3a96d4e72f590fde20c1",
"genome.fasta.ann:md5,2df4aa2d7580639fa0fcdbcad5e2e969",
"genome.fasta.bwt.2bit.64:md5,cd4bdf496eab05228a50c45ee43c1ed0",
"genome.fasta.pac:md5,8569fbdb2c98c6fb16dfa73d8eacb070",
"chr22_1-40001.bed:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"chr22_1-40001.bed.gz:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"genome.bed:md5,a87dc7d20ebca626f65cc16ff6c97a3e",
"genome.bed.gz:md5,a87dc7d20ebca626f65cc16ff6c97a3e"
]
],
"meta": {
"nf-test": "0.9.0",
"nextflow": "24.09.0"
},
"timestamp": "2024-10-07T10:24:11.560414"
},
"Run with profile test | --aligner bwa-mem2 --save_reference | skip QC/recal/md": {
"content": [
10,
{
"BAM_TO_CRAM_MAPPING": {
"samtools": 1.21
},
"BWAMEM2_MEM": {
"bwamem2": "2.2.1",
"samtools": "1.19.2"
},
"INDEX_MERGE_BAM": {
"samtools": 1.21
},
"MERGE_BAM": {
"samtools": 1.21
},
"Workflow": {
"nf-core/sarek": "v3.5.0dev"
}
},
[
"csv",
"csv/mapped.csv",
"pipeline_info",
"pipeline_info/nf_core_sarek_software_mqc_versions.yml",
"preprocessing",
"preprocessing/mapped",
"preprocessing/mapped/test",
"preprocessing/mapped/test/test.sorted.cram",
"preprocessing/mapped/test/test.sorted.cram.crai",
"reference",
"reference/bwamem2",
"reference/bwamem2/genome.fasta.0123",
"reference/bwamem2/genome.fasta.amb",
"reference/bwamem2/genome.fasta.ann",
"reference/bwamem2/genome.fasta.bwt.2bit.64",
"reference/bwamem2/genome.fasta.pac",
"reference/intervals",
"reference/intervals/chr22_1-40001.bed",
"reference/intervals/chr22_1-40001.bed.gz",
"reference/intervals/genome.bed",
"reference/intervals/genome.bed.gz"
],
[
"test.sorted.cram:md5,47d93e48e806bbca9b76a72671c31256",
"test.sorted.cram.crai:md5,70f3ec29d6f6fc2d9fa87ada23cc3ec6",
"genome.fasta.0123:md5,d73300d44f733bcdb7c988fc3ff3e3e9",
"genome.fasta.amb:md5,1891c1de381b3a96d4e72f590fde20c1",
"genome.fasta.ann:md5,2df4aa2d7580639fa0fcdbcad5e2e969",
"genome.fasta.bwt.2bit.64:md5,cd4bdf496eab05228a50c45ee43c1ed0",
"genome.fasta.pac:md5,8569fbdb2c98c6fb16dfa73d8eacb070",
"chr22_1-40001.bed:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"chr22_1-40001.bed.gz:md5,87a15eb9c2ff20ccd5cd8735a28708f7",
"genome.bed:md5,a87dc7d20ebca626f65cc16ff6c97a3e",
"genome.bed.gz:md5,a87dc7d20ebca626f65cc16ff6c97a3e"
]
],
"meta": {
"nf-test": "0.9.0",
"nextflow": "24.09.0"
},
"timestamp": "2024-10-07T10:23:26.446846"
}
}
Loading

0 comments on commit b3b16cf

Please sign in to comment.