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] 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