From f7fceaf0c6c5094e9ad515b28c69b97c52dcf567 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 26 Apr 2024 10:56:35 +0200 Subject: [PATCH 01/40] Add general structure, and generate (not working!) snapshot for basic test profile --- .github/workflows/ci.yml | 83 +++++++--- .gitignore | 2 +- .nf-core.yml | 1 + nf-test.config | 8 + tests/nextflow.config | 5 + tests/test.nf.test | 29 ++++ tests/test.nf.test.snap | 319 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 422 insertions(+), 25 deletions(-) create mode 100644 nf-test.config create mode 100644 tests/nextflow.config create mode 100644 tests/test.nf.test create mode 100644 tests/test.nf.test.snap diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 002b66dc7..7e6bcf581 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,44 +1,65 @@ -name: nf-core CI # This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors +name: nf-core CI on: push: branches: - - dev + - "dev" pull_request: + branches: + - "dev" + - "master" release: - types: [published] + types: + - "published" env: NXF_ANSI_LOG: false + NFTEST_VER: "0.7.3" concurrency: - group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}" + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: + define_nxf_versions: + name: Choose nextflow versions to test against depending on target branch + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.nxf_versions.outputs.matrix }} + steps: + - id: nxf_versions + run: | + if [[ "${{ github.event_name }}" == "pull_request" && "${{ github.base_ref }}" == "dev" && "${{ matrix.NXF_VER }}" != "latest-everything" ]]; then + echo matrix='["latest-everything"]' | tee -a $GITHUB_OUTPUT + else + echo matrix='["latest-everything", "23.10.0"]' | tee -a $GITHUB_OUTPUT + fi + test: - name: Run pipeline with test data - # Only run on push if this is the nf-core dev branch (merged PRs) - if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/eager') }}" + name: nf-test + needs: define_nxf_versions runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - NXF_VER: - - "23.04.0" - - "latest-everything" - PARAMS: - - "-profile test,docker --preprocessing_tool fastp --preprocessing_adapterlist 'https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/fastp/adapters.fasta'" - - "-profile test,docker --preprocessing_tool adapterremoval --preprocessing_adapterlist 'https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/adapterremoval/adapterremoval_adapterlist.txt' --sequencing_qc_tool falco --run_genotyping --genotyping_tool 'freebayes' --genotyping_source 'raw'" - - "-profile test,docker --mapping_tool bwamem --run_mapdamage_rescaling --run_pmd_filtering --run_trim_bam --run_genotyping --genotyping_tool 'ug' --genotyping_source 'trimmed'" - - "-profile test,docker --mapping_tool bowtie2 --damagecalculation_tool mapdamage --damagecalculation_mapdamage_downsample 100 --run_genotyping --genotyping_tool 'hc' --genotyping_source 'raw'" - - "-profile test,docker --skip_preprocessing" - - "-profile test_humanbam,docker --run_mtnucratio --run_contamination_estimation_angsd --snpcapture_bed 'https://raw.githubusercontent.com/nf-core/test-datasets/eager/reference/Human/1240K.pos.list_hs37d5.0based.bed.gz' --run_genotyping --genotyping_tool 'pileupcaller' --genotyping_source 'raw'" - - "-profile test_humanbam,docker --run_sexdeterrmine --run_genotyping --genotyping_tool 'angsd' --genotyping_source 'raw'" - - "-profile test_multiref,docker" ## TODO add damage manipulation here instead once it goes multiref + NXF_VER: ${{ fromJson(needs.define_nxf_versions.outputs.matrix) }} + tags: + - "test" + profile: + - "docker" + steps: - name: Check out pipeline code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + - name: Check out test data + uses: actions/checkout@v3 + with: + repository: nf-core/test-datasets + ref: eager + path: test-datasets/ + fetch-depth: 1 + - name: Install Nextflow uses: nf-core/setup-nextflow@v1 with: @@ -47,9 +68,23 @@ jobs: - name: Disk space cleanup uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - - name: Run pipeline with test data - # TODO nf-core: You can customise CI pipeline run tests as required - # For example: adding multiple test runs with different parameters - # Remember that you can parallelise this by using strategy.matrix + - name: Install nf-test + run: | + wget -qO- https://code.askimed.com/install/nf-test | bash -s $NFTEST_VER + sudo mv nf-test /usr/local/bin/ + + - name: Run nf-test run: | - nextflow run ${GITHUB_WORKSPACE} --outdir ./results ${{ matrix.PARAMS }} + nf-test test --tag ${{ matrix.tags }} --profile ${{ matrix.tags }},${{ matrix.profile }} --junitxml=test.xml + + - name: Output log on failure + if: failure() + run: | + sudo apt install bat > /dev/null + batcat --decorations=always --color=always ${{ github.workspace }}/.nf-test/tests/*/output/pipeline_info/software_versions.yml + + - name: Publish Test Report + uses: mikepenz/action-junit-report@v3 + if: always() # always run even if the previous step fails + with: + report_paths: "*.xml" diff --git a/.gitignore b/.gitignore index f982169a0..8f5c83323 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,5 @@ results/ testing/ testing* *.pyc -tests/ test/ +.nf-test* diff --git a/.nf-core.yml b/.nf-core.yml index 5721c4b64..7abadd43f 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -4,3 +4,4 @@ lint: nextflow_config: - config_defaults: - params.contamination_estimation_angsd_hapmap + actions_ci: False diff --git a/nf-test.config b/nf-test.config new file mode 100644 index 000000000..870799df0 --- /dev/null +++ b/nf-test.config @@ -0,0 +1,8 @@ +config { + + testsDir "tests" + workDir ".nf-test" + configFile "tests/nextflow.config" + profile "" + +} diff --git a/tests/nextflow.config b/tests/nextflow.config new file mode 100644 index 000000000..c19b1ad0e --- /dev/null +++ b/tests/nextflow.config @@ -0,0 +1,5 @@ +/* +======================================================================================== + Nextflow config file for running tests +======================================================================================== +*/ diff --git a/tests/test.nf.test b/tests/test.nf.test new file mode 100644 index 000000000..59f2e44e1 --- /dev/null +++ b/tests/test.nf.test @@ -0,0 +1,29 @@ +nextflow_pipeline { + + name "Test pipeline: NFCORE_EAGER" + script "main.nf" + tag "pipeline" + tag "nfcore_eager" + tag "test" + + test("test_profile") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot( + path("$outputDir/"), + ).match() + }, + { assert new File("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").exists() }, + { assert new File("$outputDir/multiqc/multiqc_report.html").exists() }, + ) + } + } +} diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap new file mode 100644 index 000000000..19ea0c28d --- /dev/null +++ b/tests/test.nf.test.snap @@ -0,0 +1,319 @@ +{ + "test_profile": { + "content": [ + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,49d2dbc1db9be5b66182a2a74f8793ab", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,aa4c28b7c84d263fb864c783a58dc2b6", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,4b95a50ddb735e93566ddbe5bace461e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,64704942c7c21171ac0f4aade5e60069" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + ], + [ + [ + [ + "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", + "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", + "DamagePlot.pdf:md5,7fa541ac9748a18366638efa30fd7d2a", + "DamagePlot_five_prime.svg:md5,089254de9c9677c9e95b0545962b18ee", + "DamagePlot_three_prime.svg:md5,73c201e2b08181a2be7a9e4ab462f752", + "DamageProfiler.log:md5,6f2a88aa36a26c509ce0cf9770f95f6f", + "Length_plot.pdf:md5,0ba43daa155d956e13f2cf665be14c3e", + "Length_plot_combined_data.svg:md5,586b7845b16599b369141ebaa21feb7d", + "Length_plot_forward_reverse_separated.svg:md5,f6b061f2dc16b712ce91d5255bd26837", + "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", + "edit_distance.pdf:md5,84db19b30e4fccce00f5ef5c3a7f83c8", + "edit_distance.svg:md5,9991008d14b33c549b9f0c84a801ced9", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" + ], + [ + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "DamagePlot.pdf:md5,65a5556ca68357ae8cf2413379b376e5", + "DamagePlot_five_prime.svg:md5,545e5590aba1a3e093f064c62d092820", + "DamagePlot_three_prime.svg:md5,9e607d155b8de129a9014ddb633c53eb", + "DamageProfiler.log:md5,71d6f912bb8810221179db5175fae58f", + "Length_plot.pdf:md5,06fe56a624a7f0d774a6734791e40750", + "Length_plot_combined_data.svg:md5,a16b62d74c645d52f80a57b4556896a2", + "Length_plot_forward_reverse_separated.svg:md5,8d1bc4a2580d92ef52416131f3a1a044", + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "edit_distance.pdf:md5,d7c2b09c275e2e08e66ec25048752c45", + "edit_distance.svg:md5,279b28d8d4f21ed8939514987c93156f", + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" + ], + [ + "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", + "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", + "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "DamagePlot.pdf:md5,6216e2251c6987366b36fd2c43ff007b", + "DamagePlot_five_prime.svg:md5,88f2661608e16519eabbc08643e96623", + "DamagePlot_three_prime.svg:md5,9e4e34f51734287b7892aa0971193481", + "DamageProfiler.log:md5,fffa551c97a1a5a8ff538d6d9de0c1ab", + "Length_plot.pdf:md5,af21790add82c31b74ac31a20bd1a005", + "Length_plot_combined_data.svg:md5,bb74a134ba7f37a21052b104a0202cc4", + "Length_plot_forward_reverse_separated.svg:md5,7cc6c37723cec43dc12cbd966e85dc80", + "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", + "edit_distance.pdf:md5,715700625bd2cde1e7b9e68a7db31c9f", + "edit_distance.svg:md5,4c76fec3c327459066eba4ad5a4c88dc", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" + ], + "versions.yml:md5,2814e619e5090776204ba0c2edfa07c2" + ] + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,9268839800197f8f98c9544f0d5b0847", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,422c90355dfa3149062dc4c2618b6078", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,ee214d5a80b67ab330cb29004d23c2ac", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,68c53ce698704d94af86678b0b96293e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + [ + "JK2782_Mammoth_MT_Krause.bam:md5,565b1cd3375fc0c013b8dd3ee74fa98e", + "JK2782_Mammoth_MT_Krause.bam.bai:md5,8008bf95ad184f82254a82cbb44cc872", + "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", + "JK2802_Mammoth_MT_Krause.bam:md5,8ebe9c477dbba95ced830fbe09fecd1b", + "JK2802_Mammoth_MT_Krause.bam.bai:md5,541baf7e85b27e4c210373cd61f93d52", + "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.flagstat:md5,98a2f8bb2aa9678e4cf9578ee9ab3b0e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam:md5,7fa16f8c23d535cfb4b66075be50a097", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai:md5,6225a8b059bc4396a60165bd9d8dff91", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.flagstat:md5,cb86b29c65c8c123a8863330316c6400", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam:md5,da658a3f61f8969d1f5d3126c39c2bf7", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai:md5,e43c10077352dc65ecc39d76f421338f" + ], + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", + "versions.yml:md5,f6c22504bd960903cef378d15aa1cf99" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "versions.yml:md5,04edb6451354c81b20ffba3102b625b8" + ], + [ + [ + [ + [ + [ + [ + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" + ], + "genome_results.txt:md5,d520d13c02f78d7f74bcefed4864ed61", + [ + "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", + "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", + "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", + "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", + "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", + "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", + "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", + "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", + "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", + "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a" + ], + "qualimapReport.html:md5,9e8d6d04964feefc18211a155308a144", + [ + "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", + "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", + "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", + "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", + "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", + "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", + "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", + "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", + "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e" + ] + ], + "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" + ] + ], + [ + [ + [ + [ + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" + ], + "genome_results.txt:md5,f244a1f31395a4c980ad3b39d525c231", + [ + "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", + "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", + "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", + "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", + "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", + "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", + "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", + "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", + "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", + "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", + "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" + ], + "qualimapReport.html:md5,ec14c3852748c6ef339d2c4cb424d1f2", + [ + "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", + "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", + "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", + "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", + "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", + "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", + "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", + "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", + "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", + "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" + ] + ], + "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" + ] + ] + ] + ] + ], + [ + [ + "multiqc.log:md5,bc0d5556077e2fc9bf7c98c20164d991", + "multiqc_citations.txt:md5,24cca4fa791953701472e4d193ad290b", + "multiqc_damageprofiler_metrics.txt:md5,6ccd45ddc65b12421006990249ef199f", + "multiqc_data.json:md5,7585d901bed25cc9f3abdb110a09e216", + "multiqc_fastp.txt:md5,d58fc30991f81e6d3de99e34ad321aff", + "multiqc_fastqc.txt:md5,3355a9c1b391caecdad4ec6f5c4ea222", + "multiqc_general_stats.txt:md5,eab948a6baae5f8f98402c9a73f9741d", + "multiqc_qualimap_bamqc_genome_results.txt:md5,7fdeab4023681b3a73c981c8e14f2029", + "multiqc_samtools_flagstat.txt:md5,7b8a63ae77afe02e1ddec97f97a0a95d", + "multiqc_software_versions.txt:md5,a61716c40c5206158c3361ce023e0b73", + "multiqc_sources.txt:md5,35f2f74c321b2429072fd07361b586b8", + "preseq.txt:md5,b045237854edfec9bc858684917ffdac" + ], + [ + + ], + "multiqc_report.html:md5,cfaca9e456db5fc74a2d094e070d487e" + ], + [ + "execution_report_2024-04-26_10-51-33.html:md5,c48616609bc6de3602562a24005cb8bb", + "execution_timeline_2024-04-26_10-51-33.html:md5,be16319d60c049e304b989647d38490c", + "nf_core_pipeline_software_mqc_versions.yml:md5,0d210e80c3b9044d1371fa3aeb14cde7", + "params_2024-04-26_10-51-46.json:md5,126f9c285f89f191702a99eef05cd103", + "pipeline_dag_2024-04-26_10-51-33.html:md5,a70880047226f19b66406452acb868cf" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,3dbc5627920a6efb967eb1673b0788e8", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,7991a49042595d54f1ce3d862a088948", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45", + [ + "null_fastqc.html:md5,70581cbcf992687d091d62bfb9ca0bde", + "null_fastqc.zip:md5,1cfab845cc9a6514801e7ad8b4f5d65a", + "versions.yml:md5,42fbb757df8018b4595df690155d41d2" + ], + [ + "null_1_fastqc.html:md5,e3f59126623cfa335401f0167c0d5ee5", + "null_1_fastqc.zip:md5,6552a3b03d67bc98e4db97f3e621074f", + "null_2_fastqc.html:md5,ac5477d5a959efe94d0f4088344bedb9", + "null_2_fastqc.zip:md5,229b65a35e76ac8b720e6baa8f05ff32", + "null_fastqc.html:md5,843572a1e2cd975451f7e718d5c5893f", + "null_fastqc.zip:md5,ad5af298d03ffe37adb83e1818f9f634", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + ] + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.03.0" + }, + "timestamp": "2024-04-26T10:54:24.5666711" + } +} \ No newline at end of file From 0778e58a8714cabcb479608f90ed6090bd90255c Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 26 Apr 2024 13:00:30 +0200 Subject: [PATCH 02/40] Try adding an ignore zip system, doesn't work atm though... --- tests/test.nf.test | 13 +- tests/test.nf.test.snap | 533 +++++++++++++++++++--------------------- 2 files changed, 264 insertions(+), 282 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 59f2e44e1..ca8507394 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -18,11 +18,22 @@ nextflow_pipeline { assertAll( { assert workflow.success }, { assert snapshot( - path("$outputDir/"), + path("$outputDir/bam_filtering"), + path("$outputDir/bam_input_stats"), + path("$outputDir/damage_estimation"), + path("$outputDir/deduplication"), + path("$outputDir/final_bams"), + path("$outputDir/mapping"), + path("$outputDir/mapstats"), + path("$outputDir/preprocessing").list().findAll { !it.toString().endsWith("zip") }, // Trhying from https://nfcore.slack.com/archives/C049MBCEW06/p1714125268254939?thread_ts=1714124614.999909&cid=C049MBCEW06 + path("$outputDir/samtools"), // not sure what this is... + ).match() }, { assert new File("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").exists() }, { assert new File("$outputDir/multiqc/multiqc_report.html").exists() }, + { assert new File("$outputDir/multiqc/multiqc_data/").exists() } + ) } } diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 19ea0c28d..6ed4e20df 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -2,318 +2,289 @@ "test_profile": { "content": [ [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,49d2dbc1db9be5b66182a2a74f8793ab", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,aa4c28b7c84d263fb864c783a58dc2b6", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,4b95a50ddb735e93566ddbe5bace461e", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,64704942c7c21171ac0f4aade5e60069" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" - ], + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,49d2dbc1db9be5b66182a2a74f8793ab", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,aa4c28b7c84d263fb864c783a58dc2b6", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,4b95a50ddb735e93566ddbe5bace461e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,64704942c7c21171ac0f4aade5e60069" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + ], + [ [ [ - [ - "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", - "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", - "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", - "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", - "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", - "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,7fa541ac9748a18366638efa30fd7d2a", - "DamagePlot_five_prime.svg:md5,089254de9c9677c9e95b0545962b18ee", - "DamagePlot_three_prime.svg:md5,73c201e2b08181a2be7a9e4ab462f752", - "DamageProfiler.log:md5,6f2a88aa36a26c509ce0cf9770f95f6f", - "Length_plot.pdf:md5,0ba43daa155d956e13f2cf665be14c3e", - "Length_plot_combined_data.svg:md5,586b7845b16599b369141ebaa21feb7d", - "Length_plot_forward_reverse_separated.svg:md5,f6b061f2dc16b712ce91d5255bd26837", - "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", - "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,84db19b30e4fccce00f5ef5c3a7f83c8", - "edit_distance.svg:md5,9991008d14b33c549b9f0c84a801ced9", - "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", - "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" - ], - [ - "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", - "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", - "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", - "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", - "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", - "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,65a5556ca68357ae8cf2413379b376e5", - "DamagePlot_five_prime.svg:md5,545e5590aba1a3e093f064c62d092820", - "DamagePlot_three_prime.svg:md5,9e607d155b8de129a9014ddb633c53eb", - "DamageProfiler.log:md5,71d6f912bb8810221179db5175fae58f", - "Length_plot.pdf:md5,06fe56a624a7f0d774a6734791e40750", - "Length_plot_combined_data.svg:md5,a16b62d74c645d52f80a57b4556896a2", - "Length_plot_forward_reverse_separated.svg:md5,8d1bc4a2580d92ef52416131f3a1a044", - "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", - "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,d7c2b09c275e2e08e66ec25048752c45", - "edit_distance.svg:md5,279b28d8d4f21ed8939514987c93156f", - "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", - "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" - ], - [ - "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", - "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", - "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", - "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", - "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", - "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,6216e2251c6987366b36fd2c43ff007b", - "DamagePlot_five_prime.svg:md5,88f2661608e16519eabbc08643e96623", - "DamagePlot_three_prime.svg:md5,9e4e34f51734287b7892aa0971193481", - "DamageProfiler.log:md5,fffa551c97a1a5a8ff538d6d9de0c1ab", - "Length_plot.pdf:md5,af21790add82c31b74ac31a20bd1a005", - "Length_plot_combined_data.svg:md5,bb74a134ba7f37a21052b104a0202cc4", - "Length_plot_forward_reverse_separated.svg:md5,7cc6c37723cec43dc12cbd966e85dc80", - "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", - "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,715700625bd2cde1e7b9e68a7db31c9f", - "edit_distance.svg:md5,4c76fec3c327459066eba4ad5a4c88dc", - "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", - "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" - ], - "versions.yml:md5,2814e619e5090776204ba0c2edfa07c2" - ] - ], + "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", + "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", + "DamagePlot.pdf:md5,1be2d810f5724e8fa1c5d9dfaa42c0f4", + "DamagePlot_five_prime.svg:md5,0835264f1a830799dd2020ce2a2fff4f", + "DamagePlot_three_prime.svg:md5,566fe5e829ceba57347351e80fed7c7a", + "DamageProfiler.log:md5,15bc466dcba9ba00947f3eed6f706043", + "Length_plot.pdf:md5,6bf5c617cf685a75b3f0b1483fc2f642", + "Length_plot_combined_data.svg:md5,edcc5f3e1f7a090f6ba4a7156e376423", + "Length_plot_forward_reverse_separated.svg:md5,9a717594e56f8f72bd9b737157d42113", + "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", + "edit_distance.pdf:md5,c47938e3c52e96a19a5da918eed934b2", + "edit_distance.svg:md5,11ad5d248497994ee785811183ce6bfc", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" + ], + [ + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "DamagePlot.pdf:md5,ec7386041c1c4aa12a5c312e8e361e62", + "DamagePlot_five_prime.svg:md5,a4ff655d4cb9ae8ba638100ed6856f11", + "DamagePlot_three_prime.svg:md5,447214149a7ca93f224ac26d514195ec", + "DamageProfiler.log:md5,94c8bf04002336bf2e348fca3fc6ff56", + "Length_plot.pdf:md5,03d2b2e82e882adec3ca76e189504de5", + "Length_plot_combined_data.svg:md5,d81257189669bee7f8c50595d90de1c1", + "Length_plot_forward_reverse_separated.svg:md5,2530985bf000876471dc752431e50d18", + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "edit_distance.pdf:md5,e16b9d9fa3b8b1bf1305184f357cb584", + "edit_distance.svg:md5,d165b5eee264a668ae1a08f1689cdaf4", + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" + ], + [ + "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", + "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", + "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "DamagePlot.pdf:md5,602fa50ee64a52ec5f19d3d13366971c", + "DamagePlot_five_prime.svg:md5,6111b6ded6edbe0aaedb25d7b7ce69d7", + "DamagePlot_three_prime.svg:md5,80e3b31889004e0d645f6888d130ddf2", + "DamageProfiler.log:md5,87f5bfea5a663f177d11b5c5aaff8e68", + "Length_plot.pdf:md5,8d9c9788714e5c18f0f5fbd44ca50ed0", + "Length_plot_combined_data.svg:md5,776d579884d6d573ec06befe492dfe2a", + "Length_plot_forward_reverse_separated.svg:md5,4dc8b92ecd5f41080d344fdffe94acd1", + "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", + "edit_distance.pdf:md5,c28236612e7aec0c89108a0a98055667", + "edit_distance.svg:md5,971fd85db93be8cbb080212e4c4bd1b8", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" + ], + "versions.yml:md5,2814e619e5090776204ba0c2edfa07c2" + ] + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,9268839800197f8f98c9544f0d5b0847", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,422c90355dfa3149062dc4c2618b6078", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,ee214d5a80b67ab330cb29004d23c2ac", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,68c53ce698704d94af86678b0b96293e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + [ + "JK2782_Mammoth_MT_Krause.bam:md5,518225332e169d3684b48c1a324c4a71", + "JK2782_Mammoth_MT_Krause.bam.bai:md5,cbd28036543a6f9fc2accd6b3b716756", + "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", + "JK2802_Mammoth_MT_Krause.bam:md5,8ebe9c477dbba95ced830fbe09fecd1b", + "JK2802_Mammoth_MT_Krause.bam.bai:md5,541baf7e85b27e4c210373cd61f93d52", + "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.flagstat:md5,98a2f8bb2aa9678e4cf9578ee9ab3b0e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam:md5,7fa16f8c23d535cfb4b66075be50a097", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai:md5,6225a8b059bc4396a60165bd9d8dff91", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.flagstat:md5,cb86b29c65c8c123a8863330316c6400", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam:md5,da658a3f61f8969d1f5d3126c39c2bf7", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai:md5,e43c10077352dc65ecc39d76f421338f" + ], + [ [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,9268839800197f8f98c9544f0d5b0847", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,422c90355dfa3149062dc4c2618b6078", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,ee214d5a80b67ab330cb29004d23c2ac", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,68c53ce698704d94af86678b0b96293e", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", + "versions.yml:md5,27cc5ccadcc551ecc4faae7357c1b1bd" ], [ - "JK2782_Mammoth_MT_Krause.bam:md5,565b1cd3375fc0c013b8dd3ee74fa98e", - "JK2782_Mammoth_MT_Krause.bam.bai:md5,8008bf95ad184f82254a82cbb44cc872", - "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", - "JK2802_Mammoth_MT_Krause.bam:md5,8ebe9c477dbba95ced830fbe09fecd1b", - "JK2802_Mammoth_MT_Krause.bam.bai:md5,541baf7e85b27e4c210373cd61f93d52", - "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" ], [ - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.flagstat:md5,98a2f8bb2aa9678e4cf9578ee9ab3b0e", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam:md5,7fa16f8c23d535cfb4b66075be50a097", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai:md5,6225a8b059bc4396a60165bd9d8dff91", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.flagstat:md5,cb86b29c65c8c123a8863330316c6400", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam:md5,da658a3f61f8969d1f5d3126c39c2bf7", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai:md5,e43c10077352dc65ecc39d76f421338f" + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "versions.yml:md5,04edb6451354c81b20ffba3102b625b8" ], [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", - "versions.yml:md5,f6c22504bd960903cef378d15aa1cf99" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "versions.yml:md5,04edb6451354c81b20ffba3102b625b8" - ], [ [ [ [ [ - [ - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" - ], - "genome_results.txt:md5,d520d13c02f78d7f74bcefed4864ed61", - [ - "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", - "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", - "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", - "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", - "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", - "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", - "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", - "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", - "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", - "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a" - ], - "qualimapReport.html:md5,9e8d6d04964feefc18211a155308a144", - [ - "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", - "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", - "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", - "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", - "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", - "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", - "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", - "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", - "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e" - ] + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" + ], + "genome_results.txt:md5,d520d13c02f78d7f74bcefed4864ed61", + [ + "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", + "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", + "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", + "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", + "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", + "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", + "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", + "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", + "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", + "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a" ], - "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" - ] - ], + "qualimapReport.html:md5,9ade7e2ebf6e2ab9afaed629b131f541", + [ + "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", + "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", + "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", + "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", + "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", + "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", + "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", + "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", + "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e" + ] + ], + "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" + ] + ], + [ [ [ [ - [ - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" - ], - "genome_results.txt:md5,f244a1f31395a4c980ad3b39d525c231", - [ - "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", - "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", - "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", - "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", - "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", - "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", - "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", - "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", - "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", - "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", - "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" - ], - "qualimapReport.html:md5,ec14c3852748c6ef339d2c4cb424d1f2", - [ - "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", - "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", - "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", - "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", - "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", - "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", - "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", - "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", - "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", - "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" - ] + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" + ], + "genome_results.txt:md5,f244a1f31395a4c980ad3b39d525c231", + [ + "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", + "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", + "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", + "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", + "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", + "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", + "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", + "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", + "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", + "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", + "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" ], - "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" - ] + "qualimapReport.html:md5,d89b9353f279837f73769b753e8f8d96", + [ + "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", + "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", + "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", + "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", + "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", + "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", + "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", + "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", + "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", + "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" + ] + ], + "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" ] ] ] - ], - [ - [ - "multiqc.log:md5,bc0d5556077e2fc9bf7c98c20164d991", - "multiqc_citations.txt:md5,24cca4fa791953701472e4d193ad290b", - "multiqc_damageprofiler_metrics.txt:md5,6ccd45ddc65b12421006990249ef199f", - "multiqc_data.json:md5,7585d901bed25cc9f3abdb110a09e216", - "multiqc_fastp.txt:md5,d58fc30991f81e6d3de99e34ad321aff", - "multiqc_fastqc.txt:md5,3355a9c1b391caecdad4ec6f5c4ea222", - "multiqc_general_stats.txt:md5,eab948a6baae5f8f98402c9a73f9741d", - "multiqc_qualimap_bamqc_genome_results.txt:md5,7fdeab4023681b3a73c981c8e14f2029", - "multiqc_samtools_flagstat.txt:md5,7b8a63ae77afe02e1ddec97f97a0a95d", - "multiqc_software_versions.txt:md5,a61716c40c5206158c3361ce023e0b73", - "multiqc_sources.txt:md5,35f2f74c321b2429072fd07361b586b8", - "preseq.txt:md5,b045237854edfec9bc858684917ffdac" - ], - [ - - ], - "multiqc_report.html:md5,cfaca9e456db5fc74a2d094e070d487e" - ], - [ - "execution_report_2024-04-26_10-51-33.html:md5,c48616609bc6de3602562a24005cb8bb", - "execution_timeline_2024-04-26_10-51-33.html:md5,be16319d60c049e304b989647d38490c", - "nf_core_pipeline_software_mqc_versions.yml:md5,0d210e80c3b9044d1371fa3aeb14cde7", - "params_2024-04-26_10-51-46.json:md5,126f9c285f89f191702a99eef05cd103", - "pipeline_dag_2024-04-26_10-51-33.html:md5,a70880047226f19b66406452acb868cf" - ], + ] + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,420f8b659616e8edeb7a6001a8e26db8", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,f4060df7f4795e504511d8d9305e55e9", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45", [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,3dbc5627920a6efb967eb1673b0788e8", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,7991a49042595d54f1ce3d862a088948", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45", - [ - "null_fastqc.html:md5,70581cbcf992687d091d62bfb9ca0bde", - "null_fastqc.zip:md5,1cfab845cc9a6514801e7ad8b4f5d65a", - "versions.yml:md5,42fbb757df8018b4595df690155d41d2" - ], - [ - "null_1_fastqc.html:md5,e3f59126623cfa335401f0167c0d5ee5", - "null_1_fastqc.zip:md5,6552a3b03d67bc98e4db97f3e621074f", - "null_2_fastqc.html:md5,ac5477d5a959efe94d0f4088344bedb9", - "null_2_fastqc.zip:md5,229b65a35e76ac8b720e6baa8f05ff32", - "null_fastqc.html:md5,843572a1e2cd975451f7e718d5c5893f", - "null_fastqc.zip:md5,ad5af298d03ffe37adb83e1818f9f634", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" - ] + "null_fastqc.html:md5,70581cbcf992687d091d62bfb9ca0bde", + "null_fastqc.zip:md5,c65df20a97052d23df365a8e10ac034c", + "versions.yml:md5,42fbb757df8018b4595df690155d41d2" ], [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" + "null_1_fastqc.html:md5,e3f59126623cfa335401f0167c0d5ee5", + "null_1_fastqc.zip:md5,c6f7dd99aeb8a73e4f6ba323bb34c54f", + "null_2_fastqc.html:md5,ac5477d5a959efe94d0f4088344bedb9", + "null_2_fastqc.zip:md5,37353e0c3db914578d628b5803ced6e5", + "null_fastqc.html:md5,843572a1e2cd975451f7e718d5c5893f", + "null_fastqc.zip:md5,e85f7d5046e02e698b2b7972e8a03b23", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" ] + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.03.0" }, - "timestamp": "2024-04-26T10:54:24.5666711" + "timestamp": "2024-04-26T12:07:15.868736018" } } \ No newline at end of file From cc114f388184254d31038a8257f7f1870558bb9e Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 28 Jun 2024 13:40:05 +0200 Subject: [PATCH 03/40] Continue customisation --- tests/test.nf.test | 32 +-- tests/test.nf.test.snap | 491 ++++++++++++++++++++++++++++++++-------- 2 files changed, 421 insertions(+), 102 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index ca8507394..0a9fae319 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -17,24 +17,30 @@ nextflow_pipeline { then { assertAll( { assert workflow.success }, - { assert snapshot( - path("$outputDir/bam_filtering"), - path("$outputDir/bam_input_stats"), - path("$outputDir/damage_estimation"), - path("$outputDir/deduplication"), - path("$outputDir/final_bams"), - path("$outputDir/mapping"), - path("$outputDir/mapstats"), - path("$outputDir/preprocessing").list().findAll { !it.toString().endsWith("zip") }, // Trhying from https://nfcore.slack.com/archives/C049MBCEW06/p1714125268254939?thread_ts=1714124614.999909&cid=C049MBCEW06 - path("$outputDir/samtools"), // not sure what this is... + { assert snapshot( path("$outputDir/bam_filtering") ).match("bam_filtering") }, + { assert snapshot( path("$outputDir/bam_input_stats") ).match("bam_input_stats") }, + { assert snapshot( path("$outputDir/deduplication") ).match("deduplication") }, + { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, + { assert snapshot( path("$outputDir/samtools") ).match("samtools") }, // not sure what this is... - ).match() - }, + // Special + //{ assert snapshot( path("$outputDir/damage_estimation").list().findAll{ it.toString() ==~ /.*\.(txt,json).*/ } ).match("damage_estimation") } // TODO: add additional asserts for svg/pdf exists, and log contains line + //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) + //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, + //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, + //{ assert snapshot( path("$outputDir/final_bams") ).match("final_bams") }, + //{ assert snapshot( path("$outputDir/mapstats") ).match("mapstats") }, { assert new File("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").exists() }, { assert new File("$outputDir/multiqc/multiqc_report.html").exists() }, { assert new File("$outputDir/multiqc/multiqc_data/").exists() } - ) } } } + +def getRecursiveFileNames(fileOrDir, outputDir) { + if(file(fileOrDir.toString()).isDirectory()) { + return fileOrDir.list().collect { getRecursiveFileNames(it, outputDir) } + } + return fileOrDir.toString().replace("${outputDir}/", "") +} diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 6ed4e20df..fa0b5df83 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -1,16 +1,293 @@ { + "processing_fastp": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,1f497b8535aa0e4281988cd14d04e4c1", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,341ecbfbb2103d8e9ce20113ffea7736", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T13:32:44.409297996" + }, + "mapstats": { + "content": [ + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", + "versions.yml:md5,f6c22504bd960903cef378d15aa1cf99" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "versions.yml:md5,04edb6451354c81b20ffba3102b625b8" + ], + [ + [ + [ + [ + [ + [ + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" + ], + "genome_results.txt:md5,77e34a3588c1743562d89580054a0307", + [ + "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", + "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", + "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", + "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", + "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", + "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", + "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", + "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", + "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", + "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a" + ], + "qualimapReport.html:md5,4d422382371f26a3b25479356dc1413c", + [ + "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", + "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", + "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", + "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", + "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", + "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", + "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", + "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", + "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e" + ] + ], + "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" + ] + ], + [ + [ + [ + [ + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" + ], + "genome_results.txt:md5,10318c6586c06f3d7d3a68cb0b53ed26", + [ + "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", + "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", + "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", + "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", + "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", + "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", + "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", + "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", + "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", + "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", + "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" + ], + "qualimapReport.html:md5,19c6ee72e4df282ed3b40e0a81dcbcf8", + [ + "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", + "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", + "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", + "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", + "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", + "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", + "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", + "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", + "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", + "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" + ] + ], + "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" + ] + ] + ] + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T13:32:44.2518606" + }, + "preprocessing": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,9d9776be3f01ac03bb27f5c9c8a3e687", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,e623e6dfc2ce121ad19e9f49bfd5c50a", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45", + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,1fa3536dbdfde4b5272a185a61ee4a21", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,f7e8782c04288a48db09ff28c48c9646", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,817b8430741eeb8c30475c51cd4eaac9", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,8893254a98c1189fa6ebf5ee4f5a1a5f", + "versions.yml:md5,42fbb757df8018b4595df690155d41d2" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,57632a1d575aa5874a82afdfa34efd07", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,2fba3491d0f4f00387f3e2fa2eb8ae4f", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,1259416f24996b643197febdc878172a", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,d74aae16484c87c43df704c5688bb605", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,8d4b1e3cf12c25d899538c21c9227b5e", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,e558f1b3f95c9dd2f2b4a67486cce4f0", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T11:28:50.209617559" + }, + "damage_estimation": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T13:28:42.372766811" + }, + "samtools": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T13:08:37.202608535" + }, + "bam_input_stats": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T11:25:56.650730893" + }, + "final_bams": { + "content": [ + [ + "JK2782_Mammoth_MT_Krause.bam:md5,c83509e57eba69bcb5413ce03ed6618b", + "JK2782_Mammoth_MT_Krause.bam.bai:md5,cdad2a0d2a39bdbd689d4b0ffbac8383", + "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", + "JK2802_Mammoth_MT_Krause.bam:md5,475ffdc52e1297e273e6a2a2d5366218", + "JK2802_Mammoth_MT_Krause.bam.bai:md5,b47aef8c46ca45c22384f43ef96ee1f8", + "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T13:32:44.111408553" + }, + "bam_filtering": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,3829853588ac224ac094d93054c7fbef", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,cea7aec832f94e0221bb7da743f3e16c", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,8f0a7ad0e353b6714701a6c5ae54d3f1", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,43a0d7aaeb7c8dae073c829504a4278f" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T11:25:56.604142252" + }, "test_profile": { "content": [ [ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,49d2dbc1db9be5b66182a2a74f8793ab", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,3829853588ac224ac094d93054c7fbef", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,aa4c28b7c84d263fb864c783a58dc2b6", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,4b95a50ddb735e93566ddbe5bace461e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,cea7aec832f94e0221bb7da743f3e16c", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,8f0a7ad0e353b6714701a6c5ae54d3f1", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,64704942c7c21171ac0f4aade5e60069" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,43a0d7aaeb7c8dae073c829504a4278f" ], [ "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" @@ -24,17 +301,17 @@ "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,1be2d810f5724e8fa1c5d9dfaa42c0f4", - "DamagePlot_five_prime.svg:md5,0835264f1a830799dd2020ce2a2fff4f", - "DamagePlot_three_prime.svg:md5,566fe5e829ceba57347351e80fed7c7a", - "DamageProfiler.log:md5,15bc466dcba9ba00947f3eed6f706043", - "Length_plot.pdf:md5,6bf5c617cf685a75b3f0b1483fc2f642", - "Length_plot_combined_data.svg:md5,edcc5f3e1f7a090f6ba4a7156e376423", - "Length_plot_forward_reverse_separated.svg:md5,9a717594e56f8f72bd9b737157d42113", + "DamagePlot.pdf:md5,5b3256627f9f626230da579db61e5c49", + "DamagePlot_five_prime.svg:md5,7210e8b3200886b87634a49ae0f9a8ac", + "DamagePlot_three_prime.svg:md5,597a75d31ef402299f12c2b2fa58c104", + "DamageProfiler.log:md5,536a0a3084fb69ba4ae0f7d8358645c3", + "Length_plot.pdf:md5,4e81f7470ea0fb0bc930e1a4322e99d3", + "Length_plot_combined_data.svg:md5,277139e458c49f1d212dbbe809273212", + "Length_plot_forward_reverse_separated.svg:md5,4253d607d3f4cbbafdc43464d4175beb", "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,c47938e3c52e96a19a5da918eed934b2", - "edit_distance.svg:md5,11ad5d248497994ee785811183ce6bfc", + "edit_distance.pdf:md5,89a3d200f8726b09200a822d01465122", + "edit_distance.svg:md5,7e6dd9adfa4ad06467d0a9bf2c2267b4", "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" ], @@ -45,17 +322,17 @@ "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,ec7386041c1c4aa12a5c312e8e361e62", - "DamagePlot_five_prime.svg:md5,a4ff655d4cb9ae8ba638100ed6856f11", - "DamagePlot_three_prime.svg:md5,447214149a7ca93f224ac26d514195ec", - "DamageProfiler.log:md5,94c8bf04002336bf2e348fca3fc6ff56", - "Length_plot.pdf:md5,03d2b2e82e882adec3ca76e189504de5", - "Length_plot_combined_data.svg:md5,d81257189669bee7f8c50595d90de1c1", - "Length_plot_forward_reverse_separated.svg:md5,2530985bf000876471dc752431e50d18", + "DamagePlot.pdf:md5,2a46a3a924f8dc437b9721e286bcec4e", + "DamagePlot_five_prime.svg:md5,6f22636e53077bf58ad580aaff3c46b5", + "DamagePlot_three_prime.svg:md5,e637fe0d0714353c4a9fb53850c0488a", + "DamageProfiler.log:md5,67737d39ccb560360a9fdc8bd50870ad", + "Length_plot.pdf:md5,f48781427f21141bb45daafb320b11cc", + "Length_plot_combined_data.svg:md5,78b1e126e716baeb56789487baec1029", + "Length_plot_forward_reverse_separated.svg:md5,f8fe7e8b91acb747fa24dd612bbcdb10", "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,e16b9d9fa3b8b1bf1305184f357cb584", - "edit_distance.svg:md5,d165b5eee264a668ae1a08f1689cdaf4", + "edit_distance.pdf:md5,b8e7838941b6e98f5417148ce01e87ee", + "edit_distance.svg:md5,ce03bb5b0a22472b5ff2d4d8126db307", "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" ], @@ -66,17 +343,17 @@ "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,602fa50ee64a52ec5f19d3d13366971c", - "DamagePlot_five_prime.svg:md5,6111b6ded6edbe0aaedb25d7b7ce69d7", - "DamagePlot_three_prime.svg:md5,80e3b31889004e0d645f6888d130ddf2", - "DamageProfiler.log:md5,87f5bfea5a663f177d11b5c5aaff8e68", - "Length_plot.pdf:md5,8d9c9788714e5c18f0f5fbd44ca50ed0", - "Length_plot_combined_data.svg:md5,776d579884d6d573ec06befe492dfe2a", - "Length_plot_forward_reverse_separated.svg:md5,4dc8b92ecd5f41080d344fdffe94acd1", + "DamagePlot.pdf:md5,c34cec114dae1a97b78301e3b08f9c62", + "DamagePlot_five_prime.svg:md5,6d3ca494a8fce37fea8d4c7757df45e6", + "DamagePlot_three_prime.svg:md5,5a1ac5f56161f64f3f8f46a7ffcaf476", + "DamageProfiler.log:md5,d9060eb0059ac4fe6b18c7924da6627d", + "Length_plot.pdf:md5,8f0624914b21a859874751d70c6f82d5", + "Length_plot_combined_data.svg:md5,c09ccfdc611c76eb94028ae495d9f607", + "Length_plot_forward_reverse_separated.svg:md5,d24f085a7aa3cfd1243d10fd2105e01b", "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,c28236612e7aec0c89108a0a98055667", - "edit_distance.svg:md5,971fd85db93be8cbb080212e4c4bd1b8", + "edit_distance.pdf:md5,aedab720d1203511e972c8b401828562", + "edit_distance.svg:md5,e5a5fade20a089058fb2ba242d31207e", "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" ], @@ -87,28 +364,28 @@ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,9268839800197f8f98c9544f0d5b0847", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,422c90355dfa3149062dc4c2618b6078", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,5d76afc0e40def51f3078613b1f1940f", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,9efc80f161fda84978104195171fe4d3", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,ee214d5a80b67ab330cb29004d23c2ac", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,68c53ce698704d94af86678b0b96293e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,8f105b750d30fe800171fd1b6253796a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,51dc155d22f4996a7fe3abb8094767a0", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" ], [ - "JK2782_Mammoth_MT_Krause.bam:md5,518225332e169d3684b48c1a324c4a71", - "JK2782_Mammoth_MT_Krause.bam.bai:md5,cbd28036543a6f9fc2accd6b3b716756", + "JK2782_Mammoth_MT_Krause.bam:md5,fa3e975cd3cb8fe793c7005997a529fe", + "JK2782_Mammoth_MT_Krause.bam.bai:md5,413f61b8135183ae5b362d446d296f38", "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", - "JK2802_Mammoth_MT_Krause.bam:md5,8ebe9c477dbba95ced830fbe09fecd1b", - "JK2802_Mammoth_MT_Krause.bam.bai:md5,541baf7e85b27e4c210373cd61f93d52", + "JK2802_Mammoth_MT_Krause.bam:md5,475ffdc52e1297e273e6a2a2d5366218", + "JK2802_Mammoth_MT_Krause.bam.bai:md5,b47aef8c46ca45c22384f43ef96ee1f8", "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" ], [ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.flagstat:md5,98a2f8bb2aa9678e4cf9578ee9ab3b0e", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam:md5,7fa16f8c23d535cfb4b66075be50a097", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai:md5,6225a8b059bc4396a60165bd9d8dff91", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam:md5,8782b5bda9a8dfece65c519ccee282a8", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai:md5,ff81f602fb30d6b2e1e5ce86d53a0fc6", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.flagstat:md5,cb86b29c65c8c123a8863330316c6400", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam:md5,da658a3f61f8969d1f5d3126c39c2bf7", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai:md5,e43c10077352dc65ecc39d76f421338f" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam:md5,f0bd835b6b75e71a911d7c2d8ae1e417", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai:md5,bd4b258295870212b018eee0ba9dd22d" ], [ [ @@ -118,7 +395,7 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", - "versions.yml:md5,27cc5ccadcc551ecc4faae7357c1b1bd" + "versions.yml:md5,f6c22504bd960903cef378d15aa1cf99" ], [ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", @@ -164,30 +441,30 @@ "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" ], - "genome_results.txt:md5,d520d13c02f78d7f74bcefed4864ed61", + "genome_results.txt:md5,bed8dd40a1960be1e27f078ebc275c72", [ - "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", - "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", - "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", - "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", - "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", - "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", - "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", - "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", - "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", - "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a" + "genome_coverage_0to50_histogram.png:md5,eb29e0180058c837d275b0253fe50b8d", + "genome_coverage_across_reference.png:md5,e5ea8086fd0d512eef4ae5bb6014c50d", + "genome_coverage_histogram.png:md5,b8cf92a57b487da85b391a6844821e65", + "genome_coverage_quotes.png:md5,3336998ed9ec412cabb783858264c55f", + "genome_gc_content_per_window.png:md5,afa61450a1945d3abd7b6f5eba8e11b4", + "genome_homopolymer_indels.png:md5,cc446ea163990a3881ea3f53216beaec", + "genome_mapping_quality_across_reference.png:md5,0e32ab0698e64e2136a5ad9d692839f7", + "genome_mapping_quality_histogram.png:md5,cd3610da594d50dcae9ffb741301951e", + "genome_reads_content_per_read_position.png:md5,a4a6fd6472da7e2f3f5fc3de382cb26a", + "genome_uniq_read_starts_histogram.png:md5,e36ced7d2c5fe81b57c3a438cfa7d2d0" ], - "qualimapReport.html:md5,9ade7e2ebf6e2ab9afaed629b131f541", + "qualimapReport.html:md5,69924d9310a4cebe5a2f3491bde5d359", [ - "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", - "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", - "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", - "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", - "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", - "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", - "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", - "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", - "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e" + "coverage_across_reference.txt:md5,a3b137574b656048055259e3701dfa66", + "coverage_histogram.txt:md5,ef11ed244dea633816635cef4f6ccda2", + "duplication_rate_histogram.txt:md5,8de6fc70137f8be2f33ecc5b7e2f2fcb", + "genome_fraction_coverage.txt:md5,c4a5b85386d67af270ca1f6bd1f6be91", + "homopolymer_indels.txt:md5,28817a010a023836fcf6aac4e1e3976f", + "mapped_reads_gc-content_distribution.txt:md5,bf2a85175315e6cf13e2bd861f213977", + "mapped_reads_nucleotide_content.txt:md5,bc7b633508a2b831ecb2d7522824fe25", + "mapping_quality_across_reference.txt:md5,88854b58e0eb73b589be5da543b0189f", + "mapping_quality_histogram.txt:md5,78ac23aa0a0184e4a06144e7a488828d" ] ], "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" @@ -221,7 +498,7 @@ "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" ], - "genome_results.txt:md5,f244a1f31395a4c980ad3b39d525c231", + "genome_results.txt:md5,10318c6586c06f3d7d3a68cb0b53ed26", [ "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", @@ -235,7 +512,7 @@ "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" ], - "qualimapReport.html:md5,d89b9353f279837f73769b753e8f8d96", + "qualimapReport.html:md5,a26aec748f50f5fa474dbca446ccb950", [ "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", @@ -256,26 +533,24 @@ ] ], [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,420f8b659616e8edeb7a6001a8e26db8", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,f4060df7f4795e504511d8d9305e55e9", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45", - [ - "null_fastqc.html:md5,70581cbcf992687d091d62bfb9ca0bde", - "null_fastqc.zip:md5,c65df20a97052d23df365a8e10ac034c", - "versions.yml:md5,42fbb757df8018b4595df690155d41d2" - ], - [ - "null_1_fastqc.html:md5,e3f59126623cfa335401f0167c0d5ee5", - "null_1_fastqc.zip:md5,c6f7dd99aeb8a73e4f6ba323bb34c54f", - "null_2_fastqc.html:md5,ac5477d5a959efe94d0f4088344bedb9", - "null_2_fastqc.zip:md5,37353e0c3db914578d628b5803ced6e5", - "null_fastqc.html:md5,843572a1e2cd975451f7e718d5c5893f", - "null_fastqc.zip:md5,e85f7d5046e02e698b2b7972e8a03b23", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" - ] + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log", + "fastqc_processed/JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html", + "fastqc_processed/JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", + "fastqc_processed/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", + "fastqc_processed/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", + "fastqc_processed/versions.yml", + "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html", + "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", + "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html", + "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", + "fastqc_raw/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", + "fastqc_raw/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", + "fastqc_raw/versions.yml" ], [ "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" @@ -283,8 +558,46 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.03.0" + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T12:59:48.041198104" + }, + "deduplication": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,5d76afc0e40def51f3078613b1f1940f", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,9efc80f161fda84978104195171fe4d3", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,8f105b750d30fe800171fd1b6253796a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,51dc155d22f4996a7fe3abb8094767a0", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T11:25:56.733997039" + }, + "processing_fastqc_raw": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,57632a1d575aa5874a82afdfa34efd07", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,95a2165578924a6bdbfe35450c73b596", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,1259416f24996b643197febdc878172a", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,85ea696835a1b1eaf93d99ebb3ce97e8", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,8d4b1e3cf12c25d899538c21c9227b5e", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,c8878ce9a00f52c2e430afadca3996d3", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" }, - "timestamp": "2024-04-26T12:07:15.868736018" + "timestamp": "2024-06-28T13:08:37.37378043" } } \ No newline at end of file From 37994df02d16e8622e4d1c24852883c315c97df6 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 12 Jul 2024 12:04:13 +0200 Subject: [PATCH 04/40] More debugging --- tests/test.nf.test | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 0a9fae319..ca95086eb 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -23,8 +23,11 @@ nextflow_pipeline { { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, { assert snapshot( path("$outputDir/samtools") ).match("samtools") }, // not sure what this is... - // Special - //{ assert snapshot( path("$outputDir/damage_estimation").list().findAll{ it.toString() ==~ /.*\.(txt,json).*/ } ).match("damage_estimation") } // TODO: add additional asserts for svg/pdf exists, and log contains line + // Exceptions (variable md5sums) + { assert snapshot( + file("$outputDir/damage_estimation/damage_profiler/").list().collect { getRecursiveFileNames(it) }.list() + ).match("damage_estimation") // ## PROBLEM: NEED TO RECUSRIVELY LIST ALL FILES IN ALL THE SUB DIRECTORIES + } // TODO: add additional asserts for svg/pdf exists, and log contains line -> //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, @@ -38,9 +41,9 @@ nextflow_pipeline { } } -def getRecursiveFileNames(fileOrDir, outputDir) { +def getRecursiveFileNames(fileOrDir) { if(file(fileOrDir.toString()).isDirectory()) { - return fileOrDir.list().collect { getRecursiveFileNames(it, outputDir) } + return fileOrDir.list().collect { getRecursiveFileNames(it) } } - return fileOrDir.toString().replace("${outputDir}/", "") + return fileOrDir.toString() } From e07dc0611f630c22f4b29ec73b84217f295e4951 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 19 Jul 2024 12:05:38 +0200 Subject: [PATCH 05/40] Get working function --- tests/test.nf.test | 39 +++++++++++++++++++++++++++++++++------ tests/test.nf.test.snap | 32 +++++++++++++++++++++++++++++--- 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index ca95086eb..b5f85338d 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -25,9 +25,9 @@ nextflow_pipeline { // Exceptions (variable md5sums) { assert snapshot( - file("$outputDir/damage_estimation/damage_profiler/").list().collect { getRecursiveFileNames(it) }.list() + getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation") // ## PROBLEM: NEED TO RECUSRIVELY LIST ALL FILES IN ALL THE SUB DIRECTORIES - } // TODO: add additional asserts for svg/pdf exists, and log contains line -> + }, // TODO: add additional asserts for svg/pdf exists, and log contains line -> //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, @@ -41,9 +41,36 @@ nextflow_pipeline { } } -def getRecursiveFileNames(fileOrDir) { - if(file(fileOrDir.toString()).isDirectory()) { - return fileOrDir.list().collect { getRecursiveFileNames(it) } +// Recursively list all files in a directory and its subdirectories matching a given suffix +def getAllFilesFromDir(dir, suffix) { + def output = [] + new File(dir).eachFileRecurse() { + if (it.name.toString().endsWith(suffix)) { + output.add(it) + } } - return fileOrDir.toString() + + println(output) + return output } + + +// This works, how can we incorporate this into the snapshot? +// new File('/home/james/Downloads/').eachFileRecurse() { +// if(it.name.endsWith('.md')) { +// println it +// } +// } + +//// EVEN BETTER +// def mydir = "/home/$USER/Downloads" + +// def getAllFilesFromDir(dir) { +// def output = [] +// new File(dir).eachFileRecurse() { +// output.add(it) +// } +// return output +// } + +// getAllFilesFromDir(mydir) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index fa0b5df83..f5ab82e1c 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -206,14 +206,40 @@ "damage_estimation": { "content": [ [ - + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587", + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-06-28T13:28:42.372766811" + "timestamp": "2024-07-19T11:30:08.690300717" }, "samtools": { "content": [ From c0f93d9b7000489a0167eedd55577fd9381aafe9 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 19 Jul 2024 16:09:45 +0200 Subject: [PATCH 06/40] Get working function properly, and start integrating into snapshot: problem with collection/name not working --- tests/test.nf.test | 38 ++----- tests/test.nf.test.snap | 213 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 211 insertions(+), 40 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index b5f85338d..c2fbecec2 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -22,12 +22,16 @@ nextflow_pipeline { { assert snapshot( path("$outputDir/deduplication") ).match("deduplication") }, { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, { assert snapshot( path("$outputDir/samtools") ).match("samtools") }, // not sure what this is... - - // Exceptions (variable md5sums) - { assert snapshot( - getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') - ).match("damage_estimation") // ## PROBLEM: NEED TO RECUSRIVELY LIST ALL FILES IN ALL THE SUB DIRECTORIES - }, // TODO: add additional asserts for svg/pdf exists, and log contains line -> + { assert snapshot( path("$outputDir/damage_estimation/") ).match("damageprofiler") }, + /* + Exceptions (variable md5sums) + */ + + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.svg').collect{ path(it.toString().split("/")[-1]) } ).match("damage_estimation_svg") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.pdf').collect{ path(it.toString().split("/")[-1]) } ).match("damage_estimation_pdf") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.log').collect{ path(it.toString().split("/")[-1]) } ).match("damage_estimation_log") }, //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, @@ -49,28 +53,6 @@ def getAllFilesFromDir(dir, suffix) { output.add(it) } } - println(output) return output } - - -// This works, how can we incorporate this into the snapshot? -// new File('/home/james/Downloads/').eachFileRecurse() { -// if(it.name.endsWith('.md')) { -// println it -// } -// } - -//// EVEN BETTER -// def mydir = "/home/$USER/Downloads" - -// def getAllFilesFromDir(dir) { -// def output = [] -// new File(dir).eachFileRecurse() { -// output.add(it) -// } -// return output -// } - -// getAllFilesFromDir(mydir) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index f5ab82e1c..c941f0a38 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -16,6 +16,64 @@ }, "timestamp": "2024-06-28T13:32:44.409297996" }, + "damage_estimation_txt": { + "content": [ + [ + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587", + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-19T15:39:40.758608897" + }, + "damage_estimation_pdf": { + "content": [ + [ + "edit_distance.pdf:md5,97638e6008f73a8b2081e373229eac2a", + "Length_plot.pdf:md5,87d9b1200739a08ba72fb071064217ac", + "DamagePlot.pdf:md5,ee3b8a48f7d628144b27ec3be1e4d66f", + "edit_distance.pdf:md5,42a82d799903825fdcadc6f543d58b07", + "Length_plot.pdf:md5,50ac09f0fe6adb0ebfb95662ba0adc03", + "DamagePlot.pdf:md5,80f7d983f91c3ac8d7fef9db89fbc04d", + "edit_distance.pdf:md5,d2af315e43a7b64c9ae44fcee03c2d0c", + "Length_plot.pdf:md5,25adfe33dd896ec395c00e3f0e12ace2", + "DamagePlot.pdf:md5,a67aaca6f33fc322f1f62a1fe51b3ac7" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-19T15:39:40.935752147" + }, "mapstats": { "content": [ [ @@ -253,18 +311,6 @@ }, "timestamp": "2024-06-28T13:08:37.202608535" }, - "bam_input_stats": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T11:25:56.650730893" - }, "final_bams": { "content": [ [ @@ -608,6 +654,149 @@ }, "timestamp": "2024-06-28T11:25:56.733997039" }, + "damage_estimation_svg": { + "content": [ + [ + "DamagePlot_three_prime.svg:md5,8f4c0573a2c3391d65ebcde0f04c0f97", + "Length_plot_combined_data.svg:md5,783753a56a9bece85661c6c2e48ca6f0", + "edit_distance.svg:md5,727728a6623dd9315d730d4b4efc3b71", + "DamagePlot_five_prime.svg:md5,593066bfabcabc9fc2287392b05168ef", + "Length_plot_forward_reverse_separated.svg:md5,34dcda615c888ec5b5d2e643b9461282", + "DamagePlot_three_prime.svg:md5,0a9d8b2126edd2f94fea7cfe935a0f5b", + "Length_plot_combined_data.svg:md5,bdc1f90c37121ef4367065555e0c4641", + "edit_distance.svg:md5,845a738c68fea5233f408ebe75ab5513", + "DamagePlot_five_prime.svg:md5,f027fa14b1cae2c1af5ba1d8e10c1525", + "Length_plot_forward_reverse_separated.svg:md5,79fcfc5767b3a15e34338785bcd2153c", + "DamagePlot_three_prime.svg:md5,53769cc24ece101e37f3ba098793058f", + "Length_plot_combined_data.svg:md5,cd5ed4931dbcde0adc2204fc2a4ed4ed", + "edit_distance.svg:md5,097b66e319cafad1bfed375636c6d185", + "DamagePlot_five_prime.svg:md5,f4f76cb6f687aff256e28644d6765de8", + "Length_plot_forward_reverse_separated.svg:md5,b93ab1eced8fd70a2575c174ecab8e49" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-19T15:39:40.864058212" + }, + "damage_estimation_log": { + "content": [ + [ + "DamageProfiler.log:md5,ac330c47a2ef9418c86799c70215fdd2", + "DamageProfiler.log:md5,a7c3ef7b63509c9a12bf3e56134e087d", + "DamageProfiler.log:md5,796497ffc9b54366e521c62923c1e159" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-19T15:39:41.008802325" + }, + "bam_input_stats": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T11:25:56.650730893" + }, + "damageprofiler": { + "content": [ + [ + [ + [ + "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", + "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", + "DamagePlot.pdf:md5,ddb3a5ebc369e1039e3f22f807c6c096", + "DamagePlot_five_prime.svg:md5,8d36de3433a278b3605720d196740bc4", + "DamagePlot_three_prime.svg:md5,6403aa878aae9e6365cc6d6477bdd02f", + "DamageProfiler.log:md5,89daa99d7c3aaa0040daa731bb627ccf", + "Length_plot.pdf:md5,1d2fb0ec0e3fdf0ffba97a1d8de6ce19", + "Length_plot_combined_data.svg:md5,4a8cfad7d6109ecc265dfff087061dae", + "Length_plot_forward_reverse_separated.svg:md5,ddbdb36ec6328a88165e16c7f7845d28", + "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", + "edit_distance.pdf:md5,6f1964af59c9b93ff5699caa97c07f9e", + "edit_distance.svg:md5,0999f3346f41194f74b4496ae51b33a6", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" + ], + [ + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "DamagePlot.pdf:md5,944d575b4b6826bc5e29760c93a67988", + "DamagePlot_five_prime.svg:md5,50cf612cec265a46d39a6b9cd0b5589e", + "DamagePlot_three_prime.svg:md5,b3c7b4337c419ae075835efb573d7cef", + "DamageProfiler.log:md5,7d396fe6d76003aaa4b00b8faa43ba5c", + "Length_plot.pdf:md5,c652ff612463a2d750fe528202de350e", + "Length_plot_combined_data.svg:md5,13f88b71dace486ac35084988d7874af", + "Length_plot_forward_reverse_separated.svg:md5,b0998d11864e497cd287266423ca4999", + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "edit_distance.pdf:md5,234f8cab0d29a8bf978533ada0095246", + "edit_distance.svg:md5,94a2c1c556c95bf0f300c8024558cab1", + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" + ], + [ + "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", + "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", + "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "DamagePlot.pdf:md5,6f731e9d3449ae6d7106f513496f600f", + "DamagePlot_five_prime.svg:md5,d15d12efb8c2298fba2804c6c035f921", + "DamagePlot_three_prime.svg:md5,598d88ed614d7a4d8f164615e54b9c89", + "DamageProfiler.log:md5,3251329009cd90909e0731c5dc143005", + "Length_plot.pdf:md5,437e940cbae2ff41755086f70dc5ced2", + "Length_plot_combined_data.svg:md5,86ae7be060073b725556efa280268c29", + "Length_plot_forward_reverse_separated.svg:md5,27ff1aca8adb8994d0634de2f86af713", + "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", + "edit_distance.pdf:md5,87651a64b0a45f593acffb1a083bd511", + "edit_distance.svg:md5,4a2b6389a62d548d609297807f510a2b", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" + ], + "versions.yml:md5,2814e619e5090776204ba0c2edfa07c2" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-19T16:08:50.283444257" + }, + "damage_estimation_json": { + "content": [ + [ + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", + "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-19T15:39:40.81558494" + }, "processing_fastqc_raw": { "content": [ [ From de035ca4f05d3f43bd7bfe8744914d9f1d32af1a Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 19 Jul 2024 16:16:06 +0200 Subject: [PATCH 07/40] Extract names properly --- tests/test.nf.test | 6 +-- tests/test.nf.test.snap | 116 ++++++++++++++++++++-------------------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index c2fbecec2..90a0a30da 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -29,9 +29,9 @@ nextflow_pipeline { { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.svg').collect{ path(it.toString().split("/")[-1]) } ).match("damage_estimation_svg") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.pdf').collect{ path(it.toString().split("/")[-1]) } ).match("damage_estimation_pdf") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.log').collect{ path(it.toString().split("/")[-1]) } ).match("damage_estimation_log") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.svg').collect{ it.toString().split("/")[-1] } ).match("damage_estimation_svg") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.pdf').collect{ it.toString().split("/")[-1] } ).match("damage_estimation_pdf") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.log').collect{ it.toString().split("/")[-1] } ).match("damage_estimation_log") }, //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index c941f0a38..ac3b5204f 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -57,22 +57,22 @@ "damage_estimation_pdf": { "content": [ [ - "edit_distance.pdf:md5,97638e6008f73a8b2081e373229eac2a", - "Length_plot.pdf:md5,87d9b1200739a08ba72fb071064217ac", - "DamagePlot.pdf:md5,ee3b8a48f7d628144b27ec3be1e4d66f", - "edit_distance.pdf:md5,42a82d799903825fdcadc6f543d58b07", - "Length_plot.pdf:md5,50ac09f0fe6adb0ebfb95662ba0adc03", - "DamagePlot.pdf:md5,80f7d983f91c3ac8d7fef9db89fbc04d", - "edit_distance.pdf:md5,d2af315e43a7b64c9ae44fcee03c2d0c", - "Length_plot.pdf:md5,25adfe33dd896ec395c00e3f0e12ace2", - "DamagePlot.pdf:md5,a67aaca6f33fc322f1f62a1fe51b3ac7" + "edit_distance.pdf", + "Length_plot.pdf", + "DamagePlot.pdf", + "edit_distance.pdf", + "Length_plot.pdf", + "DamagePlot.pdf", + "edit_distance.pdf", + "Length_plot.pdf", + "DamagePlot.pdf" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T15:39:40.935752147" + "timestamp": "2024-07-19T16:14:44.22399099" }, "mapstats": { "content": [ @@ -657,42 +657,42 @@ "damage_estimation_svg": { "content": [ [ - "DamagePlot_three_prime.svg:md5,8f4c0573a2c3391d65ebcde0f04c0f97", - "Length_plot_combined_data.svg:md5,783753a56a9bece85661c6c2e48ca6f0", - "edit_distance.svg:md5,727728a6623dd9315d730d4b4efc3b71", - "DamagePlot_five_prime.svg:md5,593066bfabcabc9fc2287392b05168ef", - "Length_plot_forward_reverse_separated.svg:md5,34dcda615c888ec5b5d2e643b9461282", - "DamagePlot_three_prime.svg:md5,0a9d8b2126edd2f94fea7cfe935a0f5b", - "Length_plot_combined_data.svg:md5,bdc1f90c37121ef4367065555e0c4641", - "edit_distance.svg:md5,845a738c68fea5233f408ebe75ab5513", - "DamagePlot_five_prime.svg:md5,f027fa14b1cae2c1af5ba1d8e10c1525", - "Length_plot_forward_reverse_separated.svg:md5,79fcfc5767b3a15e34338785bcd2153c", - "DamagePlot_three_prime.svg:md5,53769cc24ece101e37f3ba098793058f", - "Length_plot_combined_data.svg:md5,cd5ed4931dbcde0adc2204fc2a4ed4ed", - "edit_distance.svg:md5,097b66e319cafad1bfed375636c6d185", - "DamagePlot_five_prime.svg:md5,f4f76cb6f687aff256e28644d6765de8", - "Length_plot_forward_reverse_separated.svg:md5,b93ab1eced8fd70a2575c174ecab8e49" + "DamagePlot_three_prime.svg", + "Length_plot_combined_data.svg", + "edit_distance.svg", + "DamagePlot_five_prime.svg", + "Length_plot_forward_reverse_separated.svg", + "DamagePlot_three_prime.svg", + "Length_plot_combined_data.svg", + "edit_distance.svg", + "DamagePlot_five_prime.svg", + "Length_plot_forward_reverse_separated.svg", + "DamagePlot_three_prime.svg", + "Length_plot_combined_data.svg", + "edit_distance.svg", + "DamagePlot_five_prime.svg", + "Length_plot_forward_reverse_separated.svg" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T15:39:40.864058212" + "timestamp": "2024-07-19T16:14:44.155073781" }, "damage_estimation_log": { "content": [ [ - "DamageProfiler.log:md5,ac330c47a2ef9418c86799c70215fdd2", - "DamageProfiler.log:md5,a7c3ef7b63509c9a12bf3e56134e087d", - "DamageProfiler.log:md5,796497ffc9b54366e521c62923c1e159" + "DamageProfiler.log", + "DamageProfiler.log", + "DamageProfiler.log" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T15:39:41.008802325" + "timestamp": "2024-07-19T16:14:44.289537043" }, "bam_input_stats": { "content": [ @@ -717,17 +717,17 @@ "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,ddb3a5ebc369e1039e3f22f807c6c096", - "DamagePlot_five_prime.svg:md5,8d36de3433a278b3605720d196740bc4", - "DamagePlot_three_prime.svg:md5,6403aa878aae9e6365cc6d6477bdd02f", - "DamageProfiler.log:md5,89daa99d7c3aaa0040daa731bb627ccf", - "Length_plot.pdf:md5,1d2fb0ec0e3fdf0ffba97a1d8de6ce19", - "Length_plot_combined_data.svg:md5,4a8cfad7d6109ecc265dfff087061dae", - "Length_plot_forward_reverse_separated.svg:md5,ddbdb36ec6328a88165e16c7f7845d28", + "DamagePlot.pdf:md5,966337bf3168499e53a2bfeb66ac0cc5", + "DamagePlot_five_prime.svg:md5,fdacda78bc51281fa6ae86acdaabe8ad", + "DamagePlot_three_prime.svg:md5,275877892b29cb1322938b119af9233f", + "DamageProfiler.log:md5,5acc182c697ded235a5b17474325c521", + "Length_plot.pdf:md5,512f3c273b224f690dd240c9857569b2", + "Length_plot_combined_data.svg:md5,986b9ed9d43e987cea49f44de87686fa", + "Length_plot_forward_reverse_separated.svg:md5,157d2ac93f446595676f9c3160457606", "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,6f1964af59c9b93ff5699caa97c07f9e", - "edit_distance.svg:md5,0999f3346f41194f74b4496ae51b33a6", + "edit_distance.pdf:md5,32245805260bf9a104bb8564fd03fd95", + "edit_distance.svg:md5,91b7a3cfa2dc065c6e433e6314706a08", "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" ], @@ -738,17 +738,17 @@ "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,944d575b4b6826bc5e29760c93a67988", - "DamagePlot_five_prime.svg:md5,50cf612cec265a46d39a6b9cd0b5589e", - "DamagePlot_three_prime.svg:md5,b3c7b4337c419ae075835efb573d7cef", - "DamageProfiler.log:md5,7d396fe6d76003aaa4b00b8faa43ba5c", - "Length_plot.pdf:md5,c652ff612463a2d750fe528202de350e", - "Length_plot_combined_data.svg:md5,13f88b71dace486ac35084988d7874af", - "Length_plot_forward_reverse_separated.svg:md5,b0998d11864e497cd287266423ca4999", + "DamagePlot.pdf:md5,7cd86afd24c97bb017225915b9ad366f", + "DamagePlot_five_prime.svg:md5,f92077f3660d7cb7b0b52a74908e91fb", + "DamagePlot_three_prime.svg:md5,5733f919ebe1413efa8595cb1a304deb", + "DamageProfiler.log:md5,adfaeb24f59793f7d856832a88ef2a9e", + "Length_plot.pdf:md5,e439f6447a76799ae0221850c528d30d", + "Length_plot_combined_data.svg:md5,cbfbdd02a010787598edaa57aa649028", + "Length_plot_forward_reverse_separated.svg:md5,0a6582c86bb91dc846a6e61c54512f9b", "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,234f8cab0d29a8bf978533ada0095246", - "edit_distance.svg:md5,94a2c1c556c95bf0f300c8024558cab1", + "edit_distance.pdf:md5,df9b67efc173e94a4f79a6df974f5672", + "edit_distance.svg:md5,c5a51711542242c073658ba82183e712", "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" ], @@ -759,17 +759,17 @@ "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,6f731e9d3449ae6d7106f513496f600f", - "DamagePlot_five_prime.svg:md5,d15d12efb8c2298fba2804c6c035f921", - "DamagePlot_three_prime.svg:md5,598d88ed614d7a4d8f164615e54b9c89", - "DamageProfiler.log:md5,3251329009cd90909e0731c5dc143005", - "Length_plot.pdf:md5,437e940cbae2ff41755086f70dc5ced2", - "Length_plot_combined_data.svg:md5,86ae7be060073b725556efa280268c29", - "Length_plot_forward_reverse_separated.svg:md5,27ff1aca8adb8994d0634de2f86af713", + "DamagePlot.pdf:md5,91210bbe604c4871d4f8f3c0c90eff8d", + "DamagePlot_five_prime.svg:md5,891186a0cca4a1f40195398516996303", + "DamagePlot_three_prime.svg:md5,d5929a48b8fe3e94cab14384ec202b40", + "DamageProfiler.log:md5,f69978a0fcea7f991354d151533dc49d", + "Length_plot.pdf:md5,d9a7ac173b6c35e285ee184f900f0b45", + "Length_plot_combined_data.svg:md5,1ef58685675cd63d6330db1df2b78db0", + "Length_plot_forward_reverse_separated.svg:md5,1299151f6bcc4e0bfd03fcdc8e19ffb9", "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,87651a64b0a45f593acffb1a083bd511", - "edit_distance.svg:md5,4a2b6389a62d548d609297807f510a2b", + "edit_distance.pdf:md5,dd86e36ac1a52eae65b548d61a19ea9a", + "edit_distance.svg:md5,ec0159737857593dc766c2547f0402d7", "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" ], @@ -781,7 +781,7 @@ "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:08:50.283444257" + "timestamp": "2024-07-19T16:14:44.076332513" }, "damage_estimation_json": { "content": [ From 7890575154429b0b6bc45b4f39413e9e866bc1ca Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 19 Jul 2024 16:22:05 +0200 Subject: [PATCH 08/40] Remove unnecesary code --- tests/test.nf.test | 9 ++- tests/test.nf.test.snap | 120 ++++++++++++++++++++-------------------- 2 files changed, 64 insertions(+), 65 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 90a0a30da..5d3ef7008 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -29,9 +29,9 @@ nextflow_pipeline { { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.svg').collect{ it.toString().split("/")[-1] } ).match("damage_estimation_svg") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.pdf').collect{ it.toString().split("/")[-1] } ).match("damage_estimation_pdf") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.log').collect{ it.toString().split("/")[-1] } ).match("damage_estimation_log") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.svg') ).match("damage_estimation_svg") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.pdf') ).match("damage_estimation_pdf") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.log') ).match("damage_estimation_log") }, //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, @@ -50,9 +50,8 @@ def getAllFilesFromDir(dir, suffix) { def output = [] new File(dir).eachFileRecurse() { if (it.name.toString().endsWith(suffix)) { - output.add(it) + output.add(it.toString().split("/")[-1]) } } - println(output) return output } diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index ac3b5204f..260998cd8 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -19,40 +19,40 @@ "damage_estimation_txt": { "content": [ [ - "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", - "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", - "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", - "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", - "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", - "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", - "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", - "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", - "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", - "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", - "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", - "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", - "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", - "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", - "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", - "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", - "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", - "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587", - "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", - "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", - "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff" + "3pGtoA_freq.txt", + "editDistance.txt", + "DNA_composition_sample.txt", + "lgdistribution.txt", + "5p_freq_misincorporations.txt", + "misincorporation.txt", + "DNA_comp_genome.txt", + "5pCtoT_freq.txt", + "3p_freq_misincorporations.txt", + "3pGtoA_freq.txt", + "editDistance.txt", + "DNA_composition_sample.txt", + "lgdistribution.txt", + "5p_freq_misincorporations.txt", + "misincorporation.txt", + "DNA_comp_genome.txt", + "5pCtoT_freq.txt", + "3p_freq_misincorporations.txt", + "3pGtoA_freq.txt", + "editDistance.txt", + "DNA_composition_sample.txt", + "lgdistribution.txt", + "5p_freq_misincorporations.txt", + "misincorporation.txt", + "DNA_comp_genome.txt", + "5pCtoT_freq.txt", + "3p_freq_misincorporations.txt" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T15:39:40.758608897" + "timestamp": "2024-07-19T16:21:00.738565595" }, "damage_estimation_pdf": { "content": [ @@ -717,17 +717,17 @@ "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,966337bf3168499e53a2bfeb66ac0cc5", - "DamagePlot_five_prime.svg:md5,fdacda78bc51281fa6ae86acdaabe8ad", - "DamagePlot_three_prime.svg:md5,275877892b29cb1322938b119af9233f", - "DamageProfiler.log:md5,5acc182c697ded235a5b17474325c521", - "Length_plot.pdf:md5,512f3c273b224f690dd240c9857569b2", - "Length_plot_combined_data.svg:md5,986b9ed9d43e987cea49f44de87686fa", - "Length_plot_forward_reverse_separated.svg:md5,157d2ac93f446595676f9c3160457606", + "DamagePlot.pdf:md5,3f3579e3711688b05d86fcb113746ccd", + "DamagePlot_five_prime.svg:md5,aeafa7d33c6c2c5c4567b3311e95dcb6", + "DamagePlot_three_prime.svg:md5,ac72921dcbd01e46921ba0420073c4cc", + "DamageProfiler.log:md5,9211b1db44acff4605b8f873d2fb175f", + "Length_plot.pdf:md5,c72f11dafcc9d30f76d2ab2a1f29842b", + "Length_plot_combined_data.svg:md5,8ae89b5e7b22ae7cf6055c521037826e", + "Length_plot_forward_reverse_separated.svg:md5,a5520a7f6f9e631fffffbd79bcbb51c2", "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,32245805260bf9a104bb8564fd03fd95", - "edit_distance.svg:md5,91b7a3cfa2dc065c6e433e6314706a08", + "edit_distance.pdf:md5,ba637c4dd5b9e62ce3dcf10576b5b7bd", + "edit_distance.svg:md5,e373708af0b348775955e1f716ca3a8b", "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" ], @@ -738,17 +738,17 @@ "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,7cd86afd24c97bb017225915b9ad366f", - "DamagePlot_five_prime.svg:md5,f92077f3660d7cb7b0b52a74908e91fb", - "DamagePlot_three_prime.svg:md5,5733f919ebe1413efa8595cb1a304deb", - "DamageProfiler.log:md5,adfaeb24f59793f7d856832a88ef2a9e", - "Length_plot.pdf:md5,e439f6447a76799ae0221850c528d30d", - "Length_plot_combined_data.svg:md5,cbfbdd02a010787598edaa57aa649028", - "Length_plot_forward_reverse_separated.svg:md5,0a6582c86bb91dc846a6e61c54512f9b", + "DamagePlot.pdf:md5,ebf18aa88dec90481569d2add2f796b2", + "DamagePlot_five_prime.svg:md5,483a00eb8c6ad1a9f56269882072dd5c", + "DamagePlot_three_prime.svg:md5,78ecaf440c4af2d9c7dd968031725729", + "DamageProfiler.log:md5,560faf54f682221c81ebc4ab91a8c4e5", + "Length_plot.pdf:md5,c5ad3b3b0b43cb57350d55b16fbdb7d6", + "Length_plot_combined_data.svg:md5,7530057d55a5737f115987832cce1fb4", + "Length_plot_forward_reverse_separated.svg:md5,6425801896a58db4a71855e67a1b53e3", "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,df9b67efc173e94a4f79a6df974f5672", - "edit_distance.svg:md5,c5a51711542242c073658ba82183e712", + "edit_distance.pdf:md5,b8bc753cb6f0ee4b6e9082a807df704e", + "edit_distance.svg:md5,1a9f3658ce26deadd9b5b84ddd41453e", "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" ], @@ -759,17 +759,17 @@ "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,91210bbe604c4871d4f8f3c0c90eff8d", - "DamagePlot_five_prime.svg:md5,891186a0cca4a1f40195398516996303", - "DamagePlot_three_prime.svg:md5,d5929a48b8fe3e94cab14384ec202b40", - "DamageProfiler.log:md5,f69978a0fcea7f991354d151533dc49d", - "Length_plot.pdf:md5,d9a7ac173b6c35e285ee184f900f0b45", - "Length_plot_combined_data.svg:md5,1ef58685675cd63d6330db1df2b78db0", - "Length_plot_forward_reverse_separated.svg:md5,1299151f6bcc4e0bfd03fcdc8e19ffb9", + "DamagePlot.pdf:md5,32db7e4428094ffd4a47ea9e5575d00f", + "DamagePlot_five_prime.svg:md5,06eb6b6a047e571ac08134dddbc424a9", + "DamagePlot_three_prime.svg:md5,83158489bcbe9a94bf50dbfe1b3a56df", + "DamageProfiler.log:md5,cdb6f0a2b757d8c199c11a298e2b46f2", + "Length_plot.pdf:md5,e66d76f499bce2fa6f21dba99070a5a0", + "Length_plot_combined_data.svg:md5,b03831587d38afb8164112ad6a11ed96", + "Length_plot_forward_reverse_separated.svg:md5,9b7f0456afa5b10a0df7b54ed07f31fe", "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,dd86e36ac1a52eae65b548d61a19ea9a", - "edit_distance.svg:md5,ec0159737857593dc766c2547f0402d7", + "edit_distance.pdf:md5,138fa3033ec72ecfe6ce29c3a3689cda", + "edit_distance.svg:md5,d3c43cf3088a4bb7b102279aaf2d09c6", "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" ], @@ -781,21 +781,21 @@ "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:14:44.076332513" + "timestamp": "2024-07-19T16:21:00.667456413" }, "damage_estimation_json": { "content": [ [ - "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", - "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", - "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97" + "dmgprof.json", + "dmgprof.json", + "dmgprof.json" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T15:39:40.81558494" + "timestamp": "2024-07-19T16:21:00.793882688" }, "processing_fastqc_raw": { "content": [ From b795b9ed9003c0d8573813ed78b5d91ccbedbaeb Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 19 Jul 2024 16:39:31 +0200 Subject: [PATCH 09/40] Get working string check function! --- tests/test.nf.test | 38 ++++++++++++++++++++---- tests/test.nf.test.snap | 64 ++++++++++++++++++++--------------------- 2 files changed, 64 insertions(+), 38 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 5d3ef7008..e48cae748 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -27,11 +27,11 @@ nextflow_pipeline { Exceptions (variable md5sums) */ - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.svg') ).match("damage_estimation_svg") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.pdf') ).match("damage_estimation_pdf") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.log') ).match("damage_estimation_log") }, + { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, + { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, + { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.svg') ).match("damage_estimation_svg") }, + { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.pdf') ).match("damage_estimation_pdf") }, + { assert snapshot( checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY') ).match("damage_estimation_log") }, //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, @@ -46,7 +46,7 @@ nextflow_pipeline { } // Recursively list all files in a directory and its subdirectories matching a given suffix -def getAllFilesFromDir(dir, suffix) { +def getAllFileNamesFromDir(dir, suffix) { def output = [] new File(dir).eachFileRecurse() { if (it.name.toString().endsWith(suffix)) { @@ -55,3 +55,29 @@ def getAllFilesFromDir(dir, suffix) { } return output } + +def checkAllFilesNamesFromDirForString(dir, suffix, string) { + def output = [] + new File(dir).eachFileRecurse() { + if (it.name.toString().endsWith(suffix)) { + output.add(it.text.contains(string)) + } + } + return output +} + + +//// VARIANT2 -> BUT IDEALLY JUST PASS A DIRECT REGEZ WOULD BE BETTER +//def getAllFilesFromDir(dir, suffix) { +// def output = [] +// new File(dir).eachFileRecurse() { +// if (it.name.toString().matches(".*\\.(${suffix.join('|')})")) { +// output.add(it) +// } +// } +// println(output) +// return output +//} +// +// +//getAllFilesFromDir(mydir, ["fasta","md"]) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 260998cd8..8945bd44c 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -683,16 +683,16 @@ "damage_estimation_log": { "content": [ [ - "DamageProfiler.log", - "DamageProfiler.log", - "DamageProfiler.log" + true, + true, + true ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:14:44.289537043" + "timestamp": "2024-07-19T16:38:34.86128972" }, "bam_input_stats": { "content": [ @@ -717,17 +717,17 @@ "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,3f3579e3711688b05d86fcb113746ccd", - "DamagePlot_five_prime.svg:md5,aeafa7d33c6c2c5c4567b3311e95dcb6", - "DamagePlot_three_prime.svg:md5,ac72921dcbd01e46921ba0420073c4cc", - "DamageProfiler.log:md5,9211b1db44acff4605b8f873d2fb175f", - "Length_plot.pdf:md5,c72f11dafcc9d30f76d2ab2a1f29842b", - "Length_plot_combined_data.svg:md5,8ae89b5e7b22ae7cf6055c521037826e", - "Length_plot_forward_reverse_separated.svg:md5,a5520a7f6f9e631fffffbd79bcbb51c2", + "DamagePlot.pdf:md5,208a1e8fb6c6cfa2ad57cacbfa713320", + "DamagePlot_five_prime.svg:md5,46dd5d8c5ffd6c7a05d8a2e89de14250", + "DamagePlot_three_prime.svg:md5,3f3cde5cb90d8ce9e0f7d37ce198c299", + "DamageProfiler.log:md5,677886034ce239576c818eae7d000e63", + "Length_plot.pdf:md5,b2f24218c876a2fba58d45112caf1cc3", + "Length_plot_combined_data.svg:md5,69716686cbc240d1870263f014ead7d6", + "Length_plot_forward_reverse_separated.svg:md5,015fadd66539e6f0c08a2d06b8fe0b87", "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,ba637c4dd5b9e62ce3dcf10576b5b7bd", - "edit_distance.svg:md5,e373708af0b348775955e1f716ca3a8b", + "edit_distance.pdf:md5,cb49b59803ccb0d12a0c93577d8931b2", + "edit_distance.svg:md5,c053e6fbe7bff9a0aa329ab6cee6c69f", "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" ], @@ -738,17 +738,17 @@ "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,ebf18aa88dec90481569d2add2f796b2", - "DamagePlot_five_prime.svg:md5,483a00eb8c6ad1a9f56269882072dd5c", - "DamagePlot_three_prime.svg:md5,78ecaf440c4af2d9c7dd968031725729", - "DamageProfiler.log:md5,560faf54f682221c81ebc4ab91a8c4e5", - "Length_plot.pdf:md5,c5ad3b3b0b43cb57350d55b16fbdb7d6", - "Length_plot_combined_data.svg:md5,7530057d55a5737f115987832cce1fb4", - "Length_plot_forward_reverse_separated.svg:md5,6425801896a58db4a71855e67a1b53e3", + "DamagePlot.pdf:md5,afd9f424576f09bdd2ea243a19944f85", + "DamagePlot_five_prime.svg:md5,a674e094f2ebee3917f164050ccef1c0", + "DamagePlot_three_prime.svg:md5,e76123b06d979794576de1afca161221", + "DamageProfiler.log:md5,59e2bcffd315468c5edad541361dc3ae", + "Length_plot.pdf:md5,c3cd0ebf39f1052f5203ac21aac10139", + "Length_plot_combined_data.svg:md5,3fc70b30e528d190ea41e77e840e5b5f", + "Length_plot_forward_reverse_separated.svg:md5,befc02f6335bece8e52478d1510a4da4", "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,b8bc753cb6f0ee4b6e9082a807df704e", - "edit_distance.svg:md5,1a9f3658ce26deadd9b5b84ddd41453e", + "edit_distance.pdf:md5,48aaa46b96a24ed51d9d38cb1cd0b1e0", + "edit_distance.svg:md5,ccb6ff8266d2de7079e4777b401126b0", "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" ], @@ -759,17 +759,17 @@ "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,32db7e4428094ffd4a47ea9e5575d00f", - "DamagePlot_five_prime.svg:md5,06eb6b6a047e571ac08134dddbc424a9", - "DamagePlot_three_prime.svg:md5,83158489bcbe9a94bf50dbfe1b3a56df", - "DamageProfiler.log:md5,cdb6f0a2b757d8c199c11a298e2b46f2", - "Length_plot.pdf:md5,e66d76f499bce2fa6f21dba99070a5a0", - "Length_plot_combined_data.svg:md5,b03831587d38afb8164112ad6a11ed96", - "Length_plot_forward_reverse_separated.svg:md5,9b7f0456afa5b10a0df7b54ed07f31fe", + "DamagePlot.pdf:md5,575b78bda440ce821fec8ceabc3cf26a", + "DamagePlot_five_prime.svg:md5,acd574adb2c653f313ece6026bbc759c", + "DamagePlot_three_prime.svg:md5,8cc1343f8c1892d4bf9a6d8f1b0cf91b", + "DamageProfiler.log:md5,32d999a8090c78b0265910d66cc0ebf0", + "Length_plot.pdf:md5,2574264a49e0a589cdebd81bba10e6c2", + "Length_plot_combined_data.svg:md5,3128731a07fa197fccaadb844910821d", + "Length_plot_forward_reverse_separated.svg:md5,c299f8d1718ed5ecdb3f87e63223f826", "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,138fa3033ec72ecfe6ce29c3a3689cda", - "edit_distance.svg:md5,d3c43cf3088a4bb7b102279aaf2d09c6", + "edit_distance.pdf:md5,38a911a75e1d29742da0b4cc802d7fb0", + "edit_distance.svg:md5,5a6b566e23f6bcee65ab5f87ea714b97", "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" ], @@ -781,7 +781,7 @@ "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:21:00.667456413" + "timestamp": "2024-07-19T16:38:34.766830902" }, "damage_estimation_json": { "content": [ From cac81523e053e3998a2bdb22f9b3b874c1913ae0 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 19 Jul 2024 16:41:16 +0200 Subject: [PATCH 10/40] TODO --- tests/test.nf.test | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index e48cae748..334cb5000 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -66,8 +66,7 @@ def checkAllFilesNamesFromDirForString(dir, suffix, string) { return output } - -//// VARIANT2 -> BUT IDEALLY JUST PASS A DIRECT REGEZ WOULD BE BETTER +//// TODO ALMOST THERE: INSTEAD OF SUFFIX JOIN, INSERT A REGEX? //def getAllFilesFromDir(dir, suffix) { // def output = [] // new File(dir).eachFileRecurse() { From a8dcd649176fee526a1a93b87cfcd5d8a4d88df2 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Sat, 20 Jul 2024 06:52:07 +0000 Subject: [PATCH 11/40] Update MQC so works on gitpod, try to re-add original getAllFilesFromDir (but not working - no md5swum?!) --- modules.json | 2 +- modules/nf-core/multiqc/environment.yml | 2 +- modules/nf-core/multiqc/main.nf | 10 +- modules/nf-core/multiqc/meta.yml | 13 + modules/nf-core/multiqc/tests/main.nf.test | 6 + .../nf-core/multiqc/tests/main.nf.test.snap | 18 +- tests/test.nf.test | 17 +- tests/test.nf.test.snap | 681 ++---------------- workflows/eager.nf | 4 +- 9 files changed, 100 insertions(+), 653 deletions(-) diff --git a/modules.json b/modules.json index 288e85c09..8f542cd8b 100644 --- a/modules.json +++ b/modules.json @@ -172,7 +172,7 @@ }, "multiqc": { "branch": "master", - "git_sha": "b7ebe95761cd389603f9cc0e0dc384c0f663815a", + "git_sha": "b80f5fd12ff7c43938f424dd76392a2704fa2396", "installed_by": ["modules"] }, "picard/createsequencedictionary": { diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml index ca39fb67e..2121492d6 100644 --- a/modules/nf-core/multiqc/environment.yml +++ b/modules/nf-core/multiqc/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - defaults dependencies: - - bioconda::multiqc=1.21 + - bioconda::multiqc=1.23 diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf index 47ac352f9..459dfea5b 100644 --- a/modules/nf-core/multiqc/main.nf +++ b/modules/nf-core/multiqc/main.nf @@ -3,14 +3,16 @@ process MULTIQC { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/multiqc:1.21--pyhdfd78af_0' : - 'biocontainers/multiqc:1.21--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/multiqc:1.23--pyhdfd78af_0' : + 'biocontainers/multiqc:1.23--pyhdfd78af_0' }" input: path multiqc_files, stageAs: "?/*" path(multiqc_config) path(extra_multiqc_config) path(multiqc_logo) + path(replace_names) + path(sample_names) output: path "*multiqc_report.html", emit: report @@ -26,6 +28,8 @@ process MULTIQC { def config = multiqc_config ? "--config $multiqc_config" : '' def extra_config = extra_multiqc_config ? "--config $extra_multiqc_config" : '' def logo = multiqc_logo ? /--cl-config 'custom_logo: "${multiqc_logo}"'/ : '' + def replace = replace_names ? "--replace-names ${replace_names}" : '' + def samples = sample_names ? "--sample-names ${sample_names}" : '' """ multiqc \\ --force \\ @@ -33,6 +37,8 @@ process MULTIQC { $config \\ $extra_config \\ $logo \\ + $replace \\ + $samples \\ . cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/multiqc/meta.yml b/modules/nf-core/multiqc/meta.yml index 45a9bc35e..382c08cbc 100644 --- a/modules/nf-core/multiqc/meta.yml +++ b/modules/nf-core/multiqc/meta.yml @@ -29,6 +29,19 @@ input: type: file description: Optional logo file for MultiQC pattern: "*.{png}" + - replace_names: + type: file + description: | + Optional two-column sample renaming file. First column a set of + patterns, second column a set of corresponding replacements. Passed via + MultiQC's `--replace-names` option. + pattern: "*.{tsv}" + - sample_names: + type: file + description: | + Optional TSV file with headers, passed to the MultiQC --sample_names + argument. + pattern: "*.{tsv}" output: - report: type: file diff --git a/modules/nf-core/multiqc/tests/main.nf.test b/modules/nf-core/multiqc/tests/main.nf.test index f1c4242ef..6aa27f4c9 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test +++ b/modules/nf-core/multiqc/tests/main.nf.test @@ -17,6 +17,8 @@ nextflow_process { input[1] = [] input[2] = [] input[3] = [] + input[4] = [] + input[5] = [] """ } } @@ -41,6 +43,8 @@ nextflow_process { input[1] = Channel.of(file("https://github.com/nf-core/tools/raw/dev/nf_core/pipeline-template/assets/multiqc_config.yml", checkIfExists: true)) input[2] = [] input[3] = [] + input[4] = [] + input[5] = [] """ } } @@ -66,6 +70,8 @@ nextflow_process { input[1] = [] input[2] = [] input[3] = [] + input[4] = [] + input[5] = [] """ } } diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap index bfebd8029..45e95e5de 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test.snap +++ b/modules/nf-core/multiqc/tests/main.nf.test.snap @@ -2,14 +2,14 @@ "multiqc_versions_single": { "content": [ [ - "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d" + "versions.yml:md5,87904cd321df21fac35d18f0fc01bb19" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.04.2" }, - "timestamp": "2024-02-29T08:48:55.657331" + "timestamp": "2024-07-10T12:41:34.562023" }, "multiqc_stub": { "content": [ @@ -17,25 +17,25 @@ "multiqc_report.html", "multiqc_data", "multiqc_plots", - "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d" + "versions.yml:md5,87904cd321df21fac35d18f0fc01bb19" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.04.2" }, - "timestamp": "2024-02-29T08:49:49.071937" + "timestamp": "2024-07-10T11:27:11.933869532" }, "multiqc_versions_config": { "content": [ [ - "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d" + "versions.yml:md5,87904cd321df21fac35d18f0fc01bb19" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.04.2" }, - "timestamp": "2024-02-29T08:49:25.457567" + "timestamp": "2024-07-10T11:26:56.709849369" } } \ No newline at end of file diff --git a/tests/test.nf.test b/tests/test.nf.test index 334cb5000..f128d329b 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -27,8 +27,8 @@ nextflow_pipeline { Exceptions (variable md5sums) */ - { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, - { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.svg') ).match("damage_estimation_svg") }, { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.pdf') ).match("damage_estimation_pdf") }, { assert snapshot( checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY') ).match("damage_estimation_log") }, @@ -46,6 +46,17 @@ nextflow_pipeline { } // Recursively list all files in a directory and its subdirectories matching a given suffix +def getAllFilesFromDir(dir, suffix) { + def output = [] + new File(dir).eachFileRecurse() { + if (it.name.toString().matches(".*\\.${suffix}")) { + output.add(file(it)) + } + } + return output +} + +// Recursively list all files names in a directory and its subdirectories matching a given suffix def getAllFileNamesFromDir(dir, suffix) { def output = [] new File(dir).eachFileRecurse() { @@ -70,7 +81,7 @@ def checkAllFilesNamesFromDirForString(dir, suffix, string) { //def getAllFilesFromDir(dir, suffix) { // def output = [] // new File(dir).eachFileRecurse() { -// if (it.name.toString().matches(".*\\.(${suffix.join('|')})")) { +// if (it.name.toString().matches(".*\\.${suffix}")) { // output.add(it) // } // } diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 8945bd44c..eee2b61eb 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -1,303 +1,35 @@ { - "processing_fastp": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,1f497b8535aa0e4281988cd14d04e4c1", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,341ecbfbb2103d8e9ce20113ffea7736", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T13:32:44.409297996" - }, "damage_estimation_txt": { "content": [ [ - "3pGtoA_freq.txt", - "editDistance.txt", - "DNA_composition_sample.txt", - "lgdistribution.txt", - "5p_freq_misincorporations.txt", - "misincorporation.txt", - "DNA_comp_genome.txt", - "5pCtoT_freq.txt", - "3p_freq_misincorporations.txt", - "3pGtoA_freq.txt", - "editDistance.txt", - "DNA_composition_sample.txt", - "lgdistribution.txt", - "5p_freq_misincorporations.txt", - "misincorporation.txt", - "DNA_comp_genome.txt", - "5pCtoT_freq.txt", - "3p_freq_misincorporations.txt", - "3pGtoA_freq.txt", - "editDistance.txt", - "DNA_composition_sample.txt", - "lgdistribution.txt", - "5p_freq_misincorporations.txt", - "misincorporation.txt", - "DNA_comp_genome.txt", - "5pCtoT_freq.txt", - "3p_freq_misincorporations.txt" + ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:21:00.738565595" + "timestamp": "2024-07-20T06:30:48.92614635" }, "damage_estimation_pdf": { "content": [ [ - "edit_distance.pdf", - "Length_plot.pdf", "DamagePlot.pdf", - "edit_distance.pdf", "Length_plot.pdf", + "edit_distance.pdf", "DamagePlot.pdf", + "Length_plot.pdf", "edit_distance.pdf", + "DamagePlot.pdf", "Length_plot.pdf", - "DamagePlot.pdf" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-19T16:14:44.22399099" - }, - "mapstats": { - "content": [ - [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", - "versions.yml:md5,f6c22504bd960903cef378d15aa1cf99" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "versions.yml:md5,04edb6451354c81b20ffba3102b625b8" - ], - [ - [ - [ - [ - [ - [ - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" - ], - "genome_results.txt:md5,77e34a3588c1743562d89580054a0307", - [ - "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", - "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", - "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", - "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", - "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", - "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", - "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", - "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", - "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", - "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a" - ], - "qualimapReport.html:md5,4d422382371f26a3b25479356dc1413c", - [ - "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", - "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", - "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", - "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", - "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", - "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", - "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", - "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", - "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e" - ] - ], - "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" - ] - ], - [ - [ - [ - [ - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" - ], - "genome_results.txt:md5,10318c6586c06f3d7d3a68cb0b53ed26", - [ - "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", - "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", - "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", - "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", - "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", - "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", - "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", - "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", - "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", - "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", - "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" - ], - "qualimapReport.html:md5,19c6ee72e4df282ed3b40e0a81dcbcf8", - [ - "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", - "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", - "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", - "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", - "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", - "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", - "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", - "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", - "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", - "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" - ] - ], - "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" - ] - ] - ] - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T13:32:44.2518606" - }, - "preprocessing": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,9d9776be3f01ac03bb27f5c9c8a3e687", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,e7e2e16afe04f4d70e5fad458079c64b", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,e623e6dfc2ce121ad19e9f49bfd5c50a", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45", - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,1fa3536dbdfde4b5272a185a61ee4a21", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,f7e8782c04288a48db09ff28c48c9646", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,817b8430741eeb8c30475c51cd4eaac9", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,8893254a98c1189fa6ebf5ee4f5a1a5f", - "versions.yml:md5,42fbb757df8018b4595df690155d41d2" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,57632a1d575aa5874a82afdfa34efd07", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,2fba3491d0f4f00387f3e2fa2eb8ae4f", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,1259416f24996b643197febdc878172a", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,d74aae16484c87c43df704c5688bb605", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,8d4b1e3cf12c25d899538c21c9227b5e", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,e558f1b3f95c9dd2f2b4a67486cce4f0", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T11:28:50.209617559" - }, - "damage_estimation": { - "content": [ - [ - "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", - "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", - "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", - "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", - "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", - "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", - "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", - "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", - "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", - "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", - "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", - "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", - "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", - "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", - "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", - "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", - "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", - "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587", - "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", - "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", - "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff" + "edit_distance.pdf" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T11:30:08.690300717" + "timestamp": "2024-07-20T06:30:49.433055327" }, "samtools": { "content": [ @@ -311,23 +43,6 @@ }, "timestamp": "2024-06-28T13:08:37.202608535" }, - "final_bams": { - "content": [ - [ - "JK2782_Mammoth_MT_Krause.bam:md5,c83509e57eba69bcb5413ce03ed6618b", - "JK2782_Mammoth_MT_Krause.bam.bai:md5,cdad2a0d2a39bdbd689d4b0ffbac8383", - "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", - "JK2802_Mammoth_MT_Krause.bam:md5,475ffdc52e1297e273e6a2a2d5366218", - "JK2802_Mammoth_MT_Krause.bam.bai:md5,b47aef8c46ca45c22384f43ef96ee1f8", - "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T13:32:44.111408553" - }, "bam_filtering": { "content": [ [ @@ -348,292 +63,6 @@ }, "timestamp": "2024-06-28T11:25:56.604142252" }, - "test_profile": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,3829853588ac224ac094d93054c7fbef", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,cea7aec832f94e0221bb7da743f3e16c", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,8f0a7ad0e353b6714701a6c5ae54d3f1", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,43a0d7aaeb7c8dae073c829504a4278f" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" - ], - [ - [ - [ - "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", - "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", - "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", - "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", - "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", - "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,5b3256627f9f626230da579db61e5c49", - "DamagePlot_five_prime.svg:md5,7210e8b3200886b87634a49ae0f9a8ac", - "DamagePlot_three_prime.svg:md5,597a75d31ef402299f12c2b2fa58c104", - "DamageProfiler.log:md5,536a0a3084fb69ba4ae0f7d8358645c3", - "Length_plot.pdf:md5,4e81f7470ea0fb0bc930e1a4322e99d3", - "Length_plot_combined_data.svg:md5,277139e458c49f1d212dbbe809273212", - "Length_plot_forward_reverse_separated.svg:md5,4253d607d3f4cbbafdc43464d4175beb", - "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", - "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,89a3d200f8726b09200a822d01465122", - "edit_distance.svg:md5,7e6dd9adfa4ad06467d0a9bf2c2267b4", - "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", - "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" - ], - [ - "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", - "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", - "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", - "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", - "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", - "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,2a46a3a924f8dc437b9721e286bcec4e", - "DamagePlot_five_prime.svg:md5,6f22636e53077bf58ad580aaff3c46b5", - "DamagePlot_three_prime.svg:md5,e637fe0d0714353c4a9fb53850c0488a", - "DamageProfiler.log:md5,67737d39ccb560360a9fdc8bd50870ad", - "Length_plot.pdf:md5,f48781427f21141bb45daafb320b11cc", - "Length_plot_combined_data.svg:md5,78b1e126e716baeb56789487baec1029", - "Length_plot_forward_reverse_separated.svg:md5,f8fe7e8b91acb747fa24dd612bbcdb10", - "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", - "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,b8e7838941b6e98f5417148ce01e87ee", - "edit_distance.svg:md5,ce03bb5b0a22472b5ff2d4d8126db307", - "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", - "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" - ], - [ - "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", - "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", - "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", - "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", - "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", - "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,c34cec114dae1a97b78301e3b08f9c62", - "DamagePlot_five_prime.svg:md5,6d3ca494a8fce37fea8d4c7757df45e6", - "DamagePlot_three_prime.svg:md5,5a1ac5f56161f64f3f8f46a7ffcaf476", - "DamageProfiler.log:md5,d9060eb0059ac4fe6b18c7924da6627d", - "Length_plot.pdf:md5,8f0624914b21a859874751d70c6f82d5", - "Length_plot_combined_data.svg:md5,c09ccfdc611c76eb94028ae495d9f607", - "Length_plot_forward_reverse_separated.svg:md5,d24f085a7aa3cfd1243d10fd2105e01b", - "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", - "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,aedab720d1203511e972c8b401828562", - "edit_distance.svg:md5,e5a5fade20a089058fb2ba242d31207e", - "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", - "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" - ], - "versions.yml:md5,2814e619e5090776204ba0c2edfa07c2" - ] - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,5d76afc0e40def51f3078613b1f1940f", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,9efc80f161fda84978104195171fe4d3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,8f105b750d30fe800171fd1b6253796a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,51dc155d22f4996a7fe3abb8094767a0", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" - ], - [ - "JK2782_Mammoth_MT_Krause.bam:md5,fa3e975cd3cb8fe793c7005997a529fe", - "JK2782_Mammoth_MT_Krause.bam.bai:md5,413f61b8135183ae5b362d446d296f38", - "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", - "JK2802_Mammoth_MT_Krause.bam:md5,475ffdc52e1297e273e6a2a2d5366218", - "JK2802_Mammoth_MT_Krause.bam.bai:md5,b47aef8c46ca45c22384f43ef96ee1f8", - "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.flagstat:md5,98a2f8bb2aa9678e4cf9578ee9ab3b0e", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam:md5,8782b5bda9a8dfece65c519ccee282a8", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai:md5,ff81f602fb30d6b2e1e5ce86d53a0fc6", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.flagstat:md5,cb86b29c65c8c123a8863330316c6400", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam:md5,f0bd835b6b75e71a911d7c2d8ae1e417", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai:md5,bd4b258295870212b018eee0ba9dd22d" - ], - [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", - "versions.yml:md5,f6c22504bd960903cef378d15aa1cf99" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "versions.yml:md5,04edb6451354c81b20ffba3102b625b8" - ], - [ - [ - [ - [ - [ - [ - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" - ], - "genome_results.txt:md5,bed8dd40a1960be1e27f078ebc275c72", - [ - "genome_coverage_0to50_histogram.png:md5,eb29e0180058c837d275b0253fe50b8d", - "genome_coverage_across_reference.png:md5,e5ea8086fd0d512eef4ae5bb6014c50d", - "genome_coverage_histogram.png:md5,b8cf92a57b487da85b391a6844821e65", - "genome_coverage_quotes.png:md5,3336998ed9ec412cabb783858264c55f", - "genome_gc_content_per_window.png:md5,afa61450a1945d3abd7b6f5eba8e11b4", - "genome_homopolymer_indels.png:md5,cc446ea163990a3881ea3f53216beaec", - "genome_mapping_quality_across_reference.png:md5,0e32ab0698e64e2136a5ad9d692839f7", - "genome_mapping_quality_histogram.png:md5,cd3610da594d50dcae9ffb741301951e", - "genome_reads_content_per_read_position.png:md5,a4a6fd6472da7e2f3f5fc3de382cb26a", - "genome_uniq_read_starts_histogram.png:md5,e36ced7d2c5fe81b57c3a438cfa7d2d0" - ], - "qualimapReport.html:md5,69924d9310a4cebe5a2f3491bde5d359", - [ - "coverage_across_reference.txt:md5,a3b137574b656048055259e3701dfa66", - "coverage_histogram.txt:md5,ef11ed244dea633816635cef4f6ccda2", - "duplication_rate_histogram.txt:md5,8de6fc70137f8be2f33ecc5b7e2f2fcb", - "genome_fraction_coverage.txt:md5,c4a5b85386d67af270ca1f6bd1f6be91", - "homopolymer_indels.txt:md5,28817a010a023836fcf6aac4e1e3976f", - "mapped_reads_gc-content_distribution.txt:md5,bf2a85175315e6cf13e2bd861f213977", - "mapped_reads_nucleotide_content.txt:md5,bc7b633508a2b831ecb2d7522824fe25", - "mapping_quality_across_reference.txt:md5,88854b58e0eb73b589be5da543b0189f", - "mapping_quality_histogram.txt:md5,78ac23aa0a0184e4a06144e7a488828d" - ] - ], - "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" - ] - ], - [ - [ - [ - [ - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "ajax-loader.gif:md5,ae6667053ad118020b8e68ccf307b519", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" - ], - "genome_results.txt:md5,10318c6586c06f3d7d3a68cb0b53ed26", - [ - "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", - "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", - "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", - "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", - "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", - "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", - "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", - "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", - "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", - "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", - "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" - ], - "qualimapReport.html:md5,a26aec748f50f5fa474dbca446ccb950", - [ - "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", - "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", - "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", - "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", - "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", - "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", - "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", - "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", - "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", - "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" - ] - ], - "versions.yml:md5,1f32280851a9253616996ce3b72d0c04" - ] - ] - ] - ] - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log", - "fastqc_processed/JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html", - "fastqc_processed/JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", - "fastqc_processed/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", - "fastqc_processed/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", - "fastqc_processed/versions.yml", - "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html", - "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", - "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html", - "fastqc_raw/JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", - "fastqc_raw/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", - "fastqc_raw/JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", - "fastqc_raw/versions.yml" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T12:59:48.041198104" - }, "deduplication": { "content": [ [ @@ -658,27 +87,27 @@ "content": [ [ "DamagePlot_three_prime.svg", - "Length_plot_combined_data.svg", - "edit_distance.svg", "DamagePlot_five_prime.svg", - "Length_plot_forward_reverse_separated.svg", - "DamagePlot_three_prime.svg", "Length_plot_combined_data.svg", - "edit_distance.svg", - "DamagePlot_five_prime.svg", "Length_plot_forward_reverse_separated.svg", + "edit_distance.svg", "DamagePlot_three_prime.svg", + "DamagePlot_five_prime.svg", "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", "edit_distance.svg", + "DamagePlot_three_prime.svg", "DamagePlot_five_prime.svg", - "Length_plot_forward_reverse_separated.svg" + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "edit_distance.svg" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:14:44.155073781" + "timestamp": "2024-07-20T06:30:49.308362955" }, "damage_estimation_log": { "content": [ @@ -717,17 +146,17 @@ "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,208a1e8fb6c6cfa2ad57cacbfa713320", - "DamagePlot_five_prime.svg:md5,46dd5d8c5ffd6c7a05d8a2e89de14250", - "DamagePlot_three_prime.svg:md5,3f3cde5cb90d8ce9e0f7d37ce198c299", - "DamageProfiler.log:md5,677886034ce239576c818eae7d000e63", - "Length_plot.pdf:md5,b2f24218c876a2fba58d45112caf1cc3", - "Length_plot_combined_data.svg:md5,69716686cbc240d1870263f014ead7d6", - "Length_plot_forward_reverse_separated.svg:md5,015fadd66539e6f0c08a2d06b8fe0b87", + "DamagePlot.pdf:md5,b378181337054a65147e9d8412ce0205", + "DamagePlot_five_prime.svg:md5,a81e11f16618d0c66a2db054dafcda69", + "DamagePlot_three_prime.svg:md5,a80745829498d374b49e069b8a1db522", + "DamageProfiler.log:md5,2eea48846d752a30a01a050d695c7ef5", + "Length_plot.pdf:md5,eaa05239076af4758a052e731d0bee8d", + "Length_plot_combined_data.svg:md5,a50415252328f10566f552cc1616667a", + "Length_plot_forward_reverse_separated.svg:md5,df44b2dc4a913262284dd04e8e6b3029", "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,cb49b59803ccb0d12a0c93577d8931b2", - "edit_distance.svg:md5,c053e6fbe7bff9a0aa329ab6cee6c69f", + "edit_distance.pdf:md5,84ae6e86e57862c30eacdecf3b4f4b75", + "edit_distance.svg:md5,e308dba2cea9d403d7b56ad91f3ccc3a", "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" ], @@ -738,17 +167,17 @@ "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,afd9f424576f09bdd2ea243a19944f85", - "DamagePlot_five_prime.svg:md5,a674e094f2ebee3917f164050ccef1c0", - "DamagePlot_three_prime.svg:md5,e76123b06d979794576de1afca161221", - "DamageProfiler.log:md5,59e2bcffd315468c5edad541361dc3ae", - "Length_plot.pdf:md5,c3cd0ebf39f1052f5203ac21aac10139", - "Length_plot_combined_data.svg:md5,3fc70b30e528d190ea41e77e840e5b5f", - "Length_plot_forward_reverse_separated.svg:md5,befc02f6335bece8e52478d1510a4da4", + "DamagePlot.pdf:md5,b0ed12708b231ee339e3d8240d57134d", + "DamagePlot_five_prime.svg:md5,ce3fc490b874a8c383b7ac85f599bfd4", + "DamagePlot_three_prime.svg:md5,3b3c165609259d11924060ff7d49b28e", + "DamageProfiler.log:md5,2882b1207a45a0f437436a65c7dc5901", + "Length_plot.pdf:md5,8b733ed5dca91968fb2a9d78e4ddd7bd", + "Length_plot_combined_data.svg:md5,18aebba1736b7ad4e259f686540a79f4", + "Length_plot_forward_reverse_separated.svg:md5,f26a09502b21d31c1f82af2bc7224d77", "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,48aaa46b96a24ed51d9d38cb1cd0b1e0", - "edit_distance.svg:md5,ccb6ff8266d2de7079e4777b401126b0", + "edit_distance.pdf:md5,3c852e083cdb327e30f7cb8a68d5b339", + "edit_distance.svg:md5,8eb09a4839016d47256a2f7cf0d83c2d", "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" ], @@ -759,17 +188,17 @@ "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,575b78bda440ce821fec8ceabc3cf26a", - "DamagePlot_five_prime.svg:md5,acd574adb2c653f313ece6026bbc759c", - "DamagePlot_three_prime.svg:md5,8cc1343f8c1892d4bf9a6d8f1b0cf91b", - "DamageProfiler.log:md5,32d999a8090c78b0265910d66cc0ebf0", - "Length_plot.pdf:md5,2574264a49e0a589cdebd81bba10e6c2", - "Length_plot_combined_data.svg:md5,3128731a07fa197fccaadb844910821d", - "Length_plot_forward_reverse_separated.svg:md5,c299f8d1718ed5ecdb3f87e63223f826", + "DamagePlot.pdf:md5,5ced2ffb879f42c3bc102a1a7113e0ee", + "DamagePlot_five_prime.svg:md5,1283e2dc2e894b220c50e0ff435ccf6a", + "DamagePlot_three_prime.svg:md5,edcbf20a695b198187c29e872ada1173", + "DamageProfiler.log:md5,4f896a5781facc9fe1b176694127f77b", + "Length_plot.pdf:md5,7f902e5d7c43b1e20d6ea822bc28a5d9", + "Length_plot_combined_data.svg:md5,af2972902c8e9a3423c38234b99cdcd1", + "Length_plot_forward_reverse_separated.svg:md5,1d1ed566ac67069c8b12ac8ef623174f", "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,38a911a75e1d29742da0b4cc802d7fb0", - "edit_distance.svg:md5,5a6b566e23f6bcee65ab5f87ea714b97", + "edit_distance.pdf:md5,7a800bda2871089c0b8dfa96007c0d29", + "edit_distance.svg:md5,422db12854ea06660b46ebc9f272c38b", "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" ], @@ -781,38 +210,18 @@ "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:38:34.766830902" + "timestamp": "2024-07-20T06:47:06.638043093" }, "damage_estimation_json": { "content": [ [ - "dmgprof.json", - "dmgprof.json", - "dmgprof.json" + ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-19T16:21:00.793882688" - }, - "processing_fastqc_raw": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,57632a1d575aa5874a82afdfa34efd07", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,95a2165578924a6bdbfe35450c73b596", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,1259416f24996b643197febdc878172a", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,85ea696835a1b1eaf93d99ebb3ce97e8", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,8d4b1e3cf12c25d899538c21c9227b5e", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,c8878ce9a00f52c2e430afadca3996d3", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T13:08:37.37378043" + "timestamp": "2024-07-20T06:30:49.131281277" } } \ No newline at end of file diff --git a/workflows/eager.nf b/workflows/eager.nf index c8964cec8..acffd4f4f 100644 --- a/workflows/eager.nf +++ b/workflows/eager.nf @@ -635,7 +635,9 @@ workflow EAGER { ch_multiqc_files.collect(), ch_multiqc_config.toList(), ch_multiqc_custom_config.toList(), - ch_multiqc_logo.toList() + ch_multiqc_logo.toList(), + [], + [] ) emit: From 56cba0cac8fb38e5aaba72f1c34089d993e4257c Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Sat, 20 Jul 2024 06:58:18 +0000 Subject: [PATCH 12/40] And get it back again --- tests/test.nf.test | 6 +- tests/test.nf.test.snap | 159 ++++++++++++++-------------------------- 2 files changed, 57 insertions(+), 108 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index f128d329b..82dec5020 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -22,7 +22,6 @@ nextflow_pipeline { { assert snapshot( path("$outputDir/deduplication") ).match("deduplication") }, { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, { assert snapshot( path("$outputDir/samtools") ).match("samtools") }, // not sure what this is... - { assert snapshot( path("$outputDir/damage_estimation/") ).match("damageprofiler") }, /* Exceptions (variable md5sums) */ @@ -49,13 +48,12 @@ nextflow_pipeline { def getAllFilesFromDir(dir, suffix) { def output = [] new File(dir).eachFileRecurse() { - if (it.name.toString().matches(".*\\.${suffix}")) { - output.add(file(it)) + if (it.name.toString().endsWith(suffix)) { + output.add(it) } } return output } - // Recursively list all files names in a directory and its subdirectories matching a given suffix def getAllFileNamesFromDir(dir, suffix) { def output = [] diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index eee2b61eb..f72308390 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -2,14 +2,40 @@ "damage_estimation_txt": { "content": [ [ - + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-20T06:30:48.92614635" + "timestamp": "2024-07-20T06:56:34.897523099" }, "damage_estimation_pdf": { "content": [ @@ -43,6 +69,18 @@ }, "timestamp": "2024-06-28T13:08:37.202608535" }, + "bam_input_stats": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-28T11:25:56.650730893" + }, "bam_filtering": { "content": [ [ @@ -63,6 +101,20 @@ }, "timestamp": "2024-06-28T11:25:56.604142252" }, + "damage_estimation_json": { + "content": [ + [ + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", + "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-20T06:56:35.003394862" + }, "deduplication": { "content": [ [ @@ -122,106 +174,5 @@ "nextflow": "24.04.3" }, "timestamp": "2024-07-19T16:38:34.86128972" - }, - "bam_input_stats": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-28T11:25:56.650730893" - }, - "damageprofiler": { - "content": [ - [ - [ - [ - "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", - "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", - "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", - "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", - "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", - "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DamagePlot.pdf:md5,b378181337054a65147e9d8412ce0205", - "DamagePlot_five_prime.svg:md5,a81e11f16618d0c66a2db054dafcda69", - "DamagePlot_three_prime.svg:md5,a80745829498d374b49e069b8a1db522", - "DamageProfiler.log:md5,2eea48846d752a30a01a050d695c7ef5", - "Length_plot.pdf:md5,eaa05239076af4758a052e731d0bee8d", - "Length_plot_combined_data.svg:md5,a50415252328f10566f552cc1616667a", - "Length_plot_forward_reverse_separated.svg:md5,df44b2dc4a913262284dd04e8e6b3029", - "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", - "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "edit_distance.pdf:md5,84ae6e86e57862c30eacdecf3b4f4b75", - "edit_distance.svg:md5,e308dba2cea9d403d7b56ad91f3ccc3a", - "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", - "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451" - ], - [ - "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", - "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", - "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", - "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", - "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", - "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DamagePlot.pdf:md5,b0ed12708b231ee339e3d8240d57134d", - "DamagePlot_five_prime.svg:md5,ce3fc490b874a8c383b7ac85f599bfd4", - "DamagePlot_three_prime.svg:md5,3b3c165609259d11924060ff7d49b28e", - "DamageProfiler.log:md5,2882b1207a45a0f437436a65c7dc5901", - "Length_plot.pdf:md5,8b733ed5dca91968fb2a9d78e4ddd7bd", - "Length_plot_combined_data.svg:md5,18aebba1736b7ad4e259f686540a79f4", - "Length_plot_forward_reverse_separated.svg:md5,f26a09502b21d31c1f82af2bc7224d77", - "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", - "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "edit_distance.pdf:md5,3c852e083cdb327e30f7cb8a68d5b339", - "edit_distance.svg:md5,8eb09a4839016d47256a2f7cf0d83c2d", - "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", - "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40" - ], - [ - "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", - "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", - "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", - "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", - "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", - "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DamagePlot.pdf:md5,5ced2ffb879f42c3bc102a1a7113e0ee", - "DamagePlot_five_prime.svg:md5,1283e2dc2e894b220c50e0ff435ccf6a", - "DamagePlot_three_prime.svg:md5,edcbf20a695b198187c29e872ada1173", - "DamageProfiler.log:md5,4f896a5781facc9fe1b176694127f77b", - "Length_plot.pdf:md5,7f902e5d7c43b1e20d6ea822bc28a5d9", - "Length_plot_combined_data.svg:md5,af2972902c8e9a3423c38234b99cdcd1", - "Length_plot_forward_reverse_separated.svg:md5,1d1ed566ac67069c8b12ac8ef623174f", - "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", - "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "edit_distance.pdf:md5,7a800bda2871089c0b8dfa96007c0d29", - "edit_distance.svg:md5,422db12854ea06660b46ebc9f272c38b", - "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", - "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" - ], - "versions.yml:md5,2814e619e5090776204ba0c2edfa07c2" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-20T06:47:06.638043093" - }, - "damage_estimation_json": { - "content": [ - [ - - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-20T06:30:49.131281277" } -} \ No newline at end of file +} From 0f12b21fc81e2690db22c355c11e1c5d0eaaf75e Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Mon, 22 Jul 2024 08:51:05 +0200 Subject: [PATCH 13/40] Sort output to ensure consistency --- tests/test.nf.test | 25 ++++---------- tests/test.nf.test.snap | 74 ++++++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 56 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 82dec5020..211e72e98 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -44,7 +44,8 @@ nextflow_pipeline { } } -// Recursively list all files in a directory and its subdirectories matching a given suffix +// Recursively list all files in a directory and its sub-directories, matching a given suffix +// TODO: use regex pattern instead of suffix? def getAllFilesFromDir(dir, suffix) { def output = [] new File(dir).eachFileRecurse() { @@ -52,9 +53,9 @@ def getAllFilesFromDir(dir, suffix) { output.add(it) } } - return output + return output.sort() } -// Recursively list all files names in a directory and its subdirectories matching a given suffix +// Recursively list all files names in a directory and its sub-directories, matching a given suffix, return file names def getAllFileNamesFromDir(dir, suffix) { def output = [] new File(dir).eachFileRecurse() { @@ -65,6 +66,7 @@ def getAllFileNamesFromDir(dir, suffix) { return output } +// Recursively list all files names in a directory and its sub-directories, matching a given suffix, return if check if given string is in file def checkAllFilesNamesFromDirForString(dir, suffix, string) { def output = [] new File(dir).eachFileRecurse() { @@ -72,20 +74,5 @@ def checkAllFilesNamesFromDirForString(dir, suffix, string) { output.add(it.text.contains(string)) } } - return output + return output.sort() } - -//// TODO ALMOST THERE: INSTEAD OF SUFFIX JOIN, INSERT A REGEX? -//def getAllFilesFromDir(dir, suffix) { -// def output = [] -// new File(dir).eachFileRecurse() { -// if (it.name.toString().matches(".*\\.${suffix}")) { -// output.add(it) -// } -// } -// println(output) -// return output -//} -// -// -//getAllFilesFromDir(mydir, ["fasta","md"]) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index f72308390..10be50ecd 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -2,60 +2,60 @@ "damage_estimation_txt": { "content": [ [ - "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", - "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", - "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", - "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", - "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", - "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", - "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", - "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", - "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", - "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", - "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", - "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587", - "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", - "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", - "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353" + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-20T06:56:34.897523099" + "timestamp": "2024-07-22T08:49:40.907112716" }, "damage_estimation_pdf": { "content": [ [ - "DamagePlot.pdf", - "Length_plot.pdf", "edit_distance.pdf", - "DamagePlot.pdf", "Length_plot.pdf", + "DamagePlot.pdf", "edit_distance.pdf", + "Length_plot.pdf", "DamagePlot.pdf", + "edit_distance.pdf", "Length_plot.pdf", - "edit_distance.pdf" + "DamagePlot.pdf" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-20T06:30:49.433055327" + "timestamp": "2024-07-22T08:49:41.006776905" }, "samtools": { "content": [ @@ -104,8 +104,8 @@ "damage_estimation_json": { "content": [ [ - "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97" ] ], @@ -113,7 +113,7 @@ "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-20T06:56:35.003394862" + "timestamp": "2024-07-22T08:49:40.952167687" }, "deduplication": { "content": [ @@ -139,27 +139,27 @@ "content": [ [ "DamagePlot_three_prime.svg", - "DamagePlot_five_prime.svg", "Length_plot_combined_data.svg", - "Length_plot_forward_reverse_separated.svg", "edit_distance.svg", - "DamagePlot_three_prime.svg", "DamagePlot_five_prime.svg", - "Length_plot_combined_data.svg", "Length_plot_forward_reverse_separated.svg", - "edit_distance.svg", "DamagePlot_three_prime.svg", - "DamagePlot_five_prime.svg", "Length_plot_combined_data.svg", + "edit_distance.svg", + "DamagePlot_five_prime.svg", "Length_plot_forward_reverse_separated.svg", - "edit_distance.svg" + "DamagePlot_three_prime.svg", + "Length_plot_combined_data.svg", + "edit_distance.svg", + "DamagePlot_five_prime.svg", + "Length_plot_forward_reverse_separated.svg" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-20T06:30:49.308362955" + "timestamp": "2024-07-22T08:49:40.983721036" }, "damage_estimation_log": { "content": [ @@ -175,4 +175,4 @@ }, "timestamp": "2024-07-19T16:38:34.86128972" } -} +} \ No newline at end of file From d41aad9328e2fd23013f89c3597652cd556c81e9 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Mon, 22 Jul 2024 09:06:56 +0200 Subject: [PATCH 14/40] Sort file name only funciton --- tests/test.nf.test | 2 +- tests/test.nf.test.snap | 36 ++++++++++++++++++------------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 211e72e98..8d3ca71c4 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -63,7 +63,7 @@ def getAllFileNamesFromDir(dir, suffix) { output.add(it.toString().split("/")[-1]) } } - return output + return output.sort() } // Recursively list all files names in a directory and its sub-directories, matching a given suffix, return if check if given string is in file diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 10be50ecd..98841a414 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -40,22 +40,22 @@ "damage_estimation_pdf": { "content": [ [ - "edit_distance.pdf", - "Length_plot.pdf", "DamagePlot.pdf", - "edit_distance.pdf", - "Length_plot.pdf", "DamagePlot.pdf", - "edit_distance.pdf", + "DamagePlot.pdf", + "Length_plot.pdf", "Length_plot.pdf", - "DamagePlot.pdf" + "Length_plot.pdf", + "edit_distance.pdf", + "edit_distance.pdf", + "edit_distance.pdf" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-22T08:49:41.006776905" + "timestamp": "2024-07-22T09:06:24.538585436" }, "samtools": { "content": [ @@ -138,28 +138,28 @@ "damage_estimation_svg": { "content": [ [ - "DamagePlot_three_prime.svg", - "Length_plot_combined_data.svg", - "edit_distance.svg", "DamagePlot_five_prime.svg", - "Length_plot_forward_reverse_separated.svg", - "DamagePlot_three_prime.svg", - "Length_plot_combined_data.svg", - "edit_distance.svg", "DamagePlot_five_prime.svg", - "Length_plot_forward_reverse_separated.svg", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamagePlot_three_prime.svg", "DamagePlot_three_prime.svg", "Length_plot_combined_data.svg", + "Length_plot_combined_data.svg", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "Length_plot_forward_reverse_separated.svg", + "Length_plot_forward_reverse_separated.svg", "edit_distance.svg", - "DamagePlot_five_prime.svg", - "Length_plot_forward_reverse_separated.svg" + "edit_distance.svg", + "edit_distance.svg" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-22T08:49:40.983721036" + "timestamp": "2024-07-22T09:06:24.525925369" }, "damage_estimation_log": { "content": [ From 61c4d24678e045427c5c844a34197f824cea9c07 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 26 Jul 2024 11:37:30 +0200 Subject: [PATCH 15/40] Start testing preprocessing --- tests/test.nf.test | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 8d3ca71c4..9a654de8e 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -26,12 +26,16 @@ nextflow_pipeline { Exceptions (variable md5sums) */ - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.txt') ).match("damage_estimation_txt") }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/", '.json') ).match("damage_estimation_json") }, - { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.svg') ).match("damage_estimation_svg") }, - { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.pdf') ).match("damage_estimation_pdf") }, + // Damage Estimation + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/" , '.txt' ) ).match("damage_estimation_txt" ) }, + { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/" , '.json') ).match("damage_estimation_json") }, + { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.svg' ) ).match("damage_estimation_svg" ) }, + { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.pdf' ) ).match("damage_estimation_pdf" ) }, { assert snapshot( checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY') ).match("damage_estimation_log") }, - //{ assert snapshot( path("$outputDir/preprocessing/").list().findAll{ it.toString() ==~ /.*\.(json|html|log)/ }).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) + + // Preprcoessing + + { assert snapshot( path("$outputDir/preprocessing/") ).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, //{ assert snapshot( path("$outputDir/final_bams") ).match("final_bams") }, From bcc3baf90acfdb1c2ea99cee47f203b3675a3bed Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 26 Jul 2024 12:04:11 +0200 Subject: [PATCH 16/40] Start adding preprocessing dir but diff not working so can't ser variability --- conf/modules.config | 20 ++++++++++---------- tests/test.nf.test.snap | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 10 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 37c5d666b..771064772 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -103,13 +103,13 @@ process { ext.prefix = { "${meta.sample_id}_${meta.library_id}_L${meta.lane}" } publishDir = [ [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/fastp" }, mode: params.publish_dir_mode, pattern: '*.fastq.gz', enabled: params.preprocessing_savepreprocessedreads ], [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/fastp" }, mode: params.publish_dir_mode, pattern: '*.{log,html,json}' ] @@ -133,13 +133,13 @@ process { ext.prefix = { "${meta.sample_id}_${meta.library_id}_L${meta.lane}" } publishDir = [ [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/fastp" }, mode: params.publish_dir_mode, pattern: '*.fastq.gz', enabled: params.preprocessing_savepreprocessedreads ], [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/fastp" }, mode: params.publish_dir_mode, pattern: '*.{log,html,json}' ] @@ -165,13 +165,13 @@ process { ext.prefix = { "${meta.sample_id}_${meta.library_id}_L${meta.lane}" } publishDir = [ [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/adapterremoval" }, mode: params.publish_dir_mode, pattern: '*.fastq.gz', enabled: params.preprocessing_savepreprocessedreads ], [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/adapterremoval" }, mode: params.publish_dir_mode, pattern: '*.settings' ] @@ -199,13 +199,13 @@ process { ext.prefix = { "${meta.sample_id}_${meta.library_id}_L${meta.lane}" } publishDir = [ [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/adapterremoval" }, mode: params.publish_dir_mode, pattern: '*.fastq.gz', enabled: params.preprocessing_savepreprocessedreads ], [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/adapterremoval" }, mode: params.publish_dir_mode, pattern: '*.settings' ] @@ -216,7 +216,7 @@ process { tag = { "${meta.sample_id}_${meta.library_id}_L${meta.lane}_${meta.reference}" } ext.prefix = { "${meta.sample_id}_${meta.library_id}_L${meta.lane}_${meta.reference}" } publishDir = [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/preprocessing/adapterremoval" }, mode: params.publish_dir_mode, pattern: '*.fastq.gz', enabled: params.preprocessing_savepreprocessedreads @@ -303,7 +303,7 @@ process { tag = { "${meta.sample_id}_${meta.library_id}_${meta.reference}" } ext.prefix = { "${meta.sample_id}_${meta.library_id}_${meta.reference}" } publishDir = [ - path: { "${params.outdir}/preprocessing" }, + path: { "${params.outdir}/bam_filtering/" }, mode: params.publish_dir_mode, pattern: '*.fastq.gz', enabled: params.preprocessing_savepreprocessedreads diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 98841a414..922b82204 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -1,4 +1,39 @@ { + "processing_fastp": { + "content": [ + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,102b48e384f588d8eb4be7d817bcb2fc", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,78b6f6419cf5d1833d69130b91cf4277", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,e8ab8f112c5f75e996168ae3ec6601be", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,27423738f2876235bd0179f4c60b201e", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,6d36ffcf221aec6c89075fa488ae559a", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,778b001967b7a79c6487bf91e3f63080", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,f256af908afd52f9e46ddc2fca4a1e82", + "versions.yml:md5,42fbb757df8018b4595df690155d41d2" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,11e990678bd0874856fb6a00bf362557", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,6110f9a6b661e4901cfbad326c97fa92", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,3d5a85bfbb863cf0b224956ad0ec97c4", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,88a2a863e6cec055f590206c33d82c1c", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,489128356b4272294d2e1c3710be382e", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,7c75f748d707a149f00498a4f57061cc", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-26T11:52:05.714664296" + }, "damage_estimation_txt": { "content": [ [ From 0b58cf7d57aa3f94128856948aa95c8002498217 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 26 Jul 2024 14:35:33 +0200 Subject: [PATCH 17/40] Backing up TODO notes --- tests/test.nf.test | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 9a654de8e..17c0a781a 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -35,7 +35,8 @@ nextflow_pipeline { // Preprcoessing - { assert snapshot( path("$outputDir/preprocessing/") ).match("processing_fastp") }, // TODO: check all three stable (I suspect log/html might not be) + { assert snapshot( path("$outputDir/preprocessing/fastp") ).match("processing_fastp") }, // TODO: Stable: JSON, varaible: HTML, LOG + { assert snapshot( path("$outputDir/preprocessing/fastp") ).match("processing_fastp") }, // TODO: Stable: HTML, variable: ZIP //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, //{ assert snapshot( path("$outputDir/final_bams") ).match("final_bams") }, From eb4824edb682dfabb95217f12b1f5994f9b019ef Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 16 Aug 2024 12:05:19 +0200 Subject: [PATCH 18/40] Final snapshots, need to double check all files are covered but I think so --- tests/test.nf.test | 54 +++++-- tests/test.nf.test.snap | 319 +++++++++++++++++++++++++++------------- 2 files changed, 259 insertions(+), 114 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 17c0a781a..20c20b775 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -27,22 +27,50 @@ nextflow_pipeline { */ // Damage Estimation - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/" , '.txt' ) ).match("damage_estimation_txt" ) }, - { assert snapshot( getAllFilesFromDir("$outputDir/damage_estimation/" , '.json') ).match("damage_estimation_json") }, - { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.svg' ) ).match("damage_estimation_svg" ) }, - { assert snapshot( getAllFileNamesFromDir("$outputDir/damage_estimation/", '.pdf' ) ).match("damage_estimation_pdf" ) }, - { assert snapshot( checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY') ).match("damage_estimation_log") }, + { assert snapshot( + getAllFilesFromDir("$outputDir/damage_estimation/" , ".txt" ), + getAllFilesFromDir("$outputDir/damage_estimation/" , ".json"), + getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".svg" ), + getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".pdf" ), + checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY'), + ).match("damage_estimation") + }, - // Preprcoessing + // Preprocessing + { assert snapshot( + getAllFilesFromDir("$outputDir/preprocessing/fastp" , '.json' ), + getAllFileNamesFromDir("$outputDir/preprocessing/fastp" , '.html' ), + checkAllFilesNamesFromDirForString("$outputDir/preprocessing/fastp" , '.log', 'time used:'), + getAllFilesFromDir("$outputDir/preprocessing/fastqc_raw" , '.html' ), + getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_raw" , '.zip' ), + getAllFilesFromDir("$outputDir/preprocessing/fastqc_processed" , '.html' ), + getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_processed" , '.zip' ), + ).match("preprocessing" ) + }, + + // Final BAMs + { assert snapshot( + getAllFilesFromDir("$outputDir/final_bams" , '.flagstat'), + getAllFileNamesFromDir("$outputDir/final_bams", '.bam' ), + getAllFileNamesFromDir("$outputDir/final_bams", '.bai' ), + ).match("final_bams") + }, + + // mapstats + { assert snapshot( + getAllFilesFromDir("$outputDir/mapstats", '.bed'), + getAllFilesFromDir("$outputDir/mapstats", '.json'), + getAllFilesFromDir("$outputDir/mapstats", '.txt'), + getAllFilesFromDir("$outputDir/mapstats", '.log'), + getAllFilesFromDir("$outputDir/mapstats", '.css'), + getAllFilesFromDir("$outputDir/mapstats", '.png'), + getAllFilesFromDir("$outputDir/mapstats", '.js'), + getAllFileNamesFromDir("$outputDir/mapstats", '.html'), // For variable qualimapReport.html + ).match("mapstats") + }, - { assert snapshot( path("$outputDir/preprocessing/fastp") ).match("processing_fastp") }, // TODO: Stable: JSON, varaible: HTML, LOG - { assert snapshot( path("$outputDir/preprocessing/fastp") ).match("processing_fastp") }, // TODO: Stable: HTML, variable: ZIP - //{ assert snapshot( path("$outputDir/preprocessing/fastqc_raw").list().findAll{ it.toString() }).match("processing_fastqc_raw") }, - //{ assert snapshot( path("$outputDir/preprocessing/fastqc_preprocessed").list().findAll{ it.toString() }).match("processing_fastqc_preprocessed") }, - //{ assert snapshot( path("$outputDir/final_bams") ).match("final_bams") }, - //{ assert snapshot( path("$outputDir/mapstats") ).match("mapstats") }, { assert new File("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").exists() }, - { assert new File("$outputDir/multiqc/multiqc_report.html").exists() }, + { assert new File("$outputDir/multiqc/multiqc_report.html").exists() }, // TODO: Would be good to check all files so numbers aren't changing(?) { assert new File("$outputDir/multiqc/multiqc_data/").exists() } ) } diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 922b82204..aea7c66d8 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -1,40 +1,184 @@ { - "processing_fastp": { + "preprocessing": { "content": [ [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,102b48e384f588d8eb4be7d817bcb2fc", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,78b6f6419cf5d1833d69130b91cf4277", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,e8ab8f112c5f75e996168ae3ec6601be", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,cc245eaecedc85ef9e4d0f0e6b1f1c45" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,27423738f2876235bd0179f4c60b201e", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,6d36ffcf221aec6c89075fa488ae559a", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,778b001967b7a79c6487bf91e3f63080", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,f256af908afd52f9e46ddc2fca4a1e82", - "versions.yml:md5,42fbb757df8018b4595df690155d41d2" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,11e990678bd0874856fb6a00bf362557", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,6110f9a6b661e4901cfbad326c97fa92", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,3d5a85bfbb863cf0b224956ad0ec97c4", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,88a2a863e6cec055f590206c33d82c1c", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,489128356b4272294d2e1c3710be382e", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,7c75f748d707a149f00498a4f57061cc", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" - ] + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html" + ], + [ + true, + true + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,9f19b0007a222be60077dcbfcba5cf4b", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,3f6a3d8f402fc829df44e13e3916bcfb", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,1acb03553efd12d73720e90a6317a7bb" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,022dd0976a7ba3a981f3f728a510c4bf", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,c371a1b24b2147e300de349096dc70c4" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-16T11:03:16.860974221" + }, + "mapstats": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", + "genome_results.txt:md5,bed8dd40a1960be1e27f078ebc275c72", + "coverage_across_reference.txt:md5,a3b137574b656048055259e3701dfa66", + "coverage_histogram.txt:md5,ef11ed244dea633816635cef4f6ccda2", + "duplication_rate_histogram.txt:md5,8de6fc70137f8be2f33ecc5b7e2f2fcb", + "genome_fraction_coverage.txt:md5,c4a5b85386d67af270ca1f6bd1f6be91", + "homopolymer_indels.txt:md5,28817a010a023836fcf6aac4e1e3976f", + "mapped_reads_gc-content_distribution.txt:md5,bf2a85175315e6cf13e2bd861f213977", + "mapped_reads_nucleotide_content.txt:md5,bc7b633508a2b831ecb2d7522824fe25", + "mapping_quality_across_reference.txt:md5,88854b58e0eb73b589be5da543b0189f", + "mapping_quality_histogram.txt:md5,78ac23aa0a0184e4a06144e7a488828d", + "genome_results.txt:md5,10318c6586c06f3d7d3a68cb0b53ed26", + "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", + "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", + "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", + "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", + "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", + "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", + "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", + "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", + "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", + "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812" + ], + [ + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "genome_coverage_0to50_histogram.png:md5,eb29e0180058c837d275b0253fe50b8d", + "genome_coverage_across_reference.png:md5,e5ea8086fd0d512eef4ae5bb6014c50d", + "genome_coverage_histogram.png:md5,b8cf92a57b487da85b391a6844821e65", + "genome_coverage_quotes.png:md5,3336998ed9ec412cabb783858264c55f", + "genome_gc_content_per_window.png:md5,afa61450a1945d3abd7b6f5eba8e11b4", + "genome_homopolymer_indels.png:md5,cc446ea163990a3881ea3f53216beaec", + "genome_mapping_quality_across_reference.png:md5,0e32ab0698e64e2136a5ad9d692839f7", + "genome_mapping_quality_histogram.png:md5,cd3610da594d50dcae9ffb741301951e", + "genome_reads_content_per_read_position.png:md5,a4a6fd6472da7e2f3f5fc3de382cb26a", + "genome_uniq_read_starts_histogram.png:md5,e36ced7d2c5fe81b57c3a438cfa7d2d0", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", + "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", + "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", + "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", + "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", + "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", + "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", + "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", + "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", + "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", + "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" + ], + [ + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" + ], + [ + "qualimapReport.html", + "qualimapReport.html" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-16T12:04:33.873658436" + }, + "samtools": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.3" + "nextflow": "24.04.2" }, - "timestamp": "2024-07-26T11:52:05.714664296" + "timestamp": "2024-06-28T13:08:37.202608535" }, - "damage_estimation_txt": { + "damage_estimation": { "content": [ [ "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", @@ -64,16 +208,29 @@ "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-22T08:49:40.907112716" - }, - "damage_estimation_pdf": { - "content": [ + ], + [ + "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", + "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97" + ], + [ + "DamagePlot_five_prime.svg", + "DamagePlot_five_prime.svg", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamagePlot_three_prime.svg", + "DamagePlot_three_prime.svg", + "Length_plot_combined_data.svg", + "Length_plot_combined_data.svg", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "Length_plot_forward_reverse_separated.svg", + "Length_plot_forward_reverse_separated.svg", + "edit_distance.svg", + "edit_distance.svg", + "edit_distance.svg" + ], [ "DamagePlot.pdf", "DamagePlot.pdf", @@ -84,37 +241,51 @@ "edit_distance.pdf", "edit_distance.pdf", "edit_distance.pdf" + ], + [ + true, + true, + true ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-22T09:06:24.538585436" + "timestamp": "2024-08-16T11:03:16.826516976" }, - "samtools": { + "bam_input_stats": { "content": [ [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.04.2" }, - "timestamp": "2024-06-28T13:08:37.202608535" + "timestamp": "2024-06-28T11:25:56.650730893" }, - "bam_input_stats": { + "final_bams": { "content": [ [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", + "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + [ + "JK2782_Mammoth_MT_Krause.bam", + "JK2802_Mammoth_MT_Krause.bam" + ], + [ + "JK2782_Mammoth_MT_Krause.bam.bai", + "JK2802_Mammoth_MT_Krause.bam.bai" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.4" }, - "timestamp": "2024-06-28T11:25:56.650730893" + "timestamp": "2024-08-16T11:34:59.933035276" }, "bam_filtering": { "content": [ @@ -136,20 +307,6 @@ }, "timestamp": "2024-06-28T11:25:56.604142252" }, - "damage_estimation_json": { - "content": [ - [ - "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", - "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", - "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-22T08:49:40.952167687" - }, "deduplication": { "content": [ [ @@ -169,45 +326,5 @@ "nextflow": "24.04.2" }, "timestamp": "2024-06-28T11:25:56.733997039" - }, - "damage_estimation_svg": { - "content": [ - [ - "DamagePlot_five_prime.svg", - "DamagePlot_five_prime.svg", - "DamagePlot_five_prime.svg", - "DamagePlot_three_prime.svg", - "DamagePlot_three_prime.svg", - "DamagePlot_three_prime.svg", - "Length_plot_combined_data.svg", - "Length_plot_combined_data.svg", - "Length_plot_combined_data.svg", - "Length_plot_forward_reverse_separated.svg", - "Length_plot_forward_reverse_separated.svg", - "Length_plot_forward_reverse_separated.svg", - "edit_distance.svg", - "edit_distance.svg", - "edit_distance.svg" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-22T09:06:24.525925369" - }, - "damage_estimation_log": { - "content": [ - [ - true, - true, - true - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-19T16:38:34.86128972" } } \ No newline at end of file From 9ce930fbef3bf74e00aa25f499675363499adb42 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 20 Sep 2024 11:09:22 +0200 Subject: [PATCH 19/40] Finalise first test --- tests/test.nf.test | 13 ++++-- tests/test.nf.test.snap | 100 ++++++++++++++++++++++------------------ 2 files changed, 65 insertions(+), 48 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 20c20b775..250fe0db0 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -56,7 +56,7 @@ nextflow_pipeline { ).match("final_bams") }, - // mapstats + // Mapstats { assert snapshot( getAllFilesFromDir("$outputDir/mapstats", '.bed'), getAllFilesFromDir("$outputDir/mapstats", '.json'), @@ -69,9 +69,16 @@ nextflow_pipeline { ).match("mapstats") }, + // MultiQC + { assert snapshot( + path("$outputDir/multiqc/multiqc_report.html").exists() + ).match("multiqc") + }, + + // Versions { assert new File("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").exists() }, - { assert new File("$outputDir/multiqc/multiqc_report.html").exists() }, // TODO: Would be good to check all files so numbers aren't changing(?) - { assert new File("$outputDir/multiqc/multiqc_data/").exists() } + + ) } } diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index aea7c66d8..4fef31f1c 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -14,9 +14,9 @@ true ], [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,9f19b0007a222be60077dcbfcba5cf4b", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,3f6a3d8f402fc829df44e13e3916bcfb", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,1acb03553efd12d73720e90a6317a7bb" + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,b1b7614a35f95ac42d34e1a774046a1b", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,e37f07392c6f70561974acc0dd1b76f6", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,dac939ea01e2cbd52131d536fee1e3fc" ], [ "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", @@ -24,8 +24,8 @@ "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip" ], [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,022dd0976a7ba3a981f3f728a510c4bf", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,c371a1b24b2147e300de349096dc70c4" + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,4f0f68065302f1a8e0f207787d842d14", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,1c149d72cae7ad66416eefb894d91f24" ], [ "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", @@ -33,10 +33,10 @@ ] ], "meta": { - "nf-test": "0.8.4", + "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-16T11:03:16.860974221" + "timestamp": "2024-09-20T10:57:38.113904584" }, "mapstats": { "content": [ @@ -57,16 +57,16 @@ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", - "genome_results.txt:md5,bed8dd40a1960be1e27f078ebc275c72", - "coverage_across_reference.txt:md5,a3b137574b656048055259e3701dfa66", - "coverage_histogram.txt:md5,ef11ed244dea633816635cef4f6ccda2", - "duplication_rate_histogram.txt:md5,8de6fc70137f8be2f33ecc5b7e2f2fcb", - "genome_fraction_coverage.txt:md5,c4a5b85386d67af270ca1f6bd1f6be91", - "homopolymer_indels.txt:md5,28817a010a023836fcf6aac4e1e3976f", - "mapped_reads_gc-content_distribution.txt:md5,bf2a85175315e6cf13e2bd861f213977", - "mapped_reads_nucleotide_content.txt:md5,bc7b633508a2b831ecb2d7522824fe25", - "mapping_quality_across_reference.txt:md5,88854b58e0eb73b589be5da543b0189f", - "mapping_quality_histogram.txt:md5,78ac23aa0a0184e4a06144e7a488828d", + "genome_results.txt:md5,77e34a3588c1743562d89580054a0307", + "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", + "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", + "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", + "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", + "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", + "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", + "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", + "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", + "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e", "genome_results.txt:md5,10318c6586c06f3d7d3a68cb0b53ed26", "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", @@ -108,16 +108,16 @@ "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "genome_coverage_0to50_histogram.png:md5,eb29e0180058c837d275b0253fe50b8d", - "genome_coverage_across_reference.png:md5,e5ea8086fd0d512eef4ae5bb6014c50d", - "genome_coverage_histogram.png:md5,b8cf92a57b487da85b391a6844821e65", - "genome_coverage_quotes.png:md5,3336998ed9ec412cabb783858264c55f", - "genome_gc_content_per_window.png:md5,afa61450a1945d3abd7b6f5eba8e11b4", - "genome_homopolymer_indels.png:md5,cc446ea163990a3881ea3f53216beaec", - "genome_mapping_quality_across_reference.png:md5,0e32ab0698e64e2136a5ad9d692839f7", - "genome_mapping_quality_histogram.png:md5,cd3610da594d50dcae9ffb741301951e", - "genome_reads_content_per_read_position.png:md5,a4a6fd6472da7e2f3f5fc3de382cb26a", - "genome_uniq_read_starts_histogram.png:md5,e36ced7d2c5fe81b57c3a438cfa7d2d0", + "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", + "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", + "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", + "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", + "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", + "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", + "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", + "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", + "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", + "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a", "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", @@ -161,10 +161,10 @@ ] ], "meta": { - "nf-test": "0.8.4", + "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-16T12:04:33.873658436" + "timestamp": "2024-09-20T11:07:00.152185112" }, "samtools": { "content": [ @@ -173,10 +173,10 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-28T13:08:37.202608535" + "timestamp": "2024-09-20T10:57:38.068432505" }, "damage_estimation": { "content": [ @@ -249,10 +249,10 @@ ] ], "meta": { - "nf-test": "0.8.4", + "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-16T11:03:16.826516976" + "timestamp": "2024-09-20T10:57:38.096518513" }, "bam_input_stats": { "content": [ @@ -261,10 +261,10 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-28T11:25:56.650730893" + "timestamp": "2024-09-20T10:57:38.041184597" }, "final_bams": { "content": [ @@ -282,10 +282,10 @@ ] ], "meta": { - "nf-test": "0.8.4", + "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-16T11:34:59.933035276" + "timestamp": "2024-09-20T10:57:38.149826087" }, "bam_filtering": { "content": [ @@ -302,10 +302,10 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-28T11:25:56.604142252" + "timestamp": "2024-09-20T10:57:38.02774831" }, "deduplication": { "content": [ @@ -322,9 +322,19 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-20T10:57:38.047231003" + }, + "multiqc": { + "content": [ + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" }, - "timestamp": "2024-06-28T11:25:56.733997039" + "timestamp": "2024-09-20T11:07:00.208492844" } } \ No newline at end of file From 6362fa326278173ad2a536735c0627e1307328f5 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 20 Sep 2024 11:46:27 +0200 Subject: [PATCH 20/40] Update tests to latest dev --- tests/test.nf.test | 1 - tests/test.nf.test.snap | 86 +++++++++++++++++------------------------ 2 files changed, 35 insertions(+), 52 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 250fe0db0..f86122bb8 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -21,7 +21,6 @@ nextflow_pipeline { { assert snapshot( path("$outputDir/bam_input_stats") ).match("bam_input_stats") }, { assert snapshot( path("$outputDir/deduplication") ).match("deduplication") }, { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, - { assert snapshot( path("$outputDir/samtools") ).match("samtools") }, // not sure what this is... /* Exceptions (variable md5sums) */ diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 4fef31f1c..5b35d12fe 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -41,12 +41,8 @@ "mapstats": { "content": [ [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_breadth.bed:md5,45b641735c8e2b4be10766a5c246068d", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_depth.bed:md5,2b6ffd36b2fb3b8b2b52b928d7a63158", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_breadth.bed:md5,5286794122bb3c67d49cc858d40f0c31", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_depth.bed:md5,5065bd5c0001f20bf4f03d62297cf4ca", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_breadth.bed:md5,16b5f8952d87e236a63e681293691832", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f" + "JK2782_Mammoth_MT_Krause_depth.bed:md5,0ce780693dc76e02352d8b43c5bd3549", + "JK2802_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f" ], [ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", @@ -57,17 +53,17 @@ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", - "genome_results.txt:md5,77e34a3588c1743562d89580054a0307", - "coverage_across_reference.txt:md5,b724388bf0301fb73cc95adcd99f3e9f", - "coverage_histogram.txt:md5,402146079b9e04bc1acc5f02e7b61d7c", - "duplication_rate_histogram.txt:md5,e6f1a6e48ba04b2aa69a09b56e10962b", - "genome_fraction_coverage.txt:md5,058852542e5052d456c3e41b2ad7fe68", - "homopolymer_indels.txt:md5,2cc3cb5d9105a4d5feca2b3dbe32494e", - "mapped_reads_gc-content_distribution.txt:md5,3262dd7abf0325ccc7935277ecff9458", - "mapped_reads_nucleotide_content.txt:md5,714ea0b92f3d0919bda34ee521035b47", - "mapping_quality_across_reference.txt:md5,bde42f64a3d9d8611a76a2402fa29fb2", - "mapping_quality_histogram.txt:md5,3943155d987a6d966950b4b77666cd4e", - "genome_results.txt:md5,10318c6586c06f3d7d3a68cb0b53ed26", + "genome_results.txt:md5,599b430297daed72a6f585882966f406", + "coverage_across_reference.txt:md5,cbafd81e7d9dcf5702d361008fb8d918", + "coverage_histogram.txt:md5,0085fba437f097d06c84e359c79646e4", + "duplication_rate_histogram.txt:md5,5e67619dcc46b155fe2e8a63b57a72e3", + "genome_fraction_coverage.txt:md5,db875d590d979d2827ff51e2536977fd", + "homopolymer_indels.txt:md5,7326bf50d7686153070c4f9c5db70076", + "mapped_reads_gc-content_distribution.txt:md5,29194ef2aaf74632ae348699fe38431d", + "mapped_reads_nucleotide_content.txt:md5,012f59aa43418782c4159bca8669a0b1", + "mapping_quality_across_reference.txt:md5,12723c3add1566c527b57ff89f21dec7", + "mapping_quality_histogram.txt:md5,805f4ecf01c21e2e9fec3b6402c1f62c", + "genome_results.txt:md5,f6d35c23075fbec197c088ede3bda265", "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", @@ -108,16 +104,16 @@ "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "genome_coverage_0to50_histogram.png:md5,80aa3c94722e4c938393a45b7015a813", - "genome_coverage_across_reference.png:md5,64b7b05ec75f24d60cb779d234fc2399", - "genome_coverage_histogram.png:md5,ef7314fa488b67773f9174cfd96a7b64", - "genome_coverage_quotes.png:md5,7e83e24f741f74978d5c1ed479d86eb2", - "genome_gc_content_per_window.png:md5,e0e20c8a65b6d41c88a6a2ef44a9ec1a", - "genome_homopolymer_indels.png:md5,e2cdb644cfca349cc7a7151175d32f0d", - "genome_mapping_quality_across_reference.png:md5,7108d78085bef09350214151e3429b89", - "genome_mapping_quality_histogram.png:md5,a9f0ca725de66c600d127baeff3d63ea", - "genome_reads_content_per_read_position.png:md5,650b98e61e3bc39351effe0a79c21876", - "genome_uniq_read_starts_histogram.png:md5,d1e870f849ba228e52d5be513eb86c8a", + "genome_coverage_0to50_histogram.png:md5,aa1f50ccad2c5e36e1ab5f7268d90494", + "genome_coverage_across_reference.png:md5,b46a6c2246f0346ea3199c7632912938", + "genome_coverage_histogram.png:md5,53bf813fca7fe3f535f231a507f33975", + "genome_coverage_quotes.png:md5,df8ff67a870eb38b9d2ea46eff618df4", + "genome_gc_content_per_window.png:md5,f22525406bd9d5e7c041ae83f65d0840", + "genome_homopolymer_indels.png:md5,a3264f44fff09fa857d76be73a847004", + "genome_mapping_quality_across_reference.png:md5,3e6ba19761e7dc4362a4edf0c610b41a", + "genome_mapping_quality_histogram.png:md5,fd2517bb1bec297e020cb544bd444c5e", + "genome_reads_content_per_read_position.png:md5,52d8200160ba180c697ae3b6329edf44", + "genome_uniq_read_starts_histogram.png:md5,0d232d6a527275c0afeeca9bd5891b84", "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", @@ -131,17 +127,17 @@ "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "genome_coverage_0to50_histogram.png:md5,405e3b012c5092a33e099042c7a479f8", - "genome_coverage_across_reference.png:md5,96f145a33a8c56cdaebb7f0197c476e4", - "genome_coverage_histogram.png:md5,53ad483690ce3db0286c493421b165f5", - "genome_coverage_quotes.png:md5,dea5046f36d0963ee25ca1ac51154382", - "genome_gc_content_per_window.png:md5,8206f9e95c9889911668f38a154faa52", - "genome_homopolymer_indels.png:md5,66811ef0c7fe5e32392e8dfced3c68f1", - "genome_mapping_quality_across_reference.png:md5,61a09c6116481dc68b408683d8d5d09c", - "genome_mapping_quality_histogram.png:md5,50c3e22a2d17c314ad30b06ff7993396", - "genome_reads_clipping_profile.png:md5,386954c65ba40aee3129aa3fd840445d", - "genome_reads_content_per_read_position.png:md5,587bd7978b3e18a65099f06c119c3f04", - "genome_uniq_read_starts_histogram.png:md5,4f7305df090a4ad3bc87342740d414ef" + "genome_coverage_0to50_histogram.png:md5,1d7153eab39f6180d7849f7a27c141be", + "genome_coverage_across_reference.png:md5,c8fa8d6eac53b3ef82fada6bc590333f", + "genome_coverage_histogram.png:md5,18ba01bd5afb81bb0b8e8dcce9ea10fe", + "genome_coverage_quotes.png:md5,0efb14b603c1bad8694aeee5a9f9f7ab", + "genome_gc_content_per_window.png:md5,75d2ad4e61179b800ea304798aa7a3a0", + "genome_homopolymer_indels.png:md5,bf9200f34a3fbfa05dd81891f4d08273", + "genome_mapping_quality_across_reference.png:md5,1bf5ba992c940fe2f7b0112d43ce917b", + "genome_mapping_quality_histogram.png:md5,e6d9f0c426a54226f9ee6585b57cf783", + "genome_reads_clipping_profile.png:md5,9c2d6a5f67319f6d2de110d3397e5a97", + "genome_reads_content_per_read_position.png:md5,73911bc8f836dea7d112ffbd3de1682e", + "genome_uniq_read_starts_histogram.png:md5,9412271ffb21c94e7a3e52955c0f246a" ], [ "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", @@ -164,19 +160,7 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-20T11:07:00.152185112" - }, - "samtools": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T10:57:38.068432505" + "timestamp": "2024-09-20T11:31:43.218013576" }, "damage_estimation": { "content": [ From bb12ca1643171c5473c1b85f112d4771225bfed2 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 4 Oct 2024 12:18:40 +0200 Subject: [PATCH 21/40] Start refactoring to use nft-utils --- nf-test.config | 6 + tests/test.nf.test | 146 ++++++++---------- tests/test.nf.test.snap | 322 ++-------------------------------------- 3 files changed, 84 insertions(+), 390 deletions(-) diff --git a/nf-test.config b/nf-test.config index 870799df0..694c202a3 100644 --- a/nf-test.config +++ b/nf-test.config @@ -5,4 +5,10 @@ config { configFile "tests/nextflow.config" profile "" + // load the necessary plugins + plugins { + load "nft-bam@0.3.0" + load "nft-utils@0.0.2" + } + } diff --git a/tests/test.nf.test b/tests/test.nf.test index f86122bb8..64e7e875d 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -15,64 +15,75 @@ nextflow_pipeline { } then { + + // Each top level results directory should be tested with individual snapshots/variables + // stable_name_ is for files with varaible md5sums (i.e. content) so only names will be compared + // stable_content_ is for files with stable md5sums (i.e. content) so md5sums will be compared + // For both functions, use the third argument to specify globs to exclude certain files + // If a directory is fully stable, you can drop `stable_name_*` + // Generate with: nf-test test --tag test --profile docker,test --update-snapshot + def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering", true , null, null ) + def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering", false, null, null ) + assertAll( { assert workflow.success }, - { assert snapshot( path("$outputDir/bam_filtering") ).match("bam_filtering") }, - { assert snapshot( path("$outputDir/bam_input_stats") ).match("bam_input_stats") }, - { assert snapshot( path("$outputDir/deduplication") ).match("deduplication") }, - { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, - /* - Exceptions (variable md5sums) - */ - // Damage Estimation - { assert snapshot( - getAllFilesFromDir("$outputDir/damage_estimation/" , ".txt" ), - getAllFilesFromDir("$outputDir/damage_estimation/" , ".json"), - getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".svg" ), - getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".pdf" ), - checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY'), - ).match("damage_estimation") - }, + { assert snapshot( stable_name_bamfiltering*.name, stable_content_bamfiltering ).match("bam_filtering") }, + // { assert snapshot( path("$outputDir/bam_input_stats") ).match("bam_input_stats") }, + // { assert snapshot( path("$outputDir/deduplication") ).match("deduplication") }, + // { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, + // /* + // Exceptions (variable md5sums) + // */ - // Preprocessing - { assert snapshot( - getAllFilesFromDir("$outputDir/preprocessing/fastp" , '.json' ), - getAllFileNamesFromDir("$outputDir/preprocessing/fastp" , '.html' ), - checkAllFilesNamesFromDirForString("$outputDir/preprocessing/fastp" , '.log', 'time used:'), - getAllFilesFromDir("$outputDir/preprocessing/fastqc_raw" , '.html' ), - getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_raw" , '.zip' ), - getAllFilesFromDir("$outputDir/preprocessing/fastqc_processed" , '.html' ), - getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_processed" , '.zip' ), - ).match("preprocessing" ) - }, + // // Damage Estimation + // { assert snapshot( + // getAllFilesFromDir("$outputDir/damage_estimation/" , ".txt" ), + // getAllFilesFromDir("$outputDir/damage_estimation/" , ".json"), + // getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".svg" ), + // getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".pdf" ), + // checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY'), + // ).match("damage_estimation") + // }, - // Final BAMs - { assert snapshot( - getAllFilesFromDir("$outputDir/final_bams" , '.flagstat'), - getAllFileNamesFromDir("$outputDir/final_bams", '.bam' ), - getAllFileNamesFromDir("$outputDir/final_bams", '.bai' ), - ).match("final_bams") - }, + // // Preprocessing + // { assert snapshot( + // getAllFilesFromDir("$outputDir/preprocessing/fastp" , '.json' ), + // getAllFileNamesFromDir("$outputDir/preprocessing/fastp" , '.html' ), + // checkAllFilesNamesFromDirForString("$outputDir/preprocessing/fastp" , '.log', 'time used:'), + // getAllFilesFromDir("$outputDir/preprocessing/fastqc_raw" , '.html' ), + // getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_raw" , '.zip' ), + // getAllFilesFromDir("$outputDir/preprocessing/fastqc_processed" , '.html' ), + // getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_processed" , '.zip' ), + // ).match("preprocessing" ) + // }, - // Mapstats - { assert snapshot( - getAllFilesFromDir("$outputDir/mapstats", '.bed'), - getAllFilesFromDir("$outputDir/mapstats", '.json'), - getAllFilesFromDir("$outputDir/mapstats", '.txt'), - getAllFilesFromDir("$outputDir/mapstats", '.log'), - getAllFilesFromDir("$outputDir/mapstats", '.css'), - getAllFilesFromDir("$outputDir/mapstats", '.png'), - getAllFilesFromDir("$outputDir/mapstats", '.js'), - getAllFileNamesFromDir("$outputDir/mapstats", '.html'), // For variable qualimapReport.html - ).match("mapstats") - }, + // // Final BAMs + // { assert snapshot( + // getAllFilesFromDir("$outputDir/final_bams" , '.flagstat'), + // getAllFileNamesFromDir("$outputDir/final_bams", '.bam' ), + // getAllFileNamesFromDir("$outputDir/final_bams", '.bai' ), + // ).match("final_bams") + // }, - // MultiQC - { assert snapshot( - path("$outputDir/multiqc/multiqc_report.html").exists() - ).match("multiqc") - }, + // // Mapstats + // { assert snapshot( + // getAllFilesFromDir("$outputDir/mapstats", '.bed'), + // getAllFilesFromDir("$outputDir/mapstats", '.json'), + // getAllFilesFromDir("$outputDir/mapstats", '.txt'), + // getAllFilesFromDir("$outputDir/mapstats", '.log'), + // getAllFilesFromDir("$outputDir/mapstats", '.css'), + // getAllFilesFromDir("$outputDir/mapstats", '.png'), + // getAllFilesFromDir("$outputDir/mapstats", '.js'), + // getAllFileNamesFromDir("$outputDir/mapstats", '.html'), // For variable qualimapReport.html + // ).match("mapstats") + // }, + + // // MultiQC + // { assert snapshot( + // path("$outputDir/multiqc/multiqc_report.html").exists() + // ).match("multiqc") + // }, // Versions { assert new File("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").exists() }, @@ -82,36 +93,3 @@ nextflow_pipeline { } } } - -// Recursively list all files in a directory and its sub-directories, matching a given suffix -// TODO: use regex pattern instead of suffix? -def getAllFilesFromDir(dir, suffix) { - def output = [] - new File(dir).eachFileRecurse() { - if (it.name.toString().endsWith(suffix)) { - output.add(it) - } - } - return output.sort() -} -// Recursively list all files names in a directory and its sub-directories, matching a given suffix, return file names -def getAllFileNamesFromDir(dir, suffix) { - def output = [] - new File(dir).eachFileRecurse() { - if (it.name.toString().endsWith(suffix)) { - output.add(it.toString().split("/")[-1]) - } - } - return output.sort() -} - -// Recursively list all files names in a directory and its sub-directories, matching a given suffix, return if check if given string is in file -def checkAllFilesNamesFromDirForString(dir, suffix, string) { - def output = [] - new File(dir).eachFileRecurse() { - if (it.name.toString().endsWith(suffix)) { - output.add(it.text.contains(string)) - } - } - return output.sort() -} diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 5b35d12fe..aad0adc34 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -1,324 +1,34 @@ { - "preprocessing": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html" - ], - [ - true, - true - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,b1b7614a35f95ac42d34e1a774046a1b", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,e37f07392c6f70561974acc0dd1b76f6", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,dac939ea01e2cbd52131d536fee1e3fc" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,4f0f68065302f1a8e0f207787d842d14", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,1c149d72cae7ad66416eefb894d91f24" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T10:57:38.113904584" - }, - "mapstats": { - "content": [ - [ - "JK2782_Mammoth_MT_Krause_depth.bed:md5,0ce780693dc76e02352d8b43c5bd3549", - "JK2802_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", - "genome_results.txt:md5,599b430297daed72a6f585882966f406", - "coverage_across_reference.txt:md5,cbafd81e7d9dcf5702d361008fb8d918", - "coverage_histogram.txt:md5,0085fba437f097d06c84e359c79646e4", - "duplication_rate_histogram.txt:md5,5e67619dcc46b155fe2e8a63b57a72e3", - "genome_fraction_coverage.txt:md5,db875d590d979d2827ff51e2536977fd", - "homopolymer_indels.txt:md5,7326bf50d7686153070c4f9c5db70076", - "mapped_reads_gc-content_distribution.txt:md5,29194ef2aaf74632ae348699fe38431d", - "mapped_reads_nucleotide_content.txt:md5,012f59aa43418782c4159bca8669a0b1", - "mapping_quality_across_reference.txt:md5,12723c3add1566c527b57ff89f21dec7", - "mapping_quality_histogram.txt:md5,805f4ecf01c21e2e9fec3b6402c1f62c", - "genome_results.txt:md5,f6d35c23075fbec197c088ede3bda265", - "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", - "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", - "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", - "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", - "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", - "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", - "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", - "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", - "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", - "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - [ - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", - "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", - "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", - "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", - "report.css:md5,7a5f09eaf7c176f966f4e8854168b812" - ], - [ - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "genome_coverage_0to50_histogram.png:md5,aa1f50ccad2c5e36e1ab5f7268d90494", - "genome_coverage_across_reference.png:md5,b46a6c2246f0346ea3199c7632912938", - "genome_coverage_histogram.png:md5,53bf813fca7fe3f535f231a507f33975", - "genome_coverage_quotes.png:md5,df8ff67a870eb38b9d2ea46eff618df4", - "genome_gc_content_per_window.png:md5,f22525406bd9d5e7c041ae83f65d0840", - "genome_homopolymer_indels.png:md5,a3264f44fff09fa857d76be73a847004", - "genome_mapping_quality_across_reference.png:md5,3e6ba19761e7dc4362a4edf0c610b41a", - "genome_mapping_quality_histogram.png:md5,fd2517bb1bec297e020cb544bd444c5e", - "genome_reads_content_per_read_position.png:md5,52d8200160ba180c697ae3b6329edf44", - "genome_uniq_read_starts_histogram.png:md5,0d232d6a527275c0afeeca9bd5891b84", - "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", - "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", - "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", - "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", - "comment.png:md5,882e40f3d6a16c6ed35659b105251525", - "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", - "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", - "file.png:md5,6587e59c55e626744eb6fc11129d99a7", - "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", - "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", - "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", - "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", - "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", - "genome_coverage_0to50_histogram.png:md5,1d7153eab39f6180d7849f7a27c141be", - "genome_coverage_across_reference.png:md5,c8fa8d6eac53b3ef82fada6bc590333f", - "genome_coverage_histogram.png:md5,18ba01bd5afb81bb0b8e8dcce9ea10fe", - "genome_coverage_quotes.png:md5,0efb14b603c1bad8694aeee5a9f9f7ab", - "genome_gc_content_per_window.png:md5,75d2ad4e61179b800ea304798aa7a3a0", - "genome_homopolymer_indels.png:md5,bf9200f34a3fbfa05dd81891f4d08273", - "genome_mapping_quality_across_reference.png:md5,1bf5ba992c940fe2f7b0112d43ce917b", - "genome_mapping_quality_histogram.png:md5,e6d9f0c426a54226f9ee6585b57cf783", - "genome_reads_clipping_profile.png:md5,9c2d6a5f67319f6d2de110d3397e5a97", - "genome_reads_content_per_read_position.png:md5,73911bc8f836dea7d112ffbd3de1682e", - "genome_uniq_read_starts_histogram.png:md5,9412271ffb21c94e7a3e52955c0f246a" - ], - [ - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85", - "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", - "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", - "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", - "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", - "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85" - ], - [ - "qualimapReport.html", - "qualimapReport.html" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T11:31:43.218013576" - }, - "damage_estimation": { - "content": [ - [ - "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", - "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", - "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", - "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", - "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", - "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", - "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", - "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", - "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", - "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", - "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", - "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", - "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", - "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", - "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", - "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", - "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", - "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", - "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", - "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", - "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", - "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", - "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", - "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", - "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", - "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", - "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" - ], - [ - "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", - "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", - "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97" - ], - [ - "DamagePlot_five_prime.svg", - "DamagePlot_five_prime.svg", - "DamagePlot_five_prime.svg", - "DamagePlot_three_prime.svg", - "DamagePlot_three_prime.svg", - "DamagePlot_three_prime.svg", - "Length_plot_combined_data.svg", - "Length_plot_combined_data.svg", - "Length_plot_combined_data.svg", - "Length_plot_forward_reverse_separated.svg", - "Length_plot_forward_reverse_separated.svg", - "Length_plot_forward_reverse_separated.svg", - "edit_distance.svg", - "edit_distance.svg", - "edit_distance.svg" - ], - [ - "DamagePlot.pdf", - "DamagePlot.pdf", - "DamagePlot.pdf", - "Length_plot.pdf", - "Length_plot.pdf", - "Length_plot.pdf", - "edit_distance.pdf", - "edit_distance.pdf", - "edit_distance.pdf" - ], - [ - true, - true, - true - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T10:57:38.096518513" - }, - "bam_input_stats": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T10:57:38.041184597" - }, - "final_bams": { + "bam_filtering": { "content": [ [ - "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", - "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" - ], - [ - "JK2782_Mammoth_MT_Krause.bam", - "JK2802_Mammoth_MT_Krause.bam" + "bam_filtering", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai" ], - [ - "JK2782_Mammoth_MT_Krause.bam.bai", - "JK2802_Mammoth_MT_Krause.bam.bai" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T10:57:38.149826087" - }, - "bam_filtering": { - "content": [ [ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,3829853588ac224ac094d93054c7fbef", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,cea7aec832f94e0221bb7da743f3e16c", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,8f0a7ad0e353b6714701a6c5ae54d3f1", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,43a0d7aaeb7c8dae073c829504a4278f" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" ] ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-20T10:57:38.02774831" - }, - "deduplication": { - "content": [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,5d76afc0e40def51f3078613b1f1940f", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,9efc80f161fda84978104195171fe4d3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,8f105b750d30fe800171fd1b6253796a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,51dc155d22f4996a7fe3abb8094767a0", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T10:57:38.047231003" - }, - "multiqc": { - "content": [ - true - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-20T11:07:00.208492844" + "timestamp": "2024-10-04T12:14:05.550908684" } } \ No newline at end of file From 87fafc590e07f4e7486274ac25320da06df62342 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 11 Oct 2024 10:52:52 +0200 Subject: [PATCH 22/40] fix qualimap output dir typo --- conf/modules.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/modules.config b/conf/modules.config index da4fc70de..4913f781c 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -1066,7 +1066,7 @@ process { withName: 'QUALIMAP_BAMQC_WITHBED|QUALIMAP_BAMQC_NOBED' { tag = { "${meta.reference}|${meta.sample_id}" } publishDir = [ - path: { "${params.outdir}/mapstats/qualimap/${meta.reference}/${meta.sample_id}/}" }, + path: { "${params.outdir}/mapstats/qualimap/${meta.reference}/${meta.sample_id}/" }, mode: params.publish_dir_mode, enabled: true ] From ef71d3b4d55d0fc28ff5b0ce391f68a863994e6d Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 11 Oct 2024 10:54:59 +0200 Subject: [PATCH 23/40] no sampleid in qualimap outdir --- conf/modules.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/modules.config b/conf/modules.config index 4913f781c..3b520fb8f 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -1066,7 +1066,7 @@ process { withName: 'QUALIMAP_BAMQC_WITHBED|QUALIMAP_BAMQC_NOBED' { tag = { "${meta.reference}|${meta.sample_id}" } publishDir = [ - path: { "${params.outdir}/mapstats/qualimap/${meta.reference}/${meta.sample_id}/" }, + path: { "${params.outdir}/mapstats/qualimap/${meta.reference}/" }, mode: params.publish_dir_mode, enabled: true ] From a7fadc6ebca83db93986f147877845b842003757 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 18 Oct 2024 15:00:19 +0200 Subject: [PATCH 24/40] bump nft-utils version --- nf-test.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nf-test.config b/nf-test.config index 694c202a3..43c9704c2 100644 --- a/nf-test.config +++ b/nf-test.config @@ -8,7 +8,7 @@ config { // load the necessary plugins plugins { load "nft-bam@0.3.0" - load "nft-utils@0.0.2" + load "nft-utils@0.0.3" } } From 4baefafec615ff381774cd629520e91d66e7fc34 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 18 Oct 2024 15:00:40 +0200 Subject: [PATCH 25/40] start refactoring to use nft-utils --- tests/test.nf.test | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 64e7e875d..1e2805cf4 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -19,41 +19,41 @@ nextflow_pipeline { // Each top level results directory should be tested with individual snapshots/variables // stable_name_ is for files with varaible md5sums (i.e. content) so only names will be compared // stable_content_ is for files with stable md5sums (i.e. content) so md5sums will be compared - // For both functions, use the third argument to specify globs to exclude certain files + // For both cases, use the third argument to specify globs to exclude certain files // If a directory is fully stable, you can drop `stable_name_*` // Generate with: nf-test test --tag test --profile docker,test --update-snapshot - def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering", true , null, null ) - def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering", false, null, null ) + // Test with: nf-test test --tag test --profile docker,test + def stable_name_all = getAllFilesFromDir("$outputDir/" , true , null , null , ['*', '**/*'] ) + def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , null , null , ['*', '**/*'] ) + def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) + def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*', '**/*'] ) + def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*', '**/*'] ) + def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) + def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) + def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.zip', '**/fastp/*.html'], null , ['*', '**/*'] ) + def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['*', '**/*'] ) assertAll( { assert workflow.success }, + // This checks that there are no missing or additional output files. + // Also a good starting point to look at all the files in the output folder than need to be checked in subsequent sections. + { assert snapshot( stable_name_all*.name ).match("all_files") }, - { assert snapshot( stable_name_bamfiltering*.name, stable_content_bamfiltering ).match("bam_filtering") }, - // { assert snapshot( path("$outputDir/bam_input_stats") ).match("bam_input_stats") }, - // { assert snapshot( path("$outputDir/deduplication") ).match("deduplication") }, - // { assert snapshot( path("$outputDir/mapping") ).match("mapping") }, - // /* - // Exceptions (variable md5sums) - // */ - - // // Damage Estimation - // { assert snapshot( - // getAllFilesFromDir("$outputDir/damage_estimation/" , ".txt" ), - // getAllFilesFromDir("$outputDir/damage_estimation/" , ".json"), - // getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".svg" ), - // getAllFileNamesFromDir("$outputDir/damage_estimation/" , ".pdf" ), - // checkAllFilesNamesFromDirForString("$outputDir/damage_estimation/", '.log', 'FINISHED SUCCESSFULLY'), - // ).match("damage_estimation") - // }, + // Checking changes to contents of each section + { assert snapshot( stable_content_bamfiltering ).match("bam_filtering") }, + { assert snapshot( stable_content_baminputstats ).match("bam_input_stats") }, + { assert snapshot( stable_content_deduplication ).match("deduplication") }, + { assert snapshot( stable_content_mapping ).match("mapping") }, + { assert snapshot( stable_content_damageestimation, stable_name_damageestimation*.name ).match("damage_estimation") }, // // Preprocessing // { assert snapshot( // getAllFilesFromDir("$outputDir/preprocessing/fastp" , '.json' ), - // getAllFileNamesFromDir("$outputDir/preprocessing/fastp" , '.html' ), - // checkAllFilesNamesFromDirForString("$outputDir/preprocessing/fastp" , '.log', 'time used:'), // getAllFilesFromDir("$outputDir/preprocessing/fastqc_raw" , '.html' ), - // getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_raw" , '.zip' ), // getAllFilesFromDir("$outputDir/preprocessing/fastqc_processed" , '.html' ), + // checkAllFilesNamesFromDirForString("$outputDir/preprocessing/fastp" , '.log', 'time used:'), + // getAllFileNamesFromDir("$outputDir/preprocessing/fastp" , '.html' ), + // getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_raw" , '.zip' ), // getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_processed" , '.zip' ), // ).match("preprocessing" ) // }, From 8b7e9505a9fbeefcca896f4cc9b7d9ff11b29529 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 18 Oct 2024 15:07:01 +0200 Subject: [PATCH 26/40] update snapshot. Not sure it works yet. --- tests/test.nf.test.snap | 548 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 543 insertions(+), 5 deletions(-) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index aad0adc34..0354f299a 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -1,5 +1,5 @@ { - "bam_filtering": { + "all_files": { "content": [ [ "bam_filtering", @@ -11,9 +11,516 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", + "bam_input_stats", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat", + "damage_estimation", + "damageprofiler", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause", + "3pGtoA_freq.txt", + "3p_freq_misincorporations.txt", + "5pCtoT_freq.txt", + "5p_freq_misincorporations.txt", + "DNA_comp_genome.txt", + "DNA_composition_sample.txt", + "DamagePlot.pdf", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamageProfiler.log", + "Length_plot.pdf", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "dmgprof.json", + "editDistance.txt", + "edit_distance.pdf", + "edit_distance.svg", + "lgdistribution.txt", + "misincorporation.txt", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause", + "3pGtoA_freq.txt", + "3p_freq_misincorporations.txt", + "5pCtoT_freq.txt", + "5p_freq_misincorporations.txt", + "DNA_comp_genome.txt", + "DNA_composition_sample.txt", + "DamagePlot.pdf", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamageProfiler.log", + "Length_plot.pdf", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "dmgprof.json", + "editDistance.txt", + "edit_distance.pdf", + "edit_distance.svg", + "lgdistribution.txt", + "misincorporation.txt", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause", + "3pGtoA_freq.txt", + "3p_freq_misincorporations.txt", + "5pCtoT_freq.txt", + "5p_freq_misincorporations.txt", + "DNA_comp_genome.txt", + "DNA_composition_sample.txt", + "DamagePlot.pdf", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamageProfiler.log", + "Length_plot.pdf", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "dmgprof.json", + "editDistance.txt", + "edit_distance.pdf", + "edit_distance.svg", + "lgdistribution.txt", + "misincorporation.txt", + "versions.yml", + "deduplication", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat", + "final_bams", + "raw", + "JK2782_Mammoth_MT_Krause.bam", + "JK2782_Mammoth_MT_Krause.bam.bai", + "JK2782_Mammoth_MT_Krause.flagstat", + "JK2802_Mammoth_MT_Krause.bam", + "JK2802_Mammoth_MT_Krause.bam.bai", + "JK2802_Mammoth_MT_Krause.flagstat", + "mapping", + "bwaaln", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.flagstat", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.flagstat", + "mapstats", + "bedtools", + "JK2782_Mammoth_MT_Krause_depth.bed", + "JK2802_Mammoth_MT_Krause_depth.bed", + "versions.yml", + "endorspy", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json", + "preseq", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log", + "versions.yml", + "qualimap", + "Mammoth_MT_Krause", + "JK2782", + "css", + "agogo.css", + "ajax-loader.gif", + "basic.css", + "bgfooter.png", + "bgtop.png", + "comment-bright.png", + "comment-close.png", + "comment.png", + "doctools.js", + "down-pressed.png", + "down.png", + "file.png", + "jquery.js", + "minus.png", + "plus.png", + "pygments.css", + "qualimap_logo_small.png", + "report.css", + "searchtools.js", + "underscore.js", + "up-pressed.png", + "up.png", + "websupport.js", + "genome_results.txt", + "images_qualimapReport", + "genome_coverage_0to50_histogram.png", + "genome_coverage_across_reference.png", + "genome_coverage_histogram.png", + "genome_coverage_quotes.png", + "genome_gc_content_per_window.png", + "genome_homopolymer_indels.png", + "genome_mapping_quality_across_reference.png", + "genome_mapping_quality_histogram.png", + "genome_reads_content_per_read_position.png", + "genome_uniq_read_starts_histogram.png", + "qualimapReport.html", + "raw_data_qualimapReport", + "coverage_across_reference.txt", + "coverage_histogram.txt", + "duplication_rate_histogram.txt", + "genome_fraction_coverage.txt", + "homopolymer_indels.txt", + "mapped_reads_gc-content_distribution.txt", + "mapped_reads_nucleotide_content.txt", + "mapping_quality_across_reference.txt", + "mapping_quality_histogram.txt", + "JK2802", + "css", + "agogo.css", + "ajax-loader.gif", + "basic.css", + "bgfooter.png", + "bgtop.png", + "comment-bright.png", + "comment-close.png", + "comment.png", + "doctools.js", + "down-pressed.png", + "down.png", + "file.png", + "jquery.js", + "minus.png", + "plus.png", + "pygments.css", + "qualimap_logo_small.png", + "report.css", + "searchtools.js", + "underscore.js", + "up-pressed.png", + "up.png", + "websupport.js", + "genome_results.txt", + "images_qualimapReport", + "genome_coverage_0to50_histogram.png", + "genome_coverage_across_reference.png", + "genome_coverage_histogram.png", + "genome_coverage_quotes.png", + "genome_gc_content_per_window.png", + "genome_homopolymer_indels.png", + "genome_mapping_quality_across_reference.png", + "genome_mapping_quality_histogram.png", + "genome_reads_clipping_profile.png", + "genome_reads_content_per_read_position.png", + "genome_uniq_read_starts_histogram.png", + "qualimapReport.html", + "raw_data_qualimapReport", + "coverage_across_reference.txt", + "coverage_histogram.txt", + "duplication_rate_histogram.txt", + "genome_fraction_coverage.txt", + "homopolymer_indels.txt", + "mapped_reads_clipping_profile.txt", + "mapped_reads_gc-content_distribution.txt", + "mapped_reads_nucleotide_content.txt", + "mapping_quality_across_reference.txt", + "mapping_quality_histogram.txt", + "versions.yml", + "multiqc", + "multiqc_data", + "fastp-insert-size-plot.txt", + "fastp-seq-content-gc-plot_Read_1_After_filtering.txt", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.txt", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.txt", + "fastp-seq-content-n-plot_Read_1_After_filtering.txt", + "fastp-seq-content-n-plot_Read_1_Before_filtering.txt", + "fastp-seq-content-n-plot_Read_2_Before_filtering.txt", + "fastp-seq-quality-plot_Read_1_After_filtering.txt", + "fastp-seq-quality-plot_Read_1_Before_filtering.txt", + "fastp-seq-quality-plot_Read_2_Before_filtering.txt", + "fastp_filtered_reads_plot.txt", + "fastqc-status-check-heatmap.txt", + "fastqc_adapter_content_plot.txt", + "fastqc_per_base_n_content_plot.txt", + "fastqc_per_base_sequence_quality_plot.txt", + "fastqc_per_sequence_gc_content_plot_Counts.txt", + "fastqc_per_sequence_gc_content_plot_Percentages.txt", + "fastqc_per_sequence_quality_scores_plot.txt", + "fastqc_sequence_counts_plot.txt", + "fastqc_sequence_duplication_levels_plot.txt", + "fastqc_sequence_length_distribution_plot.txt", + "fastqc_top_overrepresented_sequences_table.txt", + "fiveprime_misinc_plot.txt", + "length-distribution-Forward.txt", + "length-distribution-Reverse.txt", + "mapdamage-fiveprime_misinc_plot.txt", + "mapdamage-length-distribution-Forward.txt", + "mapdamage-length-distribution-Reverse.txt", + "mapdamage-threeprime_misinc_plot.txt", + "multiqc.log", + "multiqc_citations.txt", + "multiqc_data.json", + "multiqc_general_stats.txt", + "multiqc_sources.txt", + "preseq_complexity_plot_molecules.txt", + "qualimap_coverage_histogram.txt", + "qualimap_gc_content.txt", + "qualimap_genome_fraction.txt", + "samtools-flagstat-dp_Percentage_of_total.txt", + "samtools-flagstat-dp_Read_counts.txt", + "threeprime_misinc_plot.txt", + "multiqc_plots", + "pdf", + "fastp-insert-size-plot.pdf", + "fastp-seq-content-gc-plot_Read_1_After_filtering.pdf", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.pdf", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.pdf", + "fastp-seq-content-n-plot_Read_1_After_filtering.pdf", + "fastp-seq-content-n-plot_Read_1_Before_filtering.pdf", + "fastp-seq-content-n-plot_Read_2_Before_filtering.pdf", + "fastp-seq-quality-plot_Read_1_After_filtering.pdf", + "fastp-seq-quality-plot_Read_1_Before_filtering.pdf", + "fastp-seq-quality-plot_Read_2_Before_filtering.pdf", + "fastp_filtered_reads_plot-cnt.pdf", + "fastp_filtered_reads_plot-pct.pdf", + "fastqc-status-check-heatmap.pdf", + "fastqc_adapter_content_plot.pdf", + "fastqc_per_base_n_content_plot.pdf", + "fastqc_per_base_sequence_quality_plot.pdf", + "fastqc_per_sequence_gc_content_plot_Counts.pdf", + "fastqc_per_sequence_gc_content_plot_Percentages.pdf", + "fastqc_per_sequence_quality_scores_plot.pdf", + "fastqc_sequence_counts_plot-cnt.pdf", + "fastqc_sequence_counts_plot-pct.pdf", + "fastqc_sequence_duplication_levels_plot.pdf", + "fastqc_sequence_length_distribution_plot.pdf", + "fastqc_top_overrepresented_sequences_table.pdf", + "fiveprime_misinc_plot.pdf", + "general_stats_table.pdf", + "length-distribution-Forward.pdf", + "length-distribution-Reverse.pdf", + "mapdamage-fiveprime_misinc_plot.pdf", + "mapdamage-length-distribution-Forward.pdf", + "mapdamage-length-distribution-Reverse.pdf", + "mapdamage-threeprime_misinc_plot.pdf", + "preseq_complexity_plot_molecules.pdf", + "qualimap_coverage_histogram.pdf", + "qualimap_gc_content.pdf", + "qualimap_genome_fraction.pdf", + "samtools-flagstat-dp_Percentage_of_total.pdf", + "samtools-flagstat-dp_Read_counts.pdf", + "threeprime_misinc_plot.pdf", + "png", + "fastp-insert-size-plot.png", + "fastp-seq-content-gc-plot_Read_1_After_filtering.png", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.png", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.png", + "fastp-seq-content-n-plot_Read_1_After_filtering.png", + "fastp-seq-content-n-plot_Read_1_Before_filtering.png", + "fastp-seq-content-n-plot_Read_2_Before_filtering.png", + "fastp-seq-quality-plot_Read_1_After_filtering.png", + "fastp-seq-quality-plot_Read_1_Before_filtering.png", + "fastp-seq-quality-plot_Read_2_Before_filtering.png", + "fastp_filtered_reads_plot-cnt.png", + "fastp_filtered_reads_plot-pct.png", + "fastqc-status-check-heatmap.png", + "fastqc_adapter_content_plot.png", + "fastqc_per_base_n_content_plot.png", + "fastqc_per_base_sequence_quality_plot.png", + "fastqc_per_sequence_gc_content_plot_Counts.png", + "fastqc_per_sequence_gc_content_plot_Percentages.png", + "fastqc_per_sequence_quality_scores_plot.png", + "fastqc_sequence_counts_plot-cnt.png", + "fastqc_sequence_counts_plot-pct.png", + "fastqc_sequence_duplication_levels_plot.png", + "fastqc_sequence_length_distribution_plot.png", + "fastqc_top_overrepresented_sequences_table.png", + "fiveprime_misinc_plot.png", + "general_stats_table.png", + "length-distribution-Forward.png", + "length-distribution-Reverse.png", + "mapdamage-fiveprime_misinc_plot.png", + "mapdamage-length-distribution-Forward.png", + "mapdamage-length-distribution-Reverse.png", + "mapdamage-threeprime_misinc_plot.png", + "preseq_complexity_plot_molecules.png", + "qualimap_coverage_histogram.png", + "qualimap_gc_content.png", + "qualimap_genome_fraction.png", + "samtools-flagstat-dp_Percentage_of_total.png", + "samtools-flagstat-dp_Read_counts.png", + "threeprime_misinc_plot.png", + "svg", + "fastp-insert-size-plot.svg", + "fastp-seq-content-gc-plot_Read_1_After_filtering.svg", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.svg", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.svg", + "fastp-seq-content-n-plot_Read_1_After_filtering.svg", + "fastp-seq-content-n-plot_Read_1_Before_filtering.svg", + "fastp-seq-content-n-plot_Read_2_Before_filtering.svg", + "fastp-seq-quality-plot_Read_1_After_filtering.svg", + "fastp-seq-quality-plot_Read_1_Before_filtering.svg", + "fastp-seq-quality-plot_Read_2_Before_filtering.svg", + "fastp_filtered_reads_plot-cnt.svg", + "fastp_filtered_reads_plot-pct.svg", + "fastqc-status-check-heatmap.svg", + "fastqc_adapter_content_plot.svg", + "fastqc_per_base_n_content_plot.svg", + "fastqc_per_base_sequence_quality_plot.svg", + "fastqc_per_sequence_gc_content_plot_Counts.svg", + "fastqc_per_sequence_gc_content_plot_Percentages.svg", + "fastqc_per_sequence_quality_scores_plot.svg", + "fastqc_sequence_counts_plot-cnt.svg", + "fastqc_sequence_counts_plot-pct.svg", + "fastqc_sequence_duplication_levels_plot.svg", + "fastqc_sequence_length_distribution_plot.svg", + "fastqc_top_overrepresented_sequences_table.svg", + "fiveprime_misinc_plot.svg", + "general_stats_table.svg", + "length-distribution-Forward.svg", + "length-distribution-Reverse.svg", + "mapdamage-fiveprime_misinc_plot.svg", + "mapdamage-length-distribution-Forward.svg", + "mapdamage-length-distribution-Reverse.svg", + "mapdamage-threeprime_misinc_plot.svg", + "preseq_complexity_plot_molecules.svg", + "qualimap_coverage_histogram.svg", + "qualimap_gc_content.svg", + "qualimap_genome_fraction.svg", + "samtools-flagstat-dp_Percentage_of_total.svg", + "samtools-flagstat-dp_Read_counts.svg", + "threeprime_misinc_plot.svg", + "multiqc_report.html", + "pipeline_info", + "execution_report_2024-10-18_14-59-26.html", + "execution_timeline_2024-10-18_14-59-26.html", + "nf_core_pipeline_software_mqc_versions.yml", + "params_2024-10-18_14-59-47.json", + "pipeline_dag_2024-10-18_14-59-26.html", + "preprocessing", + "fastp", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log", + "fastqc_processed", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", + "versions.yml", + "fastqc_raw", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", + "versions.yml" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-10-18T15:02:27.794599" + }, + "damage_estimation": { + "content": [ + [ + "3pGtoA_freq.txt:md5,c32ef382b55fed96816df63993c520eb", + "3p_freq_misincorporations.txt:md5,2d4d9e2906c2238d27fa7e441bba2b33", + "5pCtoT_freq.txt:md5,d6e1401fb49387f83d842977ee47a9d2", + "5p_freq_misincorporations.txt:md5,af2192b8a97699519d060baa3c8982fe", + "DNA_comp_genome.txt:md5,0f27b55f4a7c2731f35761be4feddbfa", + "DNA_composition_sample.txt:md5,1336769b56151d9de542610c4a8ef662", + "dmgprof.json:md5,e829fb37f3e12842a6139e1d4cfe19dc", + "editDistance.txt:md5,7c00cd7cc4bd87c2da4debaa2704a66a", + "lgdistribution.txt:md5,3c176293ea8e58d1d56a95e693727f7a", + "misincorporation.txt:md5,e25101ff61a0a3c377f8bc0252ee4451", + "3pGtoA_freq.txt:md5,59aa1691a1c420dffeff4edc4a9cb0dd", + "3p_freq_misincorporations.txt:md5,15f64d35fc97bab2fed172fec292c3c9", + "5pCtoT_freq.txt:md5,51511bb6d9278afeb35099ab8b117119", + "5p_freq_misincorporations.txt:md5,fc0939e3e176deef644c0bd24cb0d141", + "DNA_comp_genome.txt:md5,76762da07599aff410c2ec531cd19720", + "DNA_composition_sample.txt:md5,0a4d26c613bbc4541eb51ec1344d6ef4", + "dmgprof.json:md5,49a1a9b445abf48904ead652a16fb7e4", + "editDistance.txt:md5,5feeaa4b7018320fd9937e271299375c", + "lgdistribution.txt:md5,3728eba42dd0b577a8566c103c342eb4", + "misincorporation.txt:md5,a2d9fed1148fe02e372f0905c7e15b40", + "3pGtoA_freq.txt:md5,24ae86cb4dd4e558412344a98d582bae", + "3p_freq_misincorporations.txt:md5,fe312a520a01f198bf248f396b179aff", + "5pCtoT_freq.txt:md5,5a04f777d38930e205213298e70e09f1", + "5p_freq_misincorporations.txt:md5,8ecb71fca75a2f86cf44eb0cf4bfd269", + "DNA_comp_genome.txt:md5,b78d2826f0e1be4990120105c83d0b06", + "DNA_composition_sample.txt:md5,dd78c33e4d9367759e82c31247685a3b", + "dmgprof.json:md5,98c584c20659b11692cbd1e280deeb97", + "editDistance.txt:md5,059c352bf858c5ddb27e88253654e353", + "lgdistribution.txt:md5,5e8760bf271b743aa3c7c96414fb9991", + "misincorporation.txt:md5,983d8fab464d67481b222aff57b06587" ], [ + "DamagePlot.pdf", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamageProfiler.log", + "Length_plot.pdf", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "edit_distance.pdf", + "edit_distance.svg", + "DamagePlot.pdf", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamageProfiler.log", + "Length_plot.pdf", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "edit_distance.pdf", + "edit_distance.svg", + "DamagePlot.pdf", + "DamagePlot_five_prime.svg", + "DamagePlot_three_prime.svg", + "DamageProfiler.log", + "Length_plot.pdf", + "Length_plot_combined_data.svg", + "Length_plot_forward_reverse_separated.svg", + "edit_distance.pdf", + "edit_distance.svg" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-10-18T13:54:20.880593" + }, + "bam_input_stats": { + "content": [ + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + ], + "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-10-18T11:21:25.027198" + }, + "bam_filtering": { + "content": [ + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" + ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", @@ -26,9 +533,40 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-10-18T15:02:27.869167" + }, + "deduplication": { + "content": [ + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,7627b6d3207e71034c5c2c52c53aea2e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,7627b6d3207e71034c5c2c52c53aea2e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-04T12:14:05.550908684" + "timestamp": "2024-10-18T15:02:27.942872" } } \ No newline at end of file From 2e5bf4f7239dcfa9a4385ec0a2849d62cafb55ab Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 8 Nov 2024 12:25:59 +0100 Subject: [PATCH 27/40] add preprocessing --- tests/test.nf.test | 16 ++--- tests/test.nf.test.snap | 127 ++++++++++++++++++++++++++++++++++------ 2 files changed, 118 insertions(+), 25 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 1e2805cf4..ead132682 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -23,16 +23,17 @@ nextflow_pipeline { // If a directory is fully stable, you can drop `stable_name_*` // Generate with: nf-test test --tag test --profile docker,test --update-snapshot // Test with: nf-test test --tag test --profile docker,test - def stable_name_all = getAllFilesFromDir("$outputDir/" , true , null , null , ['*', '**/*'] ) - def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , null , null , ['*', '**/*'] ) - def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) - def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*', '**/*'] ) - def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*', '**/*'] ) + def stable_name_all = getAllFilesFromDir("$outputDir/" , true , ['pipeline_info/*'] , null , ['*', '**/*'] ) + def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , null , null , ['*', '**/*'] ) + def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) + def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*', '**/*'] ) + def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*', '**/*'] ) def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) - def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.zip', '**/fastp/*.html'], null , ['*', '**/*'] ) - def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['*', '**/*'] ) + def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.zip', '**/fastp/*.html', '**/*.log'], null , ['*', '**/*'] ) + def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['*', '**/*', '**/*.zip', '**/fastp/*.html', '**/*.log'] ) + // TODO assertAll( { assert workflow.success }, // This checks that there are no missing or additional output files. @@ -45,6 +46,7 @@ nextflow_pipeline { { assert snapshot( stable_content_deduplication ).match("deduplication") }, { assert snapshot( stable_content_mapping ).match("mapping") }, { assert snapshot( stable_content_damageestimation, stable_name_damageestimation*.name ).match("damage_estimation") }, + { assert snapshot( stable_content_preprocessing , stable_name_preprocessing*.name ).match("preprocessing") }, // // Preprocessing // { assert snapshot( diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 0354f299a..3c742cd4a 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -387,11 +387,6 @@ "threeprime_misinc_plot.svg", "multiqc_report.html", "pipeline_info", - "execution_report_2024-10-18_14-59-26.html", - "execution_timeline_2024-10-18_14-59-26.html", - "nf_core_pipeline_software_mqc_versions.yml", - "params_2024-10-18_14-59-47.json", - "pipeline_dag_2024-10-18_14-59-26.html", "preprocessing", "fastp", "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", @@ -420,7 +415,103 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-10-18T15:02:27.794599" + "timestamp": "2024-10-25T11:22:05.170655" + }, + "preprocessing": { + "content": [ + [ + [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,4beda4c1448b5b177df5fddf7daa9b2e", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,c21fa8d047f6b6bd33345b1ae1456a1d", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,af1d0c020f7ec3d38086f12a095ddccd", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,24fcf4403ef0a4c8f8689711c3232a9c" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,e6260d182412653e3f01b8c0954aeec7", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,d2ba57805e391e95e55af4da683c8ef9", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,4180661ed56d1fe76fbd48594b1751dc", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,83cb1e35a602bdd38b538071e9d5f702", + "versions.yml:md5,42fbb757df8018b4595df690155d41d2" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,aa796cca681e4eaa173de6a84ab33adf", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,355aa406567f32ca1e1d47ce2b077538", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,c6050df9be87a8656945d37c881af387", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,d9b3b283e68d7bdaaafc896e8cebdd99", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,73f4dda105ba4c1ed8f1612f6a05006c", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,af50d976d765d9e8fc38e86aab9d4f5c", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + ] + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,4beda4c1448b5b177df5fddf7daa9b2e", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,c21fa8d047f6b6bd33345b1ae1456a1d", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,af1d0c020f7ec3d38086f12a095ddccd", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,24fcf4403ef0a4c8f8689711c3232a9c" + ], + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,4beda4c1448b5b177df5fddf7daa9b2e", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,af1d0c020f7ec3d38086f12a095ddccd", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,e6260d182412653e3f01b8c0954aeec7", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,d2ba57805e391e95e55af4da683c8ef9", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,4180661ed56d1fe76fbd48594b1751dc", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,83cb1e35a602bdd38b538071e9d5f702", + "versions.yml:md5,42fbb757df8018b4595df690155d41d2" + ], + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,e6260d182412653e3f01b8c0954aeec7", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,4180661ed56d1fe76fbd48594b1751dc", + "versions.yml:md5,42fbb757df8018b4595df690155d41d2", + [ + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,aa796cca681e4eaa173de6a84ab33adf", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,355aa406567f32ca1e1d47ce2b077538", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,c6050df9be87a8656945d37c881af387", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,d9b3b283e68d7bdaaafc896e8cebdd99", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,73f4dda105ba4c1ed8f1612f6a05006c", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,af50d976d765d9e8fc38e86aab9d4f5c", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + ], + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,aa796cca681e4eaa173de6a84ab33adf", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,c6050df9be87a8656945d37c881af387", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,73f4dda105ba4c1ed8f1612f6a05006c", + "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + ], + [ + "preprocessing", + "fastp", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json", + "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json", + "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log", + "fastqc_processed", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", + "versions.yml", + "fastqc_raw", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", + "versions.yml" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-10-25T12:12:45.544765" }, "damage_estimation": { "content": [ @@ -517,9 +608,9 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,3c8604019275477c10f246d71755b8d4", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,fe713cfec5a15eca758b0e7e16a8f89e" ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", @@ -527,16 +618,16 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,3c8604019275477c10f246d71755b8d4", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,fe713cfec5a15eca758b0e7e16a8f89e" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-10-18T15:02:27.869167" + "timestamp": "2024-10-25T11:55:05.514625" }, "deduplication": { "content": [ @@ -545,21 +636,21 @@ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,7627b6d3207e71034c5c2c52c53aea2e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,b806a87d8474da66892859492fefc380", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,5e1839765b1b23a630a610e6c732c7df", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,aa755b2c836387c3c872cbf60cfa86da", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,7627b6d3207e71034c5c2c52c53aea2e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,b806a87d8474da66892859492fefc380", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,5e1839765b1b23a630a610e6c732c7df", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,aa755b2c836387c3c872cbf60cfa86da", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" ] ], @@ -567,6 +658,6 @@ "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-10-18T15:02:27.942872" + "timestamp": "2024-10-25T11:55:05.589676" } } \ No newline at end of file From c204fe9d5dd5ba4a1c0224c2cd2103a0962438a8 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 29 Nov 2024 14:46:24 +0100 Subject: [PATCH 28/40] fix preprocessing checks --- tests/test.nf.test | 6 +-- tests/test.nf.test.snap | 105 ++++++++-------------------------------- 2 files changed, 23 insertions(+), 88 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index ead132682..55e4801b2 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -17,7 +17,7 @@ nextflow_pipeline { then { // Each top level results directory should be tested with individual snapshots/variables - // stable_name_ is for files with varaible md5sums (i.e. content) so only names will be compared + // stable_name_ is for files with variable md5sums (i.e. content) so only names will be compared // stable_content_ is for files with stable md5sums (i.e. content) so md5sums will be compared // For both cases, use the third argument to specify globs to exclude certain files // If a directory is fully stable, you can drop `stable_name_*` @@ -30,8 +30,8 @@ nextflow_pipeline { def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*', '**/*'] ) def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) - def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.zip', '**/fastp/*.html', '**/*.log'], null , ['*', '**/*'] ) - def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['*', '**/*', '**/*.zip', '**/fastp/*.html', '**/*.log'] ) + def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) + def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) // TODO assertAll( diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 3c742cd4a..32fad90cc 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -420,98 +420,33 @@ "preprocessing": { "content": [ [ - [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,4beda4c1448b5b177df5fddf7daa9b2e", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,c21fa8d047f6b6bd33345b1ae1456a1d", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,af1d0c020f7ec3d38086f12a095ddccd", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,24fcf4403ef0a4c8f8689711c3232a9c" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,e6260d182412653e3f01b8c0954aeec7", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,d2ba57805e391e95e55af4da683c8ef9", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,4180661ed56d1fe76fbd48594b1751dc", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,83cb1e35a602bdd38b538071e9d5f702", - "versions.yml:md5,42fbb757df8018b4595df690155d41d2" - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,aa796cca681e4eaa173de6a84ab33adf", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,355aa406567f32ca1e1d47ce2b077538", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,c6050df9be87a8656945d37c881af387", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,d9b3b283e68d7bdaaafc896e8cebdd99", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,73f4dda105ba4c1ed8f1612f6a05006c", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,af50d976d765d9e8fc38e86aab9d4f5c", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" - ] - ], - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,4beda4c1448b5b177df5fddf7daa9b2e", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log:md5,c21fa8d047f6b6bd33345b1ae1456a1d", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,af1d0c020f7ec3d38086f12a095ddccd", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log:md5,24fcf4403ef0a4c8f8689711c3232a9c" - ], - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html:md5,4beda4c1448b5b177df5fddf7daa9b2e", "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html:md5,af1d0c020f7ec3d38086f12a095ddccd", "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,e6260d182412653e3f01b8c0954aeec7", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip:md5,d2ba57805e391e95e55af4da683c8ef9", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,4180661ed56d1fe76fbd48594b1751dc", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,83cb1e35a602bdd38b538071e9d5f702", - "versions.yml:md5,42fbb757df8018b4595df690155d41d2" - ], - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,e6260d182412653e3f01b8c0954aeec7", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,4180661ed56d1fe76fbd48594b1751dc", + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,14d794c39c5c3998cdc1c4770911d20e", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,5e2f93a06a9bd00a2118c055cdfca4f1", "versions.yml:md5,42fbb757df8018b4595df690155d41d2", - [ - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,aa796cca681e4eaa173de6a84ab33adf", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip:md5,355aa406567f32ca1e1d47ce2b077538", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,c6050df9be87a8656945d37c881af387", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip:md5,d9b3b283e68d7bdaaafc896e8cebdd99", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,73f4dda105ba4c1ed8f1612f6a05006c", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip:md5,af50d976d765d9e8fc38e86aab9d4f5c", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" - ], - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,aa796cca681e4eaa173de6a84ab33adf", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,c6050df9be87a8656945d37c881af387", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,73f4dda105ba4c1ed8f1612f6a05006c", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,90b646e37c699ff125981e207bd3fe12", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,09190f8d40469fcec9cc2afb0906054c", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,1a33e804cd769815918096cd19ceb4f6", "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" ], [ - "preprocessing", - "fastp", "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", - "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json", "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.log", "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.html", - "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json", "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.log", - "fastqc_processed", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html", "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", - "versions.yml", - "fastqc_raw", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html", "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html", "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", - "versions.yml" + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.10.0" }, - "timestamp": "2024-10-25T12:12:45.544765" + "timestamp": "2024-11-29T14:21:52.277733" }, "damage_estimation": { "content": [ @@ -608,9 +543,9 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,3c8604019275477c10f246d71755b8d4", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,fe713cfec5a15eca758b0e7e16a8f89e" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", @@ -618,16 +553,16 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,3c8604019275477c10f246d71755b8d4", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,fe713cfec5a15eca758b0e7e16a8f89e" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.10.0" }, - "timestamp": "2024-10-25T11:55:05.514625" + "timestamp": "2024-11-29T14:27:13.20359" }, "deduplication": { "content": [ @@ -639,8 +574,8 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,b806a87d8474da66892859492fefc380", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,5e1839765b1b23a630a610e6c732c7df", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,aa755b2c836387c3c872cbf60cfa86da", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", @@ -649,15 +584,15 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,b806a87d8474da66892859492fefc380", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,5e1839765b1b23a630a610e6c732c7df", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,aa755b2c836387c3c872cbf60cfa86da", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.10.0" }, - "timestamp": "2024-10-25T11:55:05.589676" + "timestamp": "2024-11-29T14:27:13.288364" } } \ No newline at end of file From 6893eb6236e84d62123396699e8646eec3bcb724 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Tue, 3 Dec 2024 17:31:44 +0100 Subject: [PATCH 29/40] reorder and add todos --- tests/test.nf.test | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 55e4801b2..b259b6e07 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -26,12 +26,16 @@ nextflow_pipeline { def stable_name_all = getAllFilesFromDir("$outputDir/" , true , ['pipeline_info/*'] , null , ['*', '**/*'] ) def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , null , null , ['*', '**/*'] ) def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) - def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*', '**/*'] ) - def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*', '**/*'] ) def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) + // TODO: BAM and (mostly) BAI md5sums are unstable. Need to use nft-utils to test read md5sums, while excluding header? + def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*', '**/*'] ) + // Final_bams + def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*', '**/*'] ) + // mapstats def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) + // MultiQC // TODO assertAll( From 13a640ca34e91f51b16f57fe62e69eb4ea24613f Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Tue, 3 Dec 2024 17:31:56 +0100 Subject: [PATCH 30/40] remove versions.ymls from snapshot --- tests/test.nf.test.snap | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 32fad90cc..97866ad22 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -76,7 +76,6 @@ "edit_distance.svg", "lgdistribution.txt", "misincorporation.txt", - "versions.yml", "deduplication", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai", @@ -107,7 +106,6 @@ "bedtools", "JK2782_Mammoth_MT_Krause_depth.bed", "JK2802_Mammoth_MT_Krause_depth.bed", - "versions.yml", "endorspy", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json", @@ -119,7 +117,6 @@ "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log", - "versions.yml", "qualimap", "Mammoth_MT_Krause", "JK2782", @@ -220,7 +217,6 @@ "mapped_reads_nucleotide_content.txt", "mapping_quality_across_reference.txt", "mapping_quality_histogram.txt", - "versions.yml", "multiqc", "multiqc_data", "fastp-insert-size-plot.txt", @@ -400,35 +396,31 @@ "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.zip", "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", - "versions.yml", "fastqc_raw", "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html", "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.zip", "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html", "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.zip", "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip", - "versions.yml" + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.zip" ] ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.10.0" }, - "timestamp": "2024-10-25T11:22:05.170655" + "timestamp": "2024-12-03T15:44:59.263536" }, "preprocessing": { "content": [ [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,14d794c39c5c3998cdc1c4770911d20e", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,5e2f93a06a9bd00a2118c055cdfca4f1", - "versions.yml:md5,42fbb757df8018b4595df690155d41d2", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,90b646e37c699ff125981e207bd3fe12", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,09190f8d40469fcec9cc2afb0906054c", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,1a33e804cd769815918096cd19ceb4f6", - "versions.yml:md5,b4672add0ce3c990afa1a2bc9f6a7c87" + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,5ee82fdee4ea1812c5a2764a5e9c3690", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,81ca4a5e72ee4fa4564f07d99eb8b8e5", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,fe839c880d50c711b997a74f48720083", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,8f34be1cd9c78064e009e37d14b23100", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,d08512475ff4095d7cfb16124fde0ea5" ], [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", @@ -446,7 +438,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-11-29T14:21:52.277733" + "timestamp": "2024-12-03T15:44:59.725843" }, "damage_estimation": { "content": [ @@ -514,9 +506,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.10.0" }, - "timestamp": "2024-10-18T13:54:20.880593" + "timestamp": "2024-12-03T15:44:59.59473" }, "bam_input_stats": { "content": [ @@ -562,7 +554,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-11-29T14:27:13.20359" + "timestamp": "2024-12-03T17:14:21.46804" }, "deduplication": { "content": [ @@ -593,6 +585,6 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-11-29T14:27:13.288364" + "timestamp": "2024-12-03T17:14:21.53873" } } \ No newline at end of file From 5241ffca98fe147477ed31d286949ced550f9753 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Wed, 4 Dec 2024 15:11:15 +0100 Subject: [PATCH 31/40] check bam names instead of content --- tests/test.nf.test | 40 ++++++++++++++----- tests/test.nf.test.snap | 88 +++++++++++++++++++++++++---------------- 2 files changed, 85 insertions(+), 43 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index b259b6e07..48626da8c 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -23,19 +23,39 @@ nextflow_pipeline { // If a directory is fully stable, you can drop `stable_name_*` // Generate with: nf-test test --tag test --profile docker,test --update-snapshot // Test with: nf-test test --tag test --profile docker,test + // NOTE: BAMs are always only stable in name, because: + // a) sharding breaks header since the shard that was first is named in the header + // b) the order of the reads in the BAMs is not stable (sorted, but reads that share a start position can be in any order) + // point b) also causes BAIs to be unstable. + def stable_name_all = getAllFilesFromDir("$outputDir/" , true , ['pipeline_info/*'] , null , ['*', '**/*'] ) - def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , null , null , ['*', '**/*'] ) + + //Bam filtering + def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.{bam,bai}'] , null , ['*', '**/*'] ) + def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , null , null , ['*.{bam,bai}'] ) + + // Bam input stats def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) + + // Damage estimation def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) - // TODO: BAM and (mostly) BAI md5sums are unstable. Need to use nft-utils to test read md5sums, while excluding header? - def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*', '**/*'] ) - // Final_bams - def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*', '**/*'] ) + + // Deduplication + def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.{bam,bai}'] , null , ['*', '**/*'] ) + def stable_name_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*.{bam,bai}'] ) + + // TODO Final_bams + + //Mapping + def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , ['*.{bam,bai}'] , null , ['*', '**/*'] ) + def stable_name_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*.{bam,bai}'] ) + // mapstats def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) - // MultiQC + + // TODO MultiQC // TODO assertAll( @@ -45,10 +65,10 @@ nextflow_pipeline { { assert snapshot( stable_name_all*.name ).match("all_files") }, // Checking changes to contents of each section - { assert snapshot( stable_content_bamfiltering ).match("bam_filtering") }, - { assert snapshot( stable_content_baminputstats ).match("bam_input_stats") }, - { assert snapshot( stable_content_deduplication ).match("deduplication") }, - { assert snapshot( stable_content_mapping ).match("mapping") }, + { assert snapshot( stable_content_bamfiltering , stable_name_bamfiltering*.name ).match("bam_filtering") }, + { assert snapshot( stable_content_baminputstats ).match("bam_input_stats") }, + { assert snapshot( stable_content_deduplication , stable_name_deduplication*.name ).match("deduplication") }, + { assert snapshot( stable_content_mapping , stable_name_mapping*.name ).match("mapping") }, { assert snapshot( stable_content_damageestimation, stable_name_damageestimation*.name ).match("damage_estimation") }, { assert snapshot( stable_content_preprocessing , stable_name_preprocessing*.name ).match("preprocessing") }, diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 97866ad22..3750b02db 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -3,14 +3,20 @@ "content": [ [ "bam_filtering", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", "bam_input_stats", "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat", @@ -409,18 +415,18 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-03T15:44:59.263536" + "timestamp": "2024-12-04T13:37:15.214733" }, "preprocessing": { "content": [ [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,5ee82fdee4ea1812c5a2764a5e9c3690", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,81ca4a5e72ee4fa4564f07d99eb8b8e5", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,fe839c880d50c711b997a74f48720083", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,8f34be1cd9c78064e009e37d14b23100", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,d08512475ff4095d7cfb16124fde0ea5" + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,cafc7546b16d11158ab4af3652d27bde", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,d3be99e70b727f8f17bbd392f1380f85", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,29ab436a49ce1044dc5a5fa612bab20b", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,925827742ec7c6df88383cf2eefaeab4", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,cf824172790dce7d01170f758cc1790d" ], [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", @@ -438,7 +444,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-03T15:44:59.725843" + "timestamp": "2024-12-04T13:37:15.666337" }, "damage_estimation": { "content": [ @@ -508,7 +514,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-03T15:44:59.59473" + "timestamp": "2024-12-04T13:37:15.583413" }, "bam_input_stats": { "content": [ @@ -521,40 +527,54 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nextflow": "24.10.0" }, - "timestamp": "2024-10-18T11:21:25.027198" + "timestamp": "2024-12-04T13:37:15.352919" }, "bam_filtering": { "content": [ [ [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam:md5,ef5588f6d91b445e45d9a535663b23da", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam:md5,5e3d07425f31c39146c6782a4a006274", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam:md5,b1f8d455673bfe9ddd0c30f8202f7fdc", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,47d808ec3844254317d8232d641bb2e2", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam:md5,735d1de6a650056f960f14777f64abac", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2d74ea6c8c69d6f2aefea345518251e6", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam:md5,da3c74992faf7b6efbf18cf196232f1d", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,3c8604019275477c10f246d71755b8d4", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam:md5,9f672ec8e12cd0b669f2b2c11f1bfe4b", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,fe713cfec5a15eca758b0e7e16a8f89e" ], - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,7df7cd0e935892e537efab3ea4d07fb6", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2ed08bcbefcff2d136bf7323205204a1", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,2c5895eae8a2cf6e1618be82d738ce3f", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,434a257dd57b5ed45b3feb25bb4c9002" + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-03T17:14:21.46804" + "timestamp": "2024-12-04T14:38:45.664872" }, "deduplication": { "content": [ @@ -563,28 +583,30 @@ "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,b806a87d8474da66892859492fefc380", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,1b69fddaf3c71642d02d6849e882e9e9", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,c7cf02b36e4bde41184640ee3ba2ef1c", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,5e1839765b1b23a630a610e6c732c7df", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,aa755b2c836387c3c872cbf60cfa86da", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" ], - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,b806a87d8474da66892859492fefc380", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,f499fad6abe17aef3e7548d1325db0de", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,680bbfc1c8df6b77e5742a0aaedfdb2a", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,e1f8e1cf5c2576a228dea0e5b8e29c2f", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-03T17:14:21.53873" + "timestamp": "2024-12-04T14:38:45.741566" } } \ No newline at end of file From 0dab1787f48f7fefed2115d830422d08be00b14b Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Wed, 4 Dec 2024 16:07:55 +0100 Subject: [PATCH 32/40] add ave_filtered_bam parameter to test profile --- conf/test.config | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/test.config b/conf/test.config index f23998ca1..cf5a85844 100644 --- a/conf/test.config +++ b/conf/test.config @@ -35,6 +35,7 @@ params { run_bamfiltering = true bamfiltering_minreadlength = 30 bamfiltering_mappingquality = 37 + bamfiltering_savefilteredbams = true // Map Stats run_bedtools_coverage = true From 01850ade14346c826a00769d1eb70dfaed21241d Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Wed, 4 Dec 2024 16:08:38 +0100 Subject: [PATCH 33/40] fix result pickup for bam filtering and deduplication --- tests/test.nf.test | 23 ++++++++++++----------- tests/test.nf.test.snap | 40 ++++++---------------------------------- 2 files changed, 18 insertions(+), 45 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 48626da8c..91498c1a9 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -28,32 +28,33 @@ nextflow_pipeline { // b) the order of the reads in the BAMs is not stable (sorted, but reads that share a start position can be in any order) // point b) also causes BAIs to be unstable. - def stable_name_all = getAllFilesFromDir("$outputDir/" , true , ['pipeline_info/*'] , null , ['*', '**/*'] ) + def stable_name_all = getAllFilesFromDir("$outputDir/" , true , ['pipeline_info/*'] , null , ['*', '**/*'] ) //Bam filtering - def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.{bam,bai}'] , null , ['*', '**/*'] ) - def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , null , null , ['*.{bam,bai}'] ) + def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.{bam,bai}'] , null , ['*.flagstat'] ) + def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) // Bam input stats - def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) + def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) // Damage estimation - def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) - def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) + def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) + def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) // Deduplication - def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.{bam,bai}'] , null , ['*', '**/*'] ) - def stable_name_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , null , null , ['*.{bam,bai}'] ) + def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.{bam,bai}'] , null , ['*.flagstat'] ) + def stable_name_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) // TODO Final_bams //Mapping - def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , ['*.{bam,bai}'] , null , ['*', '**/*'] ) - def stable_name_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['*.{bam,bai}'] ) + // TODO For some reason mapping results are not picked up now... + def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.flagstat'] ) + def stable_name_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.{bam,bai}'] ) // mapstats def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) - def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) + def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) // TODO MultiQC diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 3750b02db..aee43a63a 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -415,7 +415,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T13:37:15.214733" + "timestamp": "2024-12-04T15:59:35.203062" }, "preprocessing": { "content": [ @@ -444,7 +444,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T13:37:15.666337" + "timestamp": "2024-12-04T15:59:35.487791" }, "damage_estimation": { "content": [ @@ -514,7 +514,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T13:37:15.583413" + "timestamp": "2024-12-04T15:59:35.405707" }, "bam_input_stats": { "content": [ @@ -529,28 +529,11 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T13:37:15.352919" + "timestamp": "2024-12-04T15:59:35.281551" }, "bam_filtering": { "content": [ [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam:md5,ef5588f6d91b445e45d9a535663b23da", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.bam.bai:md5,d1823ee5a37ad32007d0923731127935", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam:md5,5e3d07425f31c39146c6782a4a006274", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,159e97ddc9270c8d941f42f5553cf4fe", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam:md5,b1f8d455673bfe9ddd0c30f8202f7fdc", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.bam.bai:md5,47d808ec3844254317d8232d641bb2e2", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam:md5,735d1de6a650056f960f14777f64abac", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,2d74ea6c8c69d6f2aefea345518251e6", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam:md5,da3c74992faf7b6efbf18cf196232f1d", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.bam.bai:md5,3c8604019275477c10f246d71755b8d4", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam:md5,9f672ec8e12cd0b669f2b2c11f1bfe4b", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_lengthonly.filtered.bam.bai:md5,fe713cfec5a15eca758b0e7e16a8f89e" - ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_filtered.flagstat:md5,39fd430cc77fc71f71d75a221c1b7880", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_filtered.flagstat:md5,a9fbd8c9a6f8bb02b191f4140f91d04a", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_filtered.flagstat:md5,f6c739b729c06e17ca205c64478ad823" @@ -574,22 +557,11 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T14:38:45.664872" + "timestamp": "2024-12-04T15:59:35.253309" }, "deduplication": { "content": [ [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam:md5,cafd8aec87c34a34a599aaf881bac4c2", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.bam.bai:md5,196d7c4df7b32afc5209fdf7fff96a37", - "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam:md5,1b69fddaf3c71642d02d6849e882e9e9", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.bam.bai:md5,c7cf02b36e4bde41184640ee3ba2ef1c", - "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam:md5,5e1839765b1b23a630a610e6c732c7df", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.bam.bai:md5,aa755b2c836387c3c872cbf60cfa86da", - "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" - ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_dedupped.flagstat:md5,715d840d3bab5a05934825cd9b799ef3", "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_dedupped.flagstat:md5,dde5f59b006afdae2ff5fab85bc8ea92", "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_dedupped.flagstat:md5,fb4d234136f242c20db27979caa604cf" @@ -607,6 +579,6 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T14:38:45.741566" + "timestamp": "2024-12-04T15:59:35.308454" } } \ No newline at end of file From 42b3a47a6b4816e24855f6db22fff25ffdcfc82e Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 6 Dec 2024 11:43:53 +0100 Subject: [PATCH 34/40] add final_bams,mapstats. fix mapping. remove old code --- tests/test.nf.test | 51 ++++++++++++---------------------------------- 1 file changed, 13 insertions(+), 38 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 91498c1a9..7b473316b 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -45,14 +45,19 @@ nextflow_pipeline { def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.{bam,bai}'] , null , ['*.flagstat'] ) def stable_name_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) - // TODO Final_bams + // Final_bams + def stable_content_final_bams = getAllFilesFromDir("$outputDir/final_bams" , true , null , null , ['**/*.flagstat'] ) + def stable_name_final_bams = getAllFilesFromDir("$outputDir/final_bams" , true , null , null , ['**/*.{bam,bai}'] ) //Mapping - // TODO For some reason mapping results are not picked up now... def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.flagstat'] ) def stable_name_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.{bam,bai}'] ) - // mapstats + // Mapstats + def stable_content_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , ['**/*.html'] , null , ['**/*.{bed,json,txt,log,css,png,js}'] ) + def stable_name_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , null , null , ['**/*.html'] ) + + // Preprocessing def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) @@ -66,46 +71,16 @@ nextflow_pipeline { { assert snapshot( stable_name_all*.name ).match("all_files") }, // Checking changes to contents of each section - { assert snapshot( stable_content_bamfiltering , stable_name_bamfiltering*.name ).match("bam_filtering") }, + { assert snapshot( stable_content_bamfiltering , stable_name_bamfiltering*.name ).match("bam_filtering") }, { assert snapshot( stable_content_baminputstats ).match("bam_input_stats") }, { assert snapshot( stable_content_deduplication , stable_name_deduplication*.name ).match("deduplication") }, - { assert snapshot( stable_content_mapping , stable_name_mapping*.name ).match("mapping") }, + { assert snapshot( stable_content_final_bams , stable_name_final_bams*.name ).match("final_bams") }, + // NOTE: The snapshot section for mapping cannot be named 'mapping'. See https://github.com/askimed/nf-test/issues/279 + { assert snapshot( stable_content_mapping , stable_name_mapping*.name ).match("mapping_output") }, + { assert snapshot( stable_content_mapstats , stable_name_mapstats*.name ).match("mapstats") }, { assert snapshot( stable_content_damageestimation, stable_name_damageestimation*.name ).match("damage_estimation") }, { assert snapshot( stable_content_preprocessing , stable_name_preprocessing*.name ).match("preprocessing") }, - // // Preprocessing - // { assert snapshot( - // getAllFilesFromDir("$outputDir/preprocessing/fastp" , '.json' ), - // getAllFilesFromDir("$outputDir/preprocessing/fastqc_raw" , '.html' ), - // getAllFilesFromDir("$outputDir/preprocessing/fastqc_processed" , '.html' ), - // checkAllFilesNamesFromDirForString("$outputDir/preprocessing/fastp" , '.log', 'time used:'), - // getAllFileNamesFromDir("$outputDir/preprocessing/fastp" , '.html' ), - // getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_raw" , '.zip' ), - // getAllFileNamesFromDir("$outputDir/preprocessing/fastqc_processed" , '.zip' ), - // ).match("preprocessing" ) - // }, - - // // Final BAMs - // { assert snapshot( - // getAllFilesFromDir("$outputDir/final_bams" , '.flagstat'), - // getAllFileNamesFromDir("$outputDir/final_bams", '.bam' ), - // getAllFileNamesFromDir("$outputDir/final_bams", '.bai' ), - // ).match("final_bams") - // }, - - // // Mapstats - // { assert snapshot( - // getAllFilesFromDir("$outputDir/mapstats", '.bed'), - // getAllFilesFromDir("$outputDir/mapstats", '.json'), - // getAllFilesFromDir("$outputDir/mapstats", '.txt'), - // getAllFilesFromDir("$outputDir/mapstats", '.log'), - // getAllFilesFromDir("$outputDir/mapstats", '.css'), - // getAllFilesFromDir("$outputDir/mapstats", '.png'), - // getAllFilesFromDir("$outputDir/mapstats", '.js'), - // getAllFileNamesFromDir("$outputDir/mapstats", '.html'), // For variable qualimapReport.html - // ).match("mapstats") - // }, - // // MultiQC // { assert snapshot( // path("$outputDir/multiqc/multiqc_report.html").exists() From 0c6c8e3ca1a1aded9ab47d00dbc5ab7bcfdc6aae Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 6 Dec 2024 11:53:17 +0100 Subject: [PATCH 35/40] simplify bam_input_stats snapshot --- tests/test.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 7b473316b..7232f0f12 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -35,7 +35,7 @@ nextflow_pipeline { def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) // Bam input stats - def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*', '**/*'] ) + def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*.flagstat'] ) // Damage estimation def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) From 50ea5e1cd41b60e95c5b48a5abee1fe51d359862 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 6 Dec 2024 11:53:25 +0100 Subject: [PATCH 36/40] update snapshot --- tests/test.nf.test.snap | 175 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 161 insertions(+), 14 deletions(-) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index aee43a63a..3e311fafc 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -415,18 +415,130 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T15:59:35.203062" + "timestamp": "2024-12-06T11:48:13.885725" + }, + "mapstats": { + "content": [ + [ + "JK2782_Mammoth_MT_Krause_depth.bed:md5,0ce780693dc76e02352d8b43c5bd3549", + "JK2802_Mammoth_MT_Krause_depth.bed:md5,1b4f117a16c712b7c67809d7e4ec279f", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,a3ccef0b8d19d69457b817898a2a5604", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,58df3f7e6ba65086daa94e49fe6b60f3", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_percent_on_target_mqc.json:md5,f771d9d15a744ea8a7031d36551ec7b3", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.c_curve.txt:md5,ba8059ca2396fb898593c1e66e56a7bc", + "JK2782_JK2782_TGGCCGATCAACGA_BAM_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.c_curve.txt:md5,817f35dc7ce2983a7d0f558debd6e94b", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.c_curve.txt:md5,1384a88b531ab872c0069e71fccbe97a", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause.command.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85", + "genome_results.txt:md5,599b430297daed72a6f585882966f406", + "genome_coverage_0to50_histogram.png:md5,aa1f50ccad2c5e36e1ab5f7268d90494", + "genome_coverage_across_reference.png:md5,b46a6c2246f0346ea3199c7632912938", + "genome_coverage_histogram.png:md5,53bf813fca7fe3f535f231a507f33975", + "genome_coverage_quotes.png:md5,df8ff67a870eb38b9d2ea46eff618df4", + "genome_gc_content_per_window.png:md5,c39f691057fbf9638a20442aa3754cea", + "genome_homopolymer_indels.png:md5,a3264f44fff09fa857d76be73a847004", + "genome_mapping_quality_across_reference.png:md5,3e6ba19761e7dc4362a4edf0c610b41a", + "genome_mapping_quality_histogram.png:md5,fd2517bb1bec297e020cb544bd444c5e", + "genome_reads_content_per_read_position.png:md5,52d8200160ba180c697ae3b6329edf44", + "genome_uniq_read_starts_histogram.png:md5,0d232d6a527275c0afeeca9bd5891b84", + "coverage_across_reference.txt:md5,cbafd81e7d9dcf5702d361008fb8d918", + "coverage_histogram.txt:md5,0085fba437f097d06c84e359c79646e4", + "duplication_rate_histogram.txt:md5,5e67619dcc46b155fe2e8a63b57a72e3", + "genome_fraction_coverage.txt:md5,db875d590d979d2827ff51e2536977fd", + "homopolymer_indels.txt:md5,7326bf50d7686153070c4f9c5db70076", + "mapped_reads_gc-content_distribution.txt:md5,2439c7211bf48bed6fd9bae68c75bb5b", + "mapped_reads_nucleotide_content.txt:md5,012f59aa43418782c4159bca8669a0b1", + "mapping_quality_across_reference.txt:md5,12723c3add1566c527b57ff89f21dec7", + "mapping_quality_histogram.txt:md5,805f4ecf01c21e2e9fec3b6402c1f62c", + "agogo.css:md5,bd757b1a7ce6fdc0288ba148680f4583", + "basic.css:md5,25b2823342c0604924a2870eeb4e7e94", + "bgfooter.png:md5,ed01bb040346e4623cc87de331ddb4e1", + "bgtop.png:md5,626a50532dc6e5adbdd968746ef318e8", + "comment-bright.png:md5,0c850bb4920b581bf5e5dba5fa493a64", + "comment-close.png:md5,2635dda49c823e8122d4d11ed385f33d", + "comment.png:md5,882e40f3d6a16c6ed35659b105251525", + "doctools.js:md5,5ff571aa60e63f69c1890283e240ff8d", + "down-pressed.png:md5,ebe8979581eda700fb234a73c661a4b9", + "down.png:md5,f6f3c819cc7ca27d7fd3347e5e7ffe0f", + "file.png:md5,6587e59c55e626744eb6fc11129d99a7", + "jquery.js:md5,10092eee563dec2dca82b77d2cf5a1ae", + "minus.png:md5,8d572395aa95c89584a09813ada4dfa1", + "plus.png:md5,0125e6faa04e2cf0141a2d599d3bb220", + "pygments.css:md5,d625a0adb949f181bd0d3f1432b0fa7f", + "qualimap_logo_small.png:md5,7526f145a97be4682fd59e27dda4f71b", + "report.css:md5,7a5f09eaf7c176f966f4e8854168b812", + "searchtools.js:md5,d550841adeedc8ed47c40ee607620937", + "underscore.js:md5,db5ba047a66617d4cd3e8c5099cc51db", + "up-pressed.png:md5,8ea9bd109342f87fee97943b479c6f7e", + "up.png:md5,ecc373278454cc8ecc12d6ca69e55b36", + "websupport.js:md5,9e61e1e8a7433c56bd7e5a615affcf85", + "genome_results.txt:md5,f6d35c23075fbec197c088ede3bda265", + "genome_coverage_0to50_histogram.png:md5,1d7153eab39f6180d7849f7a27c141be", + "genome_coverage_across_reference.png:md5,c8fa8d6eac53b3ef82fada6bc590333f", + "genome_coverage_histogram.png:md5,18ba01bd5afb81bb0b8e8dcce9ea10fe", + "genome_coverage_quotes.png:md5,0efb14b603c1bad8694aeee5a9f9f7ab", + "genome_gc_content_per_window.png:md5,75d2ad4e61179b800ea304798aa7a3a0", + "genome_homopolymer_indels.png:md5,bf9200f34a3fbfa05dd81891f4d08273", + "genome_mapping_quality_across_reference.png:md5,1bf5ba992c940fe2f7b0112d43ce917b", + "genome_mapping_quality_histogram.png:md5,e6d9f0c426a54226f9ee6585b57cf783", + "genome_reads_clipping_profile.png:md5,9c2d6a5f67319f6d2de110d3397e5a97", + "genome_reads_content_per_read_position.png:md5,73911bc8f836dea7d112ffbd3de1682e", + "genome_uniq_read_starts_histogram.png:md5,9412271ffb21c94e7a3e52955c0f246a", + "coverage_across_reference.txt:md5,3be6bd7fef9e81d56792b58e902949ed", + "coverage_histogram.txt:md5,8aaee99c160b7b5e030ee6fc891d9837", + "duplication_rate_histogram.txt:md5,ffd92c4701b07a4f3b6a580928770fe4", + "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", + "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", + "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", + "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", + "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", + "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", + "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" + ], + [ + "qualimapReport.html", + "qualimapReport.html" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.10.0" + }, + "timestamp": "2024-12-06T11:48:14.067585" }, "preprocessing": { "content": [ [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,cafc7546b16d11158ab4af3652d27bde", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,d3be99e70b727f8f17bbd392f1380f85", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,29ab436a49ce1044dc5a5fa612bab20b", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,925827742ec7c6df88383cf2eefaeab4", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,cf824172790dce7d01170f758cc1790d" + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,9ef46c888ba9b9fde3d6100249bbf2cb", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,bdae5c26be457bd61a5f40e3378e79fe", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,cfdadc1f8e2a3ff6238d404c2f69eb65", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,93c488b52c8addf9b12fb3275b7555aa", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,d91b50b71a4102be9b0460bf5ae1cb3f" ], [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", @@ -444,7 +556,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T15:59:35.487791" + "timestamp": "2024-12-06T11:48:14.351935" }, "damage_estimation": { "content": [ @@ -514,14 +626,11 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T15:59:35.405707" + "timestamp": "2024-12-06T11:48:14.264209" }, "bam_input_stats": { "content": [ [ - [ - "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" - ], "JK2782_JK2782_TGGCCGATCAACGA_BAM_8_Mammoth_MT_Krause.flagstat:md5,9a10991f5670a52975a622a8b056e2bc" ] ], @@ -529,7 +638,26 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T15:59:35.281551" + "timestamp": "2024-12-06T11:52:26.966809" + }, + "final_bams": { + "content": [ + [ + "JK2782_Mammoth_MT_Krause.flagstat:md5,04ff612d7bb381cca5bda876b7ed7d13", + "JK2802_Mammoth_MT_Krause.flagstat:md5,fb4d234136f242c20db27979caa604cf" + ], + [ + "JK2782_Mammoth_MT_Krause.bam", + "JK2782_Mammoth_MT_Krause.bam.bai", + "JK2802_Mammoth_MT_Krause.bam", + "JK2802_Mammoth_MT_Krause.bam.bai" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.10.0" + }, + "timestamp": "2024-12-06T11:48:14.019821" }, "bam_filtering": { "content": [ @@ -557,7 +685,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T15:59:35.253309" + "timestamp": "2024-12-06T11:48:13.932415" }, "deduplication": { "content": [ @@ -579,6 +707,25 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-04T15:59:35.308454" + "timestamp": "2024-12-06T11:48:13.991772" + }, + "mapping_output": { + "content": [ + [ + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.flagstat:md5,98a2f8bb2aa9678e4cf9578ee9ab3b0e", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.flagstat:md5,cb86b29c65c8c123a8863330316c6400" + ], + [ + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam", + "JK2782_JK2782_TGGCCGATCAACGA_Mammoth_MT_Krause_sorted.bam.bai", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam", + "JK2802_JK2802_AGAATAACCTACCA_Mammoth_MT_Krause_sorted.bam.bai" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.10.0" + }, + "timestamp": "2024-12-06T11:48:14.044967" } } \ No newline at end of file From 997fb5b0fcc9ff8b31a5c75c8bb9ea74b2acdf5a Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 6 Dec 2024 16:32:59 +0100 Subject: [PATCH 37/40] exclude unstable qualimap results. --- tests/test.nf.test | 5 +++-- tests/test.nf.test.snap | 14 +++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 7232f0f12..0e188f09d 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -54,8 +54,9 @@ nextflow_pipeline { def stable_name_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.{bam,bai}'] ) // Mapstats - def stable_content_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , ['**/*.html'] , null , ['**/*.{bed,json,txt,log,css,png,js}'] ) - def stable_name_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , null , null , ['**/*.html'] ) + // NOTE: GC content data and plot has minor changes between runs. I suspect this is because of the order of reads that start at the same position being unstable, but I am not sure. + def stable_content_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'], null , ['**/*.{bed,json,txt,log,css,png,js}'] ) + def stable_name_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , null , null , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'] ) // Preprocessing def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 3e311fafc..1f535ea6e 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -415,7 +415,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-06T11:48:13.885725" + "timestamp": "2024-12-06T16:19:51.141013" }, "mapstats": { "content": [ @@ -458,7 +458,6 @@ "genome_coverage_across_reference.png:md5,b46a6c2246f0346ea3199c7632912938", "genome_coverage_histogram.png:md5,53bf813fca7fe3f535f231a507f33975", "genome_coverage_quotes.png:md5,df8ff67a870eb38b9d2ea46eff618df4", - "genome_gc_content_per_window.png:md5,c39f691057fbf9638a20442aa3754cea", "genome_homopolymer_indels.png:md5,a3264f44fff09fa857d76be73a847004", "genome_mapping_quality_across_reference.png:md5,3e6ba19761e7dc4362a4edf0c610b41a", "genome_mapping_quality_histogram.png:md5,fd2517bb1bec297e020cb544bd444c5e", @@ -469,7 +468,6 @@ "duplication_rate_histogram.txt:md5,5e67619dcc46b155fe2e8a63b57a72e3", "genome_fraction_coverage.txt:md5,db875d590d979d2827ff51e2536977fd", "homopolymer_indels.txt:md5,7326bf50d7686153070c4f9c5db70076", - "mapped_reads_gc-content_distribution.txt:md5,2439c7211bf48bed6fd9bae68c75bb5b", "mapped_reads_nucleotide_content.txt:md5,012f59aa43418782c4159bca8669a0b1", "mapping_quality_across_reference.txt:md5,12723c3add1566c527b57ff89f21dec7", "mapping_quality_histogram.txt:md5,805f4ecf01c21e2e9fec3b6402c1f62c", @@ -500,7 +498,6 @@ "genome_coverage_across_reference.png:md5,c8fa8d6eac53b3ef82fada6bc590333f", "genome_coverage_histogram.png:md5,18ba01bd5afb81bb0b8e8dcce9ea10fe", "genome_coverage_quotes.png:md5,0efb14b603c1bad8694aeee5a9f9f7ab", - "genome_gc_content_per_window.png:md5,75d2ad4e61179b800ea304798aa7a3a0", "genome_homopolymer_indels.png:md5,bf9200f34a3fbfa05dd81891f4d08273", "genome_mapping_quality_across_reference.png:md5,1bf5ba992c940fe2f7b0112d43ce917b", "genome_mapping_quality_histogram.png:md5,e6d9f0c426a54226f9ee6585b57cf783", @@ -513,21 +510,24 @@ "genome_fraction_coverage.txt:md5,f2e4bc958f9df721a6adccbc69de9706", "homopolymer_indels.txt:md5,e6beb36c6aab5de9cb6d9e2357f82995", "mapped_reads_clipping_profile.txt:md5,f3ee469d515a49d50ac4e438ddfc8b57", - "mapped_reads_gc-content_distribution.txt:md5,818ed0f391e3d08fee4f102721127976", "mapped_reads_nucleotide_content.txt:md5,058c7dc070f76bc2c1913595070f9066", "mapping_quality_across_reference.txt:md5,fb2c0f2f4c95c698ab67520cb3f2db5a", "mapping_quality_histogram.txt:md5,4c5a2755f3eec182031390f7bb0d4d0f" ], [ + "genome_gc_content_per_window.png", + "qualimapReport.html", + "mapped_reads_gc-content_distribution.txt", + "genome_gc_content_per_window.png", "qualimapReport.html", - "qualimapReport.html" + "mapped_reads_gc-content_distribution.txt" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-06T11:48:14.067585" + "timestamp": "2024-12-06T15:58:37.710365" }, "preprocessing": { "content": [ From 82cb63922529df0d0c851a5e75ed334aa892eab9 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Wed, 11 Dec 2024 13:24:16 +0100 Subject: [PATCH 38/40] Check existence of Multiqc output files. reorder tests to match alphanumeric ordering of directories in output --- tests/test.nf.test | 14 ++- tests/test.nf.test.snap | 188 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 187 insertions(+), 15 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 0e188f09d..bf910a3e9 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -58,12 +58,13 @@ nextflow_pipeline { def stable_content_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'], null , ['**/*.{bed,json,txt,log,css,png,js}'] ) def stable_name_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , null , null , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'] ) + // MultiQC + def stable_name_multiqc = getAllFilesFromDir("$outputDir/multiqc" , true , null , null , ['*', '**/*'] ) + // Preprocessing def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) - // TODO MultiQC - // TODO assertAll( { assert workflow.success }, @@ -74,20 +75,15 @@ nextflow_pipeline { // Checking changes to contents of each section { assert snapshot( stable_content_bamfiltering , stable_name_bamfiltering*.name ).match("bam_filtering") }, { assert snapshot( stable_content_baminputstats ).match("bam_input_stats") }, + { assert snapshot( stable_content_damageestimation, stable_name_damageestimation*.name ).match("damage_estimation") }, { assert snapshot( stable_content_deduplication , stable_name_deduplication*.name ).match("deduplication") }, { assert snapshot( stable_content_final_bams , stable_name_final_bams*.name ).match("final_bams") }, // NOTE: The snapshot section for mapping cannot be named 'mapping'. See https://github.com/askimed/nf-test/issues/279 { assert snapshot( stable_content_mapping , stable_name_mapping*.name ).match("mapping_output") }, { assert snapshot( stable_content_mapstats , stable_name_mapstats*.name ).match("mapstats") }, - { assert snapshot( stable_content_damageestimation, stable_name_damageestimation*.name ).match("damage_estimation") }, + { assert snapshot( stable_name_multiqc*.name ).match("multiqc") }, { assert snapshot( stable_content_preprocessing , stable_name_preprocessing*.name ).match("preprocessing") }, - // // MultiQC - // { assert snapshot( - // path("$outputDir/multiqc/multiqc_report.html").exists() - // ).match("multiqc") - // }, - // Versions { assert new File("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").exists() }, diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 1f535ea6e..0332e54c8 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -534,11 +534,11 @@ [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.json:md5,f9ac29dc38bd5e51beb9ea5a8a8e22f3", "JK2802_JK2802_AGAATAACCTACCA_L2.fastp.json:md5,582794e200f2ddf0aad317ab42f88e79", - "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,9ef46c888ba9b9fde3d6100249bbf2cb", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,bdae5c26be457bd61a5f40e3378e79fe", - "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,cfdadc1f8e2a3ff6238d404c2f69eb65", - "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,93c488b52c8addf9b12fb3275b7555aa", - "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,d91b50b71a4102be9b0460bf5ae1cb3f" + "JK2782_JK2782_TGGCCGATCAACGA_L1_fastqc.html:md5,216c34977465c92bdb711531169e13ce", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,a09e8cd893fd8bae563a3f7ba220584c", + "JK2782_JK2782_TGGCCGATCAACGA_L1_1_fastqc.html:md5,975c5fccdaa5e0f99d573a6e5a3c8582", + "JK2782_JK2782_TGGCCGATCAACGA_L1_2_fastqc.html:md5,180fb58f703c6c5106ad95859e486298", + "JK2802_JK2802_AGAATAACCTACCA_L2_fastqc.html:md5,b9e9718a0f9cf3cb3d99abea1f45fe86" ], [ "JK2782_JK2782_TGGCCGATCAACGA_L1.fastp.html", @@ -556,7 +556,7 @@ "nf-test": "0.8.4", "nextflow": "24.10.0" }, - "timestamp": "2024-12-06T11:48:14.351935" + "timestamp": "2024-12-11T12:39:48.728259" }, "damage_estimation": { "content": [ @@ -709,6 +709,182 @@ }, "timestamp": "2024-12-06T11:48:13.991772" }, + "multiqc": { + "content": [ + [ + "multiqc", + "multiqc_data", + "fastp-insert-size-plot.txt", + "fastp-seq-content-gc-plot_Read_1_After_filtering.txt", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.txt", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.txt", + "fastp-seq-content-n-plot_Read_1_After_filtering.txt", + "fastp-seq-content-n-plot_Read_1_Before_filtering.txt", + "fastp-seq-content-n-plot_Read_2_Before_filtering.txt", + "fastp-seq-quality-plot_Read_1_After_filtering.txt", + "fastp-seq-quality-plot_Read_1_Before_filtering.txt", + "fastp-seq-quality-plot_Read_2_Before_filtering.txt", + "fastp_filtered_reads_plot.txt", + "fastqc-status-check-heatmap.txt", + "fastqc_adapter_content_plot.txt", + "fastqc_per_base_n_content_plot.txt", + "fastqc_per_base_sequence_quality_plot.txt", + "fastqc_per_sequence_gc_content_plot_Counts.txt", + "fastqc_per_sequence_gc_content_plot_Percentages.txt", + "fastqc_per_sequence_quality_scores_plot.txt", + "fastqc_sequence_counts_plot.txt", + "fastqc_sequence_duplication_levels_plot.txt", + "fastqc_sequence_length_distribution_plot.txt", + "fastqc_top_overrepresented_sequences_table.txt", + "fiveprime_misinc_plot.txt", + "length-distribution-Forward.txt", + "length-distribution-Reverse.txt", + "mapdamage-fiveprime_misinc_plot.txt", + "mapdamage-length-distribution-Forward.txt", + "mapdamage-length-distribution-Reverse.txt", + "mapdamage-threeprime_misinc_plot.txt", + "multiqc.log", + "multiqc_citations.txt", + "multiqc_data.json", + "multiqc_general_stats.txt", + "multiqc_sources.txt", + "preseq_complexity_plot_molecules.txt", + "qualimap_coverage_histogram.txt", + "qualimap_gc_content.txt", + "qualimap_genome_fraction.txt", + "samtools-flagstat-dp_Percentage_of_total.txt", + "samtools-flagstat-dp_Read_counts.txt", + "threeprime_misinc_plot.txt", + "multiqc_plots", + "pdf", + "fastp-insert-size-plot.pdf", + "fastp-seq-content-gc-plot_Read_1_After_filtering.pdf", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.pdf", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.pdf", + "fastp-seq-content-n-plot_Read_1_After_filtering.pdf", + "fastp-seq-content-n-plot_Read_1_Before_filtering.pdf", + "fastp-seq-content-n-plot_Read_2_Before_filtering.pdf", + "fastp-seq-quality-plot_Read_1_After_filtering.pdf", + "fastp-seq-quality-plot_Read_1_Before_filtering.pdf", + "fastp-seq-quality-plot_Read_2_Before_filtering.pdf", + "fastp_filtered_reads_plot-cnt.pdf", + "fastp_filtered_reads_plot-pct.pdf", + "fastqc-status-check-heatmap.pdf", + "fastqc_adapter_content_plot.pdf", + "fastqc_per_base_n_content_plot.pdf", + "fastqc_per_base_sequence_quality_plot.pdf", + "fastqc_per_sequence_gc_content_plot_Counts.pdf", + "fastqc_per_sequence_gc_content_plot_Percentages.pdf", + "fastqc_per_sequence_quality_scores_plot.pdf", + "fastqc_sequence_counts_plot-cnt.pdf", + "fastqc_sequence_counts_plot-pct.pdf", + "fastqc_sequence_duplication_levels_plot.pdf", + "fastqc_sequence_length_distribution_plot.pdf", + "fastqc_top_overrepresented_sequences_table.pdf", + "fiveprime_misinc_plot.pdf", + "general_stats_table.pdf", + "length-distribution-Forward.pdf", + "length-distribution-Reverse.pdf", + "mapdamage-fiveprime_misinc_plot.pdf", + "mapdamage-length-distribution-Forward.pdf", + "mapdamage-length-distribution-Reverse.pdf", + "mapdamage-threeprime_misinc_plot.pdf", + "preseq_complexity_plot_molecules.pdf", + "qualimap_coverage_histogram.pdf", + "qualimap_gc_content.pdf", + "qualimap_genome_fraction.pdf", + "samtools-flagstat-dp_Percentage_of_total.pdf", + "samtools-flagstat-dp_Read_counts.pdf", + "threeprime_misinc_plot.pdf", + "png", + "fastp-insert-size-plot.png", + "fastp-seq-content-gc-plot_Read_1_After_filtering.png", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.png", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.png", + "fastp-seq-content-n-plot_Read_1_After_filtering.png", + "fastp-seq-content-n-plot_Read_1_Before_filtering.png", + "fastp-seq-content-n-plot_Read_2_Before_filtering.png", + "fastp-seq-quality-plot_Read_1_After_filtering.png", + "fastp-seq-quality-plot_Read_1_Before_filtering.png", + "fastp-seq-quality-plot_Read_2_Before_filtering.png", + "fastp_filtered_reads_plot-cnt.png", + "fastp_filtered_reads_plot-pct.png", + "fastqc-status-check-heatmap.png", + "fastqc_adapter_content_plot.png", + "fastqc_per_base_n_content_plot.png", + "fastqc_per_base_sequence_quality_plot.png", + "fastqc_per_sequence_gc_content_plot_Counts.png", + "fastqc_per_sequence_gc_content_plot_Percentages.png", + "fastqc_per_sequence_quality_scores_plot.png", + "fastqc_sequence_counts_plot-cnt.png", + "fastqc_sequence_counts_plot-pct.png", + "fastqc_sequence_duplication_levels_plot.png", + "fastqc_sequence_length_distribution_plot.png", + "fastqc_top_overrepresented_sequences_table.png", + "fiveprime_misinc_plot.png", + "general_stats_table.png", + "length-distribution-Forward.png", + "length-distribution-Reverse.png", + "mapdamage-fiveprime_misinc_plot.png", + "mapdamage-length-distribution-Forward.png", + "mapdamage-length-distribution-Reverse.png", + "mapdamage-threeprime_misinc_plot.png", + "preseq_complexity_plot_molecules.png", + "qualimap_coverage_histogram.png", + "qualimap_gc_content.png", + "qualimap_genome_fraction.png", + "samtools-flagstat-dp_Percentage_of_total.png", + "samtools-flagstat-dp_Read_counts.png", + "threeprime_misinc_plot.png", + "svg", + "fastp-insert-size-plot.svg", + "fastp-seq-content-gc-plot_Read_1_After_filtering.svg", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.svg", + "fastp-seq-content-gc-plot_Read_2_Before_filtering.svg", + "fastp-seq-content-n-plot_Read_1_After_filtering.svg", + "fastp-seq-content-n-plot_Read_1_Before_filtering.svg", + "fastp-seq-content-n-plot_Read_2_Before_filtering.svg", + "fastp-seq-quality-plot_Read_1_After_filtering.svg", + "fastp-seq-quality-plot_Read_1_Before_filtering.svg", + "fastp-seq-quality-plot_Read_2_Before_filtering.svg", + "fastp_filtered_reads_plot-cnt.svg", + "fastp_filtered_reads_plot-pct.svg", + "fastqc-status-check-heatmap.svg", + "fastqc_adapter_content_plot.svg", + "fastqc_per_base_n_content_plot.svg", + "fastqc_per_base_sequence_quality_plot.svg", + "fastqc_per_sequence_gc_content_plot_Counts.svg", + "fastqc_per_sequence_gc_content_plot_Percentages.svg", + "fastqc_per_sequence_quality_scores_plot.svg", + "fastqc_sequence_counts_plot-cnt.svg", + "fastqc_sequence_counts_plot-pct.svg", + "fastqc_sequence_duplication_levels_plot.svg", + "fastqc_sequence_length_distribution_plot.svg", + "fastqc_top_overrepresented_sequences_table.svg", + "fiveprime_misinc_plot.svg", + "general_stats_table.svg", + "length-distribution-Forward.svg", + "length-distribution-Reverse.svg", + "mapdamage-fiveprime_misinc_plot.svg", + "mapdamage-length-distribution-Forward.svg", + "mapdamage-length-distribution-Reverse.svg", + "mapdamage-threeprime_misinc_plot.svg", + "preseq_complexity_plot_molecules.svg", + "qualimap_coverage_histogram.svg", + "qualimap_gc_content.svg", + "qualimap_genome_fraction.svg", + "samtools-flagstat-dp_Percentage_of_total.svg", + "samtools-flagstat-dp_Read_counts.svg", + "threeprime_misinc_plot.svg", + "multiqc_report.html" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.10.0" + }, + "timestamp": "2024-12-11T12:39:48.786989" + }, "mapping_output": { "content": [ [ From c0cd1eb0545da5455f6f9e8b6371b1e2a6206f52 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 20 Dec 2024 11:02:50 +0100 Subject: [PATCH 39/40] remove leftover todo --- tests/test.nf.test | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index bf910a3e9..0db3caf23 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -65,7 +65,6 @@ nextflow_pipeline { def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) - // TODO assertAll( { assert workflow.success }, // This checks that there are no missing or additional output files. From 5ed2b0bb67a35e732541fbcba9bdc729a6cb43a3 Mon Sep 17 00:00:00 2001 From: Thiseas Christos Lamnidis Date: Fri, 20 Dec 2024 11:58:13 +0100 Subject: [PATCH 40/40] add command legend, and align a bit more --- tests/test.nf.test | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 0db3caf23..453465969 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -28,42 +28,44 @@ nextflow_pipeline { // b) the order of the reads in the BAMs is not stable (sorted, but reads that share a start position can be in any order) // point b) also causes BAIs to be unstable. - def stable_name_all = getAllFilesFromDir("$outputDir/" , true , ['pipeline_info/*'] , null , ['*', '**/*'] ) + // Check that no files are missing/added + // Command legend: Result directory to index , include dirs?, exclude patterns , exclude pattern list, include patterns + def stable_name_all = getAllFilesFromDir("$outputDir/" , true , ['pipeline_info/*'] , null , ['*', '**/*'] ) - //Bam filtering - def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.{bam,bai}'] , null , ['*.flagstat'] ) - def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) + // Bam filtering + def stable_content_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.{bam,bai}'] , null , ['*.flagstat'] ) + def stable_name_bamfiltering = getAllFilesFromDir("$outputDir/bam_filtering" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) // Bam input stats - def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*.flagstat'] ) + def stable_content_baminputstats = getAllFilesFromDir("$outputDir/bam_input_stats" , true , null , null , ['*.flagstat'] ) // Damage estimation - def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) - def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) + def stable_content_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{svg,pdf,log}'] , null , ['**/*.{txt,json}'] ) + def stable_name_damageestimation = getAllFilesFromDir("$outputDir/damage_estimation" , true , ['**/*.{txt,json}'] , null , ['**/*.{svg,pdf,log}'] ) // Deduplication - def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.{bam,bai}'] , null , ['*.flagstat'] ) - def stable_name_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) + def stable_content_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.{bam,bai}'] , null , ['*.flagstat'] ) + def stable_name_deduplication = getAllFilesFromDir("$outputDir/deduplication" , true , ['*.flagstat'] , null , ['*.{bam,bai}'] ) // Final_bams - def stable_content_final_bams = getAllFilesFromDir("$outputDir/final_bams" , true , null , null , ['**/*.flagstat'] ) - def stable_name_final_bams = getAllFilesFromDir("$outputDir/final_bams" , true , null , null , ['**/*.{bam,bai}'] ) + def stable_content_final_bams = getAllFilesFromDir("$outputDir/final_bams" , true , null , null , ['**/*.flagstat'] ) + def stable_name_final_bams = getAllFilesFromDir("$outputDir/final_bams" , true , null , null , ['**/*.{bam,bai}'] ) - //Mapping - def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.flagstat'] ) - def stable_name_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.{bam,bai}'] ) + // Mapping + def stable_content_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.flagstat'] ) + def stable_name_mapping = getAllFilesFromDir("$outputDir/mapping" , true , null , null , ['**/*.{bam,bai}'] ) // Mapstats // NOTE: GC content data and plot has minor changes between runs. I suspect this is because of the order of reads that start at the same position being unstable, but I am not sure. - def stable_content_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'], null , ['**/*.{bed,json,txt,log,css,png,js}'] ) - def stable_name_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , null , null , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'] ) + def stable_content_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'], null , ['**/*.{bed,json,txt,log,css,png,js}'] ) + def stable_name_mapstats = getAllFilesFromDir("$outputDir/mapstats" , true , null , null , ['**/*.html', '**/mapped_reads_gc-content_distribution.txt', '**/genome_gc_content_per_window.png'] ) // MultiQC - def stable_name_multiqc = getAllFilesFromDir("$outputDir/multiqc" , true , null , null , ['*', '**/*'] ) + def stable_name_multiqc = getAllFilesFromDir("$outputDir/multiqc" , true , null , null , ['*', '**/*'] ) // Preprocessing - def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) - def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) + def stable_content_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , ['**/*.{zip,log}', '**/*fastp.html'], null , ['**/*'] ) + def stable_name_preprocessing = getAllFilesFromDir("$outputDir/preprocessing" , true , null , null , ['**/*.{zip,log}', '**/*fastp.html'] ) assertAll( { assert workflow.success },