Skip to content
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
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
4 changes: 1 addition & 3 deletions .github/workflows/nf-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,11 @@ jobs:
fail-fast: false
matrix:
shard: ${{ fromJson(needs.nf-test-changes.outputs.shard) }}
profile: [conda, docker, singularity]
profile: [docker, singularity]
isMain:
- ${{ github.base_ref == 'master' || github.base_ref == 'main' }}
# Exclude conda and singularity on dev
exclude:
- isMain: false
profile: "conda"
- isMain: false
profile: "singularity"
NXF_VER:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.nextflow*
.nf-test*
work/
data/
results/
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Initial release of Clinical-Genomics/oncorefiner, created with the [nf-core](htt
- Removed snv_vcf_tbi and sv_vcf_tbi parameter. VCF indexes are now automatically detected [#9](https://github.com/Clinical-Genomics/oncorefiner/pull/9)
- Renamed pipeline from postprocessing to oncorefiner []()
- Fixed linting issues [#20](https://github.com/Clinical-Genomics/oncorefiner/pull/20)
- Fixed nf-test to run a functional default test, removed old CI test [#26](https://github.com/Clinical-Genomics/oncorefiner/pull/26)
- Added missing description to bug_report.yml [32](https://github.com/Clinical-Genomics/oncorefiner/pull/32)
- Updated template settings to set organisation to `Clinical-Genomics` and skip unused features `igenomes` and `fastqc` [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35)
- Refactored `genome` parameter to have default value 'GRCh38' and no longer refer to igenomes [#35](https://github.com/Clinical-Genomics/oncorefiner/pull/35)
Expand Down
7 changes: 7 additions & 0 deletions conf/modules/prepare_references.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@
//

process {

withName: '.*:PREPARE_REFERENCES:.*' {
publishDir = [
enabled: false,
]
}

withName: '.*PREPARE_REFERENCES:UNTAR_VEP_CACHE' {
ext.when = { (params.vep_cache && params.vep_cache.endsWith("tar.gz")) }
}
Expand Down
4 changes: 2 additions & 2 deletions nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,8 @@ profiles {
apptainer.runOptions = '--nv'
singularity.runOptions = '--nv'
}
test { includeConfig 'conf/test.config' }
test_full { includeConfig 'conf/test_full.config' }
test_full { includeConfig 'conf/test_full.config' }
test { includeConfig 'conf/test.config' }
}

// Load nf-core custom profiles from different institutions
Expand Down
1 change: 1 addition & 0 deletions nf-test.config
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@ config {
// load the necessary plugins
plugins {
load "nft-utils@0.0.3"
load "nft-vcf@1.0.7"
}
}
9 changes: 9 additions & 0 deletions tests/.nftignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,13 @@ multiqc/multiqc_data/multiqc_software_versions.txt
multiqc/multiqc_data/llms-full.txt
multiqc/multiqc_plots/{svg,pdf,png}/*.{svg,pdf,png}
multiqc/multiqc_report.html
multiqc/multiqc_data/multiqc_citations.txt
pipeline_info/*.{html,json,txt,yml}
annotate_sv/*.{vcf.gz,tbi,html}
vep/*.{vcf.gz,tbi,html}
clinical/*.{vcf,vcf.gz,tbi}
clinical_filtering/*.{vcf.gz,tbi}
svdb/*.{vcf,vcf.gz,tbi}
vcfanno/*.{vcf.gz,tbi}
research/*.{vcf,vcf.gz,tbi}
research_filtering/*.{vcf,vcf.gz,tbi}
12 changes: 10 additions & 2 deletions tests/default.nf.test
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
nextflow_pipeline {

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

Expand All @@ -17,6 +17,10 @@ nextflow_pipeline {
def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}'])
// stable_path: All files in ${params.outdir}/ with stable content
def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore')
// all_vcf_files: All vcf files - can have unstable variants and/or unstable headers
def all_vcf_files = getAllFilesFromDir(params.outdir, include: ['**/*.vcf.gz'])
// vcfs_with_stable_variants: Vcf files with stable variants - can be snapshot using variantsMD5
def vcfs_with_stable_variants = getAllFilesFromDir(params.outdir, include: ['**/*.vcf.gz'])
assertAll(
{ assert workflow.success},
{ assert snapshot(
Expand All @@ -25,7 +29,11 @@ nextflow_pipeline {
// All stable path name, with a relative path
stable_name,
// All files with stable contents
stable_path
stable_path,
// All VCFs
all_vcf_files.collect{ file -> [ file.getName(), path(file.toString()).vcf.summary ] },
// VCFs with stable variants
vcfs_with_stable_variants.collect{ file -> [ file.getName(), path(file.toString()).vcf.variantsMD5 ] }
).match() }
)
}
Expand Down
119 changes: 119 additions & 0 deletions tests/default.nf.test.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
{
"-profile test": {
"content": [
{
"CLINICAL_FILTERING": {
"bcftools": 1.22
},
"CLINICAL_FILTERING_SV": {
"bcftools": 1.22
},
"ENSEMBLVEP_SNV": {
"ensemblvep": 115.2,
"perl-math-cdf": 0.1,
"tabix": 1.21
},
"ENSEMBLVEP_SV": {
"ensemblvep": 115.2,
"perl-math-cdf": 0.1,
"tabix": 1.21
},
"RESEARCH_FILTERING": {
"bcftools": 1.22
},
"RESEARCH_FILTERING_SV": {
"bcftools": 1.22
},
"SVDB_QUERY_DB": {
"svdb": "2.8.4"
},
"UNTAR_VEP_CACHE": {
"untar": 1.34
},
"VCFANNO": {
"vcfanno": "0.3.7"
},
"Workflow": {
"Clinical-Genomics/oncorefiner": "v1.0.0dev"
}
},
[
"annotate_sv",
"annotate_sv/SV_svdbquery_vep.vcf.gz",
"annotate_sv/SV_svdbquery_vep.vcf.gz.tbi",
"annotate_sv/SV_svdbquery_vep.vcf.gz_summary.html",
"clinical",
"clinical/SV_clinical.vcf",
"clinical_filtering",
"clinical_filtering/SNV_clinical.vcf.gz",
"pipeline_info",
"pipeline_info/oncorefiner_software_mqc_versions.yml",
"research",
"research/SV_research.vcf",
"research_filtering",
"research_filtering/SNV_research.vcf.gz",
"svdb",
"svdb/SV_vcfdb_query.vcf",
"vcfanno",
"vcfanno/SNV_vcfanno.vcf.gz",
"vcfanno/SNV_vcfanno.vcf.gz.tbi",
"vep",
"vep/SNV_vep.vcf.gz",
"vep/SNV_vep.vcf.gz.tbi",
"vep/SNV_vep.vcf.gz_summary.html"
],
[

],
[
[
"SV_svdbquery_vep.vcf.gz",
"VcfFile [chromosomes=[], sampleCount=2, variantCount=0, phased=true, phasedAutodetect=true]"
],
[
"SNV_clinical.vcf.gz",
"VcfFile [chromosomes=[11, 22, 12, 13, 15, 16, 17, 18, 19, 1, 2, 3, 4, 5, 6, 7, 8, X, 9, 20, 21], sampleCount=2, variantCount=102, phased=false, phasedAutodetect=false]"
],
[
"SNV_research.vcf.gz",
"VcfFile [chromosomes=[11, 22, 12, 13, 15, 16, 17, 18, 19, 1, 2, 3, 4, 5, 6, 7, 8, X, 9, 20, 21], sampleCount=2, variantCount=102, phased=false, phasedAutodetect=false]"
],
[
"SNV_vcfanno.vcf.gz",
"VcfFile [chromosomes=[11, 22, 12, 13, 15, 16, 17, 18, 19, 1, 2, 3, 4, 5, 6, 7, 8, X, 9, 20, 21], sampleCount=2, variantCount=102, phased=false, phasedAutodetect=false]"
],
[
"SNV_vep.vcf.gz",
"VcfFile [chromosomes=[11, 22, 12, 13, 15, 16, 17, 18, 19, 1, 2, 3, 4, 5, 6, 7, 8, X, 9, 20, 21], sampleCount=2, variantCount=102, phased=false, phasedAutodetect=false]"
]
],
[
[
"SV_svdbquery_vep.vcf.gz",
"d41d8cd98f00b204e9800998ecf8427e"
],
[
"SNV_clinical.vcf.gz",
"dd792f7ceac820af3fe366985474805"
],
[
"SNV_research.vcf.gz",
"d7453d6080983d2c812113003f5e5ae8"
],
[
"SNV_vcfanno.vcf.gz",
"746d273c13550ab044af7eb5e62a941a"
],
[
"SNV_vep.vcf.gz",
"dd792f7ceac820af3fe366985474805"
]
]
],
"meta": {
"nf-test": "0.9.3",
"nextflow": "25.10.3"
},
"timestamp": "2026-03-10T15:16:44.819454"
}
}
34 changes: 31 additions & 3 deletions tests/nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,41 @@
========================================================================================
Nextflow config file for running nf-test tests
========================================================================================
Defines input files and everything required to run a fast and simple pipeline test.

Use as follows:
nf-test test tests/<test> --profile <test,docker>
nf-test test --profile=+test,docker

*/

// TODO nf-core: Specify any additional parameters here
// Or any resources requirements
params {
modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/'
pipelines_testdata_base_path = 'https://raw.githubusercontent.com/Clinical-Genomics/test-datasets/refs/heads/oncorefiner'
config_profile_name = 'Test profile'
config_profile_description = 'Minimal test dataset to check pipeline function'
modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/'
pipelines_testdata_base_path = 'https://raw.githubusercontent.com/Clinical-Genomics/test-datasets/tree/1184e1c31b5e47055e3580c7e0f65240a1c005d0/'


}

aws.client.anonymous = true // fixes S3 access issues on self-hosted runners

// Same Nextflow version as nextflow.config
manifest {
nextflowVersion = '!>=25.04.0'
}

// Disable all Nextflow reporting options
timeline { enabled = false }
report { enabled = false }
trace { enabled = false }
dag { enabled = false }

process {
resourceLimits = [
cpus: 4,
memory: '15.GB',
time: '1.h'
]
}