From c18a84a1625e07a3e70b45d264569c4b686c2704 Mon Sep 17 00:00:00 2001 From: DLBPointon Date: Wed, 12 Feb 2025 14:52:14 +0000 Subject: [PATCH] Updates to the CICD --- .github/workflows/ci.yml | 6 +++++ assets/test-local.yaml | 7 ++---- assets/test.yaml | 4 ++-- conf/test.config | 2 +- conf/test_full.config | 1 + nf-test.config | 2 +- tests/main.nf.test | 12 ++++++---- tests/main.nf.test.snap | 52 ++++++++++++++++++++++++++++++++++++---- 8 files changed, 69 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7dc79ab..f843489 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,6 +62,12 @@ jobs: cp TreeValTinyData/assembly/draft/grTriPseu1.fa TreeValTinyData/assembly/draft/grTriPseu1-hap.fa cp TreeValTinyData/assembly/draft/grTriPseu1.fa TreeValTinyData/assembly/draft/grTriPseu1-all_hap.fa + - name: Download EAR MerquryFK data + # Generated .hist and .ktab files (+ hidden files) that is required to test merquryfk + run: | + curl https://tolit.cog.sanger.ac.uk/test-data/resources/ear/EAR_merquryfk_input.tar.gz | tar xzf - + mv EAR_merquryfk_input TreeValTinyData/genomic_data/pacbio/ + - name: Install nf-test uses: nf-core/setup-nf-test@v1 diff --git a/assets/test-local.yaml b/assets/test-local.yaml index c5e9ab5..2475de6 100755 --- a/assets/test-local.yaml +++ b/assets/test-local.yaml @@ -4,12 +4,9 @@ reference_hap1: /nfs/treeoflife-01/teams/tola/users/dp24/ear/TreeValTinyData/ass reference_hap2: /nfs/treeoflife-01/teams/tola/users/dp24/ear/TreeValTinyData/assembly/draft/grTriPseu1-hap.fa reference_haplotigs: /nfs/treeoflife-01/teams/tola/users/dp24/ear/TreeValTinyData/assembly/draft/grTriPseu1-all_hap.fa -# If a mapped bam already exists use the below + --mapped TRUE on the nextflow command else ignore. -mapped_bam: [] - merquryfk: - fastk_hist: "./EMPTY.hist" - fastk_ktab: "./EMPTY.ktab" + fastk_hist: "/nfs/treeoflife-01/teams/tola/users/dp24/ear/TreeValTinyData/genomic_data/pacbio/kmer.31/gfTriPseu1.50000.k31.hist" + fastk_ktab: "/nfs/treeoflife-01/teams/tola/users/dp24/ear/TreeValTinyData/genomic_data/pacbio/kmer.31/" # Used by both subpipelines longread: diff --git a/assets/test.yaml b/assets/test.yaml index 21d5767..bd048b3 100755 --- a/assets/test.yaml +++ b/assets/test.yaml @@ -8,8 +8,8 @@ reference_haplotigs: /home/runner/work/ear/ear/TreeValTinyData/assembly/draft/gr mapped_bam: [] merquryfk: - fastk_hist: "./EMPTY.hist" - fastk_ktab: "./EMPTY.ktab" + fastk_hist: "/home/runner/work/ear/ear/TreeValTinyData/genomic_data/pacbio/EAR_merquryfk_input/gfTriPseu1.50000.k31.hist" + fastk_ktab: "/home/runner/work/ear/ear/TreeValTinyData/genomic_data/pacbio/EAR_merquryfk_input/" # Used by both subpipelines longread: diff --git a/conf/test.config b/conf/test.config index cb0859c..907bda8 100644 --- a/conf/test.config +++ b/conf/test.config @@ -27,5 +27,5 @@ params { // Input data for full size test // Limit resources so that this can run on GitHub Actions input = "${baseDir}/assets/test.yaml" - steps = "btk,cpretext,merquryfk" + steps = "btk,cpretext" } diff --git a/conf/test_full.config b/conf/test_full.config index 5d5b23e..ac2f087 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -16,4 +16,5 @@ params { input = "${projectDir}/assets/test-local.yaml" outdir = "results" + steps = "btk,cpretext" } diff --git a/nf-test.config b/nf-test.config index cc4372f..5091d8c 100644 --- a/nf-test.config +++ b/nf-test.config @@ -11,6 +11,6 @@ config { load "nft-utils@0.0.3" } - configFile "conf/test.config" + configFile "conf/test_full.config" profile "test" } diff --git a/tests/main.nf.test b/tests/main.nf.test index f3002ca..716ad42 100644 --- a/tests/main.nf.test +++ b/tests/main.nf.test @@ -20,7 +20,7 @@ nextflow_pipeline { def gfastats = getAllFilesFromDir(params.outdir, include: ['gfastats/*_summary']) - //def merquryfk = getAllFilesFromDir(params.outdir, include: ['merquryfk/*']) + def merquryfk = getAllFilesFromDir(params.outdir, include: ['merquryfk/*']) assertAll ( {assert workflow.success}, @@ -38,9 +38,13 @@ nextflow_pipeline { gfastats, // MERQURY_FK is running statistics on the input files - // input files are also split between the two main input haps - // need to actually test merqury first - //merquryfk, + merquryfk.size(), + merquryfk, + merquryfk.any{it.toString().contains("combined_haplos".toString())}, + merquryfk.any{it.toString().contains("spectra".toString())}, + merquryfk.any{it.toString().contains(".qv".toString())}, + merquryfk.any{it.toString().contains(".bed".toString())}, + merquryfk.any{it.toString().contains(".stats".toString())} ).match()}, ) diff --git a/tests/main.nf.test.snap b/tests/main.nf.test.snap index 47fa011..f890d51 100644 --- a/tests/main.nf.test.snap +++ b/tests/main.nf.test.snap @@ -1,7 +1,7 @@ { "Minimal run | No SANGER-TOL-* nested pipelines": { "content": [ - 2, + 3, { "CAT_CAT": { "pigz": "2.3.4" @@ -9,25 +9,69 @@ "GFASTATS": { "gfastats": "1.3.6" }, + "MERQURYFK_MERQURYFK": { + "fastk": "f18a4e6d2207539f7b84461daebc54530a9559b0", + "merquryfk": "8ae344092df5dcaf83cfb7f90f662597a9b1fc61", + "r": "4.2.0" + }, "Workflow": { - "sanger-tol/ear": "v0.6.2" + "sanger-tol/ear": "v0.7.0" } }, [ "gfastats", "gfastats/grTriPseu1.assembly_summary", + "merquryfk", + "merquryfk/grTriPseu1.combined_haplos.qv", + "merquryfk/grTriPseu1.combined_haplos.spectra-cn.fl.png", + "merquryfk/grTriPseu1.combined_haplos.spectra-cn.ln.png", + "merquryfk/grTriPseu1.combined_haplos.spectra-cn.st.png", + "merquryfk/grTriPseu1.combined_haplos_only.bed", + "merquryfk/grTriPseu1.completeness.stats", + "merquryfk/grTriPseu1.grTriPseu1.qv", + "merquryfk/grTriPseu1.grTriPseu1.spectra-cn.fl.png", + "merquryfk/grTriPseu1.grTriPseu1.spectra-cn.ln.png", + "merquryfk/grTriPseu1.grTriPseu1.spectra-cn.st.png", + "merquryfk/grTriPseu1.grTriPseu1_only.bed", + "merquryfk/grTriPseu1.qv", + "merquryfk/grTriPseu1.spectra-asm.fl.png", + "merquryfk/grTriPseu1.spectra-asm.ln.png", + "merquryfk/grTriPseu1.spectra-asm.st.png", "pipeline_info", "pipeline_info/ear_software_mqc_versions.yml" ], 1, [ "grTriPseu1.assembly_summary:md5,49d6ad52839bf6597b0ff6fb9ff01151" - ] + ], + 15, + [ + "grTriPseu1.combined_haplos.qv:md5,ee9ad1aea0ad003e5ac866df174902f1", + "grTriPseu1.combined_haplos.spectra-cn.fl.png:md5,50bad6b85b8f80b8411b50e4119bc959", + "grTriPseu1.combined_haplos.spectra-cn.ln.png:md5,50bad6b85b8f80b8411b50e4119bc959", + "grTriPseu1.combined_haplos.spectra-cn.st.png:md5,50bad6b85b8f80b8411b50e4119bc959", + "grTriPseu1.combined_haplos_only.bed:md5,04220c269d33e2bbc1122595828d8275", + "grTriPseu1.completeness.stats:md5,a3d2d772cc118547335dde59161b9217", + "grTriPseu1.grTriPseu1.qv:md5,953ba4f3322475292919671a2393b52d", + "grTriPseu1.grTriPseu1.spectra-cn.fl.png:md5,4b0c20fb8c99b0e725d569fc7252078f", + "grTriPseu1.grTriPseu1.spectra-cn.ln.png:md5,7f07db43d617056109c2ebab5b47b7cc", + "grTriPseu1.grTriPseu1.spectra-cn.st.png:md5,9717069c33da319c45f0d976b3697b66", + "grTriPseu1.grTriPseu1_only.bed:md5,9af876714b7666bb628a21dd275d0691", + "grTriPseu1.qv:md5,0d51bda46c4cafbeb3c082768beefd6b", + "grTriPseu1.spectra-asm.fl.png:md5,50bad6b85b8f80b8411b50e4119bc959", + "grTriPseu1.spectra-asm.ln.png:md5,50bad6b85b8f80b8411b50e4119bc959", + "grTriPseu1.spectra-asm.st.png:md5,50bad6b85b8f80b8411b50e4119bc959" + ], + true, + true, + true, + true, + true ], "meta": { "nf-test": "0.9.2", "nextflow": "24.04.4" }, - "timestamp": "2025-02-07T16:10:18.940156" + "timestamp": "2025-02-12T14:49:22.178822" } } \ No newline at end of file