diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fe5fccbc..6fe77b9e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [[PR #444](https://github.com/nf-core/chipseq/pull/444)] - Add empty map to ch_gff so that when provided by the user `GFFREAD` works. - [[#451](https://github.com/nf-core/chipseq/issues/451)] - Pass `map.single_read` to `SUBREAD_FEATURECOUNTS` as to correctly set parameter `-p`. - [[PR #462](https://github.com/nf-core/chipseq/pull/462)] - Updated pipeline template to [nf-core/tools 3.2.1](https://github.com/nf-core/tools/releases/tag/3.2.1) +- [[#468](https://github.com/nf-core/chipseq/issues/468)] - Changed bigWig generation to use `-bga` option instead of `-bg` in `bedtools genomecov` for lower background levels and better IGV visualization. Users can revert to previous behavior using configuration. See [documentation](https://nf-co.re/chipseq/dev/docs/output/#normalised-bigwig-files) for details. ### Parameters diff --git a/conf/modules.config b/conf/modules.config index f53e26c16..8741b7532 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -453,19 +453,28 @@ process { } withName: '.*:BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC:BEDTOOLS_GENOMECOV' { - ext.args = { (meta.single_end && params.fragment_size > 0) ? "-fs ${params.fragment_size}" : '' } + ext.args = { + def args = [] + // Include fragment size only for single-end data + if (meta.single_end && params.fragment_size > 0) { + args << "-fs ${params.fragment_size}" + } + // Add paired-end correction for paired-end data + if (!meta.single_end) { + args << "-pc" + } + // Use -bga instead of -bg to include zero-coverage bins + // This results in lower background levels and better IGV visualization + args << "-bga" + return args.join(' ') + } ext.prefix = { "${meta.id}.mLB.clN" } publishDir = [ [ path: { "${params.outdir}/${params.aligner}/merged_library/bigwig" }, mode: params.publish_dir_mode, - pattern: "*.bigWig" + pattern: "*.bedGraph" ], - [ - path: { "${params.outdir}/${params.aligner}/merged_library/bigwig/scale" }, - mode: params.publish_dir_mode, - pattern: "*.txt" - ] ] } diff --git a/docs/output.md b/docs/output.md index 0fc9a1784..48142a681 100644 --- a/docs/output.md +++ b/docs/output.md @@ -147,6 +147,17 @@ The [Preseq](http://smithlabresearch.org/software/preseq/) package is aimed at p The [bigWig](https://genome.ucsc.edu/goldenpath/help/bigWig.html) format is in an indexed binary format useful for displaying dense, continuous data in Genome Browsers such as the [UCSC](https://genome.ucsc.edu/cgi-bin/hgTracks) and [IGV](http://software.broadinstitute.org/software/igv/). This mitigates the need to load the much larger BAM files for data visualisation purposes which will be slower and result in memory issues. The coverage values represented in the bigWig file can also be normalised in order to be able to compare the coverage across multiple samples - this is not possible with BAM files. The bigWig format is also supported by various bioinformatics software for downstream processing such as meta-profile plotting. +> [!IMPORTANT] +> As of v2.2.0, the pipeline uses the `-bga` option in `bedtools genomecov` instead of `-bg`. This includes zero-coverage bins in the output, resulting in lower background levels and better visualization in IGV. Users who prefer the previous behavior can override this by adding `-bg` to the `ext.args` parameter in their configuration: +> +> ```groovy +> process { +> withName: '.*:BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC:BEDTOOLS_GENOMECOV' { +> ext.args = '-bg' +> } +> } +> ``` + ### ChIP-seq QC metrics
diff --git a/modules.json b/modules.json index dc3d6bd83..3fb8d76b3 100644 --- a/modules.json +++ b/modules.json @@ -5,6 +5,11 @@ "https://github.com/nf-core/modules.git": { "modules": { "nf-core": { + "bedtools/genomecov": { + "branch": "master", + "git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46", + "installed_by": ["modules"] + }, "bowtie2/align": { "branch": "master", "git_sha": "9bfc81874554e87740bcb3e5e07acf0a153c9ecb", @@ -123,8 +128,9 @@ }, "samtools/flagstat": { "branch": "master", - "git_sha": "46eca555142d6e597729fcb682adcc791796f514", - "installed_by": ["bam_stats_samtools", "modules"] + "git_sha": "e334e12a1e985adc5ffc3fc78a68be1de711de45", + "installed_by": ["bam_stats_samtools", "modules"], + "patch": "modules/nf-core/samtools/flagstat/samtools-flagstat.diff" }, "samtools/idxstats": { "branch": "master", diff --git a/modules/local/bedtools_genomecov.nf b/modules/local/bedtools_genomecov.nf deleted file mode 100644 index 23cdf4cbc..000000000 --- a/modules/local/bedtools_genomecov.nf +++ /dev/null @@ -1,55 +0,0 @@ -process BEDTOOLS_GENOMECOV { - tag "$meta.id" - label 'process_medium' - - conda "bioconda::bedtools=2.30.0" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bedtools:2.30.0--hc088bd4_0': - 'biocontainers/bedtools:2.30.0--hc088bd4_0' }" - - input: - tuple val(meta), path(bam), path(flagstat) - - output: - tuple val(meta), path("*.bedGraph"), emit: bedgraph - tuple val(meta), path("*.txt") , emit: scale_factor - path "versions.yml" , emit: versions - - when: - task.ext.when == null || task.ext.when - - script: - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" - def pe = meta.single_end ? '' : '-pc' - """ - SCALE_FACTOR=\$(grep '[0-9] mapped (' $flagstat | awk '{print 1000000/\$1}') - echo \$SCALE_FACTOR > ${prefix}.scale_factor.txt - - bedtools \\ - genomecov \\ - -ibam $bam \\ - -bg \\ - -scale \$SCALE_FACTOR \\ - $pe \\ - $args \\ - | sort -T '.' -k1,1 -k2,2n > ${prefix}.bedGraph - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - bedtools: \$(bedtools --version | sed -e "s/bedtools v//g") - END_VERSIONS - """ - - stub: - def prefix = task.ext.prefix ?: "${meta.id}" - """ - touch ${prefix}.bedGraph - touch ${prefix}.scale_factor.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - bedtools: \$(bedtools --version | sed -e "s/bedtools v//g") - END_VERSIONS - """ -} diff --git a/modules/nf-core/bedtools/genomecov/environment.yml b/modules/nf-core/bedtools/genomecov/environment.yml new file mode 100644 index 000000000..45c307b0e --- /dev/null +++ b/modules/nf-core/bedtools/genomecov/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::bedtools=2.31.1 diff --git a/modules/nf-core/bedtools/genomecov/main.nf b/modules/nf-core/bedtools/genomecov/main.nf new file mode 100644 index 000000000..35e2ab14b --- /dev/null +++ b/modules/nf-core/bedtools/genomecov/main.nf @@ -0,0 +1,77 @@ +process BEDTOOLS_GENOMECOV { + tag "$meta.id" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6397750e9730a3fbcc5b4c43f14bd141c64c723fd7dad80e47921a68a7c3cd21/data': + 'community.wave.seqera.io/library/bedtools_coreutils:a623c13f66d5262b' }" + + input: + tuple val(meta), path(intervals), val(scale) + path sizes + val extension + val sort + + output: + tuple val(meta), path("*.${extension}"), emit: genomecov + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args_list = args.tokenize() + args += (scale > 0 && scale != 1) ? " -scale $scale" : "" + if (!args_list.contains('-bg') && (scale > 0 && scale != 1)) { + args += " -bg" + } + // Sorts output file by chromosome and position using additional options for performance and consistency + // See https://www.biostars.org/p/66927/ for further details + def buffer = task.memory ? "--buffer-size=${task.memory.toGiga().intdiv(2)}G" : '' + def sort_cmd = sort ? "| LC_ALL=C sort --parallel=$task.cpus $buffer -k1,1 -k2,2n" : '' + + def prefix = task.ext.prefix ?: "${meta.id}" + if (intervals.name =~ /\.bam/) { + """ + bedtools \\ + genomecov \\ + -ibam $intervals \\ + $args \\ + $sort_cmd \\ + > ${prefix}.${extension} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bedtools: \$(bedtools --version | sed -e "s/bedtools v//g") + END_VERSIONS + """ + } else { + """ + bedtools \\ + genomecov \\ + -i $intervals \\ + -g $sizes \\ + $args \\ + $sort_cmd \\ + > ${prefix}.${extension} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bedtools: \$(bedtools --version | sed -e "s/bedtools v//g") + END_VERSIONS + """ + } + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.${extension} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bedtools: \$(bedtools --version | sed -e "s/bedtools v//g") + END_VERSIONS + """ +} diff --git a/modules/nf-core/bedtools/genomecov/meta.yml b/modules/nf-core/bedtools/genomecov/meta.yml new file mode 100644 index 000000000..9be3b3f94 --- /dev/null +++ b/modules/nf-core/bedtools/genomecov/meta.yml @@ -0,0 +1,76 @@ +name: bedtools_genomecov +description: Computes histograms (default), per-base reports (-d) and BEDGRAPH (-bg) + summaries of feature coverage (e.g., aligned sequences) for a given genome. +keywords: + - bed + - bam + - genomecov + - bedtools + - histogram +tools: + - bedtools: + description: | + A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types. + documentation: https://bedtools.readthedocs.io/en/latest/content/tools/genomecov.html + licence: ["MIT"] + identifier: biotools:bedtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - intervals: + type: file + description: BAM/BED/GFF/VCF + pattern: "*.{bam|bed|gff|vcf}" + ontologies: [] + - scale: + type: integer + description: Number containing the scale factor for the output. Set to 1 to + disable. Setting to a value other than 1 will also get the -bg bedgraph output + format as this is required for this command switch + - sizes: + type: file + description: Tab-delimited table of chromosome names in the first column and chromosome + sizes in the second column + ontologies: [] + - extension: + type: string + description: Extension of the output file (e. g., ".bg", ".bedgraph", ".txt", + ".tab", etc.) It is set arbitrarily by the user and corresponds to the file + format which depends on arguments. + - sort: + type: boolean + description: Sort the output +output: + genomecov: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.${extension}": + type: file + description: Computed genome coverage file + pattern: "*.${extension}" + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML +authors: + - "@edmundmiller" + - "@sruthipsuresh" + - "@drpatelh" + - "@sidorov-si" + - "@chris-cheshire" +maintainers: + - "@edmundmiller" + - "@sruthipsuresh" + - "@drpatelh" + - "@sidorov-si" + - "@chris-cheshire" diff --git a/modules/nf-core/bedtools/genomecov/tests/main.nf.test b/modules/nf-core/bedtools/genomecov/tests/main.nf.test new file mode 100644 index 000000000..16a03492c --- /dev/null +++ b/modules/nf-core/bedtools/genomecov/tests/main.nf.test @@ -0,0 +1,174 @@ +nextflow_process { + name "Test Process BEDTOOLS_GENOMECOV" + script "../main.nf" + process "BEDTOOLS_GENOMECOV" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "bedtools" + tag "bedtools/genomecov" + + test("sarscov2 - no scale") { + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.bam", checkIfExists: true), + 1 + ] + // sizes + input[1] = [] + // extension + input[2] = "txt" + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - dummy sizes") { + when { + process { + """ + input[0] = [ + [ id:'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.bam", checkIfExists: true), + 0.5 + ] + // sizes + input[1] = file('dummy_chromosome_sizes') + // extension + input[2] = 'txt' + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - scale") { + when { + process { + """ + input[0] = [ + [ id:'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/baits.bed", checkIfExists: true), + 0.5 + ] + // sizes + input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.sizes", checkIfExists: true) + // extension + input[2] = 'txt' + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - no scale - stub") { + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.bam", checkIfExists: true), + 1 + ] + // sizes + input[1] = [] + // extension + input[2] = "txt" + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - dummy sizes - stub") { + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.bam", checkIfExists: true), + 0.5 + ] + // sizes + input[1] = file('dummy_chromosome_sizes') + // extension + input[2] = 'txt' + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - scale - stub") { + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/baits.bed", checkIfExists: true), + 0.5 + ] + // sizes + input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.sizes", checkIfExists: true) + // extension + input[2] = 'txt' + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} diff --git a/modules/nf-core/bedtools/genomecov/tests/main.nf.test.snap b/modules/nf-core/bedtools/genomecov/tests/main.nf.test.snap new file mode 100644 index 000000000..da6dbe875 --- /dev/null +++ b/modules/nf-core/bedtools/genomecov/tests/main.nf.test.snap @@ -0,0 +1,200 @@ +{ + "sarscov2 - dummy sizes": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,01291b6e1beab72e046653e709eb0e10" + ] + ], + "1": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ], + "genomecov": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,01291b6e1beab72e046653e709eb0e10" + ] + ], + "versions": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T11:59:33.898146" + }, + "sarscov2 - no scale - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ], + "genomecov": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T11:59:52.483371" + }, + "sarscov2 - scale": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,de3c59c0ea123bcdbbad27bc0a0a601e" + ] + ], + "1": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ], + "genomecov": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,de3c59c0ea123bcdbbad27bc0a0a601e" + ] + ], + "versions": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T11:59:43.69501" + }, + "sarscov2 - scale - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ], + "genomecov": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T12:00:09.930036" + }, + "sarscov2 - no scale": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,66083198daca6c001d328ba9616e9b53" + ] + ], + "1": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ], + "genomecov": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,66083198daca6c001d328ba9616e9b53" + ] + ], + "versions": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T11:59:25.448817" + }, + "sarscov2 - dummy sizes - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ], + "genomecov": [ + [ + { + "id": "test" + }, + "test.coverage.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,5fd44452613992a6f71f2c73d2e117f2" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T12:00:01.086433" + } +} \ No newline at end of file diff --git a/modules/nf-core/bedtools/genomecov/tests/nextflow.config b/modules/nf-core/bedtools/genomecov/tests/nextflow.config new file mode 100644 index 000000000..bdb74ae5a --- /dev/null +++ b/modules/nf-core/bedtools/genomecov/tests/nextflow.config @@ -0,0 +1,7 @@ +process { + + withName: BEDTOOLS_GENOMECOV { + ext.prefix = { "${meta.id}.coverage" } + } + +} diff --git a/modules/nf-core/samtools/flagstat/environment.yml b/modules/nf-core/samtools/flagstat/environment.yml index 68b81558e..89e12a645 100644 --- a/modules/nf-core/samtools/flagstat/environment.yml +++ b/modules/nf-core/samtools/flagstat/environment.yml @@ -1,8 +1,10 @@ -name: samtools_flagstat +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda - - defaults dependencies: - - bioconda::samtools=1.20 - - bioconda::htslib=1.20 + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.22.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.22.1 diff --git a/modules/nf-core/samtools/flagstat/main.nf b/modules/nf-core/samtools/flagstat/main.nf index 754d84b73..f148f56bb 100644 --- a/modules/nf-core/samtools/flagstat/main.nf +++ b/modules/nf-core/samtools/flagstat/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_FLAGSTAT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.20--h50ea8bc_0' : - 'biocontainers/samtools:1.20--h50ea8bc_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.22.1--h96c455f_0' : + 'biocontainers/samtools:1.22.1--h96c455f_0' }" input: tuple val(meta), path(bam), path(bai) @@ -18,7 +18,6 @@ process SAMTOOLS_FLAGSTAT { task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" """ samtools \\ @@ -36,7 +35,19 @@ process SAMTOOLS_FLAGSTAT { stub: def prefix = task.ext.prefix ?: "${meta.id}" """ - touch ${prefix}.flagstat + cat <<-END_FLAGSTAT > ${prefix}.flagstat + 1000000 + 0 in total (QC-passed reads + QC-failed reads) + 0 + 0 secondary + 0 + 0 supplementary + 0 + 0 duplicates + 900000 + 0 mapped (90.00% : N/A) + 1000000 + 0 paired in sequencing + 500000 + 0 read1 + 500000 + 0 read2 + 800000 + 0 properly paired (80.00% : N/A) + 850000 + 0 with mate mapped to a different chr + 50000 + 0 with mate mapped to a different chr (mapQ>=5) + END_FLAGSTAT cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/samtools/flagstat/meta.yml b/modules/nf-core/samtools/flagstat/meta.yml index 97991358e..ebbc15f27 100644 --- a/modules/nf-core/samtools/flagstat/meta.yml +++ b/modules/nf-core/samtools/flagstat/meta.yml @@ -1,5 +1,6 @@ name: samtools_flagstat -description: Counts the number of alignments in a BAM/CRAM/SAM file for each FLAG type +description: Counts the number of alignments in a BAM/CRAM/SAM file for each FLAG + type keywords: - stats - mapping @@ -17,34 +18,42 @@ tools: documentation: http://www.htslib.org/doc/samtools.html doi: 10.1093/bioinformatics/btp352 licence: ["MIT"] + identifier: biotools:samtools input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bam: - type: file - description: BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" - - bai: - type: file - description: Index for BAM/CRAM/SAM file - pattern: "*.{bai,crai,sai}" + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - bai: + type: file + description: Index for BAM/CRAM/SAM file + pattern: "*.{bai,crai,sai}" + ontologies: [] output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - flagstat: - type: file - description: File containing samtools flagstat output - pattern: "*.{flagstat}" - - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + flagstat: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.flagstat": + type: file + description: File containing samtools flagstat output + pattern: "*.{flagstat}" + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML authors: - "@drpatelh" maintainers: diff --git a/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap index 23989c612..0a0a9b15c 100644 --- a/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap @@ -8,11 +8,11 @@ "id": "test", "single_end": false }, - "test.flagstat:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" ] ], "1": [ - "versions.yml:md5,f606681ef971cbb548a4d9e3fbabdbc2" + "versions.yml:md5,bdc0bfb2b0542580e7cd65e80d8570bc" ], "flagstat": [ [ @@ -20,19 +20,19 @@ "id": "test", "single_end": false }, - "test.flagstat:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" ] ], "versions": [ - "versions.yml:md5,f606681ef971cbb548a4d9e3fbabdbc2" + "versions.yml:md5,bdc0bfb2b0542580e7cd65e80d8570bc" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2024-07-22T14:17:28.002887" + "timestamp": "2025-09-15T15:02:00.813612" }, "BAM": { "content": [ @@ -47,7 +47,7 @@ ] ], "1": [ - "versions.yml:md5,f606681ef971cbb548a4d9e3fbabdbc2" + "versions.yml:md5,bdc0bfb2b0542580e7cd65e80d8570bc" ], "flagstat": [ [ @@ -59,14 +59,14 @@ ] ], "versions": [ - "versions.yml:md5,f606681ef971cbb548a4d9e3fbabdbc2" + "versions.yml:md5,bdc0bfb2b0542580e7cd65e80d8570bc" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2024-07-22T14:17:13.330971" + "timestamp": "2025-09-15T15:01:55.232954" } } \ No newline at end of file diff --git a/modules/nf-core/samtools/flagstat/tests/tags.yml b/modules/nf-core/samtools/flagstat/tests/tags.yml deleted file mode 100644 index 2d2b7255e..000000000 --- a/modules/nf-core/samtools/flagstat/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -samtools/flagstat: - - modules/nf-core/samtools/flagstat/** diff --git a/subworkflows/local/bam_bedgraph_bigwig_bedtools_ucsc.nf b/subworkflows/local/bam_bedgraph_bigwig_bedtools_ucsc.nf index 271c3aa3b..1c5df00d3 100644 --- a/subworkflows/local/bam_bedgraph_bigwig_bedtools_ucsc.nf +++ b/subworkflows/local/bam_bedgraph_bigwig_bedtools_ucsc.nf @@ -2,7 +2,7 @@ // Convert BAM to normalised bigWig via bedGraph using BEDTools and UCSC // -include { BEDTOOLS_GENOMECOV } from '../../modules/local/bedtools_genomecov' +include { BEDTOOLS_GENOMECOV } from '../../modules/nf-core/bedtools/genomecov/main' include { UCSC_BEDGRAPHTOBIGWIG } from '../../modules/nf-core/ucsc/bedgraphtobigwig/main' workflow BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC { @@ -14,11 +14,40 @@ workflow BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC { ch_versions = Channel.empty() + // + // Extract scale factor from flagstat and prepare input for bedtools genomecov + // + ch_bam_scale = ch_bam_flagstat + .map { meta, bam, flagstat -> + // Parse flagstat to get mapped reads count + def flagstat_content = flagstat.text + def match = flagstat_content =~ /(\d+) \+ \d+ mapped/ + if (match.size() == 0) { + // Try alternative pattern for different flagstat formats or stub files + match = flagstat_content =~ /(\d+) mapped/ + if (match.size() == 0) { + // For stub tests, use a default scale factor + log.warn "Could not parse mapped reads from flagstat, using default scale factor of 1.0" + return [meta, bam, 1.0] + } + } + def mapped_reads = match[0][1] as Integer + if (mapped_reads == 0) { + log.warn "Zero mapped reads found in flagstat file, using default scale factor of 1.0" + return [meta, bam, 1.0] + } + def scale_factor = 1000000 / mapped_reads + [meta, bam, scale_factor] + } + // // Create bedGraph coverage track // BEDTOOLS_GENOMECOV ( - ch_bam_flagstat + ch_bam_scale, + [], + 'bedGraph', + true ) ch_versions = ch_versions.mix(BEDTOOLS_GENOMECOV.out.versions.first()) @@ -26,15 +55,13 @@ workflow BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC { // Create bigWig coverage tracks // UCSC_BEDGRAPHTOBIGWIG ( - BEDTOOLS_GENOMECOV.out.bedgraph, + BEDTOOLS_GENOMECOV.out.genomecov, ch_chrom_sizes ) ch_versions = ch_versions.mix(UCSC_BEDGRAPHTOBIGWIG.out.versions.first()) emit: - bedgraph = BEDTOOLS_GENOMECOV.out.bedgraph // channel: [ val(meta), [ bedgraph ] ] - scale_factor = BEDTOOLS_GENOMECOV.out.scale_factor // channel: [ val(meta), [ txt ] ] - + bedgraph = BEDTOOLS_GENOMECOV.out.genomecov // channel: [ val(meta), [ bedgraph ] ] bigwig = UCSC_BEDGRAPHTOBIGWIG.out.bigwig // channel: [ val(meta), [ bigwig ] ] versions = ch_versions // channel: [ versions.yml ] diff --git a/tests/.nftignore b/tests/.nftignore index 6b5473db1..67a3a41d1 100644 --- a/tests/.nftignore +++ b/tests/.nftignore @@ -12,8 +12,9 @@ multiqc/multiqc_data/BETA-multiqc.parquet **/multiqc.log **/multiqc_data.json **/multiqc_report.html +**/multiqc_software_versions.txt +**/multiqc_software_versions.yaml multiqc/multiqc_data/multiqc_sources.txt -multiqc/multiqc_data/multiqc_software_versions.txt multiqc/multiqc_plots/{svg,pdf,png}/*.{svg,pdf,png} # === QC TOOL OUTPUTS === @@ -52,6 +53,8 @@ fastqc/*_fastqc.{html,zip} **/*.annotatePeaks.txt **/*.boolean.annotatePeaks.txt **/macs3_peak.summary.txt +**/macs3_annotatePeaks.summary.txt +**/macs3_annotatePeaks.summary_mqc.tsv # Feature counting **/*.featureCounts.txt diff --git a/tests/bowtie2.nf.test.snap b/tests/bowtie2.nf.test.snap index 91c2f2284..42a9e46f5 100644 --- a/tests/bowtie2.nf.test.snap +++ b/tests/bowtie2.nf.test.snap @@ -14,7 +14,7 @@ "samtools": "1.15.1" }, "BEDTOOLS_GENOMECOV": { - "bedtools": "2.30.0" + "bedtools": "2.31.1" }, "BOWTIE2_ALIGN": { "bowtie2": "2.5.2", @@ -94,7 +94,7 @@ "python": "3.8.3" }, "SAMTOOLS_FLAGSTAT": { - "samtools": 1.2 + "samtools": "1.22.1" }, "SAMTOOLS_IDXSTATS": { "samtools": 1.2 @@ -138,19 +138,18 @@ "bowtie2/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam", "bowtie2/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam.bai", "bowtie2/merged_library/bigwig", + "bowtie2/merged_library/bigwig/SPT5_INPUT_REP1.mLB.clN.bedGraph", "bowtie2/merged_library/bigwig/SPT5_INPUT_REP1.mLb.clN.bigWig", + "bowtie2/merged_library/bigwig/SPT5_INPUT_REP2.mLB.clN.bedGraph", "bowtie2/merged_library/bigwig/SPT5_INPUT_REP2.mLb.clN.bigWig", + "bowtie2/merged_library/bigwig/SPT5_T0_REP1.mLB.clN.bedGraph", "bowtie2/merged_library/bigwig/SPT5_T0_REP1.mLb.clN.bigWig", + "bowtie2/merged_library/bigwig/SPT5_T0_REP2.mLB.clN.bedGraph", "bowtie2/merged_library/bigwig/SPT5_T0_REP2.mLb.clN.bigWig", + "bowtie2/merged_library/bigwig/SPT5_T15_REP1.mLB.clN.bedGraph", "bowtie2/merged_library/bigwig/SPT5_T15_REP1.mLb.clN.bigWig", + "bowtie2/merged_library/bigwig/SPT5_T15_REP2.mLB.clN.bedGraph", "bowtie2/merged_library/bigwig/SPT5_T15_REP2.mLb.clN.bigWig", - "bowtie2/merged_library/bigwig/scale", - "bowtie2/merged_library/bigwig/scale/SPT5_INPUT_REP1.mLB.clN.scale_factor.txt", - "bowtie2/merged_library/bigwig/scale/SPT5_INPUT_REP2.mLB.clN.scale_factor.txt", - "bowtie2/merged_library/bigwig/scale/SPT5_T0_REP1.mLB.clN.scale_factor.txt", - "bowtie2/merged_library/bigwig/scale/SPT5_T0_REP2.mLB.clN.scale_factor.txt", - "bowtie2/merged_library/bigwig/scale/SPT5_T15_REP1.mLB.clN.scale_factor.txt", - "bowtie2/merged_library/bigwig/scale/SPT5_T15_REP2.mLB.clN.scale_factor.txt", "bowtie2/merged_library/deepTools", "bowtie2/merged_library/deepTools/plotFingerprint", "bowtie2/merged_library/deepTools/plotFingerprint/SPT5_T0_REP1.mLb.clN.plotFingerprint.pdf", @@ -821,12 +820,12 @@ "trimgalore/logs/SPT5_T15_REP2_T1_2.fastq.gz_trimming_report.txt" ], [ - "SPT5_INPUT_REP1.mLB.clN.scale_factor.txt:md5,c13c2058440720e5bf7e0aa36a5bc52e", - "SPT5_INPUT_REP2.mLB.clN.scale_factor.txt:md5,1073f68a937ee8fc94ba4c01fa1d3e52", - "SPT5_T0_REP1.mLB.clN.scale_factor.txt:md5,32e77d7bb4cbdf4c5e3a975b2ced1436", - "SPT5_T0_REP2.mLB.clN.scale_factor.txt:md5,b51fd58fad0860b880e3092172320a45", - "SPT5_T15_REP1.mLB.clN.scale_factor.txt:md5,af29e9ddc1129a747d363932dd89a11f", - "SPT5_T15_REP2.mLB.clN.scale_factor.txt:md5,4ec56e29c2040bba38afce216aa2ad14", + "SPT5_INPUT_REP1.mLB.clN.bedGraph:md5,3185527dd339a8dbcca453f97ecc0860", + "SPT5_INPUT_REP2.mLB.clN.bedGraph:md5,bdc6ce913840caa034fe12f11dc3f821", + "SPT5_T0_REP1.mLB.clN.bedGraph:md5,d50a212ac1477362e6266ebb3aa6c857", + "SPT5_T0_REP2.mLB.clN.bedGraph:md5,ac8049a66f664f4f52e55738bb1b8482", + "SPT5_T15_REP1.mLB.clN.bedGraph:md5,4dd8e393d018debbb6da34bf8a9b9c65", + "SPT5_T15_REP2.mLB.clN.bedGraph:md5,2b646aa9a12ee41987726118058a7e21", "SPT5_T0_REP1_peaks.broadPeak:md5,2cb428b8040f21be839fd18a9a500c4f", "SPT5_T0_REP1_peaks.gappedPeak:md5,4f54b0be097b5c164d401a5a8b7224cc", "SPT5_T0_REP1_peaks.xls:md5,2ae150a4de266fbf8d5c6b678ec2cb0d", @@ -857,8 +856,6 @@ "SPT5_T15_REP1.peak_count_mqc.tsv:md5,b26d81220921415cae94ee5e1be459e5", "SPT5_T15_REP2.FRiP_mqc.tsv:md5,9cb9888d7ff1513fe2fefc6c986c5d48", "SPT5_T15_REP2.peak_count_mqc.tsv:md5,c344e0089dc0455c282bb20647c65ab1", - "macs3_annotatePeaks.summary.txt:md5,c57b8733e402217c29a6fa6adad60879", - "macs3_annotatePeaks.summary_mqc.tsv:md5,dfe99c8893584f2edeeabda3acf2f1c0", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.flagstat:md5,5789960a9102d6f53433dcdbb9b63940", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.idxstats:md5,20a4ac025979cc12c3e0e6cb0bd9c839", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.stats:md5,c409aed714f13ee1d3dc56682a101849", @@ -930,7 +927,6 @@ "multiqc_samtools_stats.yaml:md5,c1f753728b7d0d969f1de706989508ea", "multiqc_samtools_stats_1.yaml:md5,ac39dbae7578b4fc13bf2753d9f2d2eb", "multiqc_samtools_stats_2.yaml:md5,1bb38f88e3cf993ffd1c1eca67965f48", - "multiqc_software_versions.yaml:md5,d7bbeb0e2c28361dbc27a45f060d4dcd", "multiqc_strand_shift_correlation.yaml:md5,87ce7906a3297afe5f5d73fe6e6d86ca", "picard-1_alignment_readlength_plot.yaml:md5,ef8322029669a340b33c3efe78c5df94", "picard-1_alignment_summary_Aligned_Bases.yaml:md5,0f3082cdd9d84f49658e02ab83ecd123", @@ -973,9 +969,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-09-04T20:18:53.73805" + "timestamp": "2025-09-17T13:11:14.489285555" }, "bowtie2 with stub": { "content": [ @@ -987,4 +983,4 @@ }, "timestamp": "2025-09-04T20:19:29.013062" } -} \ No newline at end of file +} diff --git a/tests/chromap.nf.test.snap b/tests/chromap.nf.test.snap index 0767d57ed..2fd20e1c5 100644 --- a/tests/chromap.nf.test.snap +++ b/tests/chromap.nf.test.snap @@ -14,7 +14,7 @@ "samtools": "1.15.1" }, "BEDTOOLS_GENOMECOV": { - "bedtools": "2.30.0" + "bedtools": "2.31.1" }, "CHROMAP_CHROMAP": { "chromap": "0.2.6-r490", @@ -93,7 +93,7 @@ "python": "3.8.3" }, "SAMTOOLS_FLAGSTAT": { - "samtools": 1.2 + "samtools": "1.22.1" }, "SAMTOOLS_IDXSTATS": { "samtools": 1.2 @@ -137,19 +137,18 @@ "chromap/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam", "chromap/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam.bai", "chromap/merged_library/bigwig", + "chromap/merged_library/bigwig/SPT5_INPUT_REP1.mLB.clN.bedGraph", "chromap/merged_library/bigwig/SPT5_INPUT_REP1.mLb.clN.bigWig", + "chromap/merged_library/bigwig/SPT5_INPUT_REP2.mLB.clN.bedGraph", "chromap/merged_library/bigwig/SPT5_INPUT_REP2.mLb.clN.bigWig", + "chromap/merged_library/bigwig/SPT5_T0_REP1.mLB.clN.bedGraph", "chromap/merged_library/bigwig/SPT5_T0_REP1.mLb.clN.bigWig", + "chromap/merged_library/bigwig/SPT5_T0_REP2.mLB.clN.bedGraph", "chromap/merged_library/bigwig/SPT5_T0_REP2.mLb.clN.bigWig", + "chromap/merged_library/bigwig/SPT5_T15_REP1.mLB.clN.bedGraph", "chromap/merged_library/bigwig/SPT5_T15_REP1.mLb.clN.bigWig", + "chromap/merged_library/bigwig/SPT5_T15_REP2.mLB.clN.bedGraph", "chromap/merged_library/bigwig/SPT5_T15_REP2.mLb.clN.bigWig", - "chromap/merged_library/bigwig/scale", - "chromap/merged_library/bigwig/scale/SPT5_INPUT_REP1.mLB.clN.scale_factor.txt", - "chromap/merged_library/bigwig/scale/SPT5_INPUT_REP2.mLB.clN.scale_factor.txt", - "chromap/merged_library/bigwig/scale/SPT5_T0_REP1.mLB.clN.scale_factor.txt", - "chromap/merged_library/bigwig/scale/SPT5_T0_REP2.mLB.clN.scale_factor.txt", - "chromap/merged_library/bigwig/scale/SPT5_T15_REP1.mLB.clN.scale_factor.txt", - "chromap/merged_library/bigwig/scale/SPT5_T15_REP2.mLB.clN.scale_factor.txt", "chromap/merged_library/deepTools", "chromap/merged_library/deepTools/plotFingerprint", "chromap/merged_library/deepTools/plotFingerprint/SPT5_T0_REP1.mLb.clN.plotFingerprint.pdf", @@ -823,12 +822,12 @@ "trimgalore/logs/SPT5_T15_REP2_T1_2.fastq.gz_trimming_report.txt" ], [ - "SPT5_INPUT_REP1.mLB.clN.scale_factor.txt:md5,d90158cfda036c46894de528819160c6", - "SPT5_INPUT_REP2.mLB.clN.scale_factor.txt:md5,75f0ad2d43d1e260ebaa5f8c95c5f5d2", - "SPT5_T0_REP1.mLB.clN.scale_factor.txt:md5,c19971de49bf6a5bfc42aaac3e25af9e", - "SPT5_T0_REP2.mLB.clN.scale_factor.txt:md5,8a591dfbf664f608fe30958ebf5a6af0", - "SPT5_T15_REP1.mLB.clN.scale_factor.txt:md5,ed4560b5e4920a7ba50e2a7fdc296de5", - "SPT5_T15_REP2.mLB.clN.scale_factor.txt:md5,4fd74f09b1c744240d2d18a61e04f33d", + "SPT5_INPUT_REP1.mLB.clN.bedGraph:md5,e18a171dc9e71782335f2ca933da0773", + "SPT5_INPUT_REP2.mLB.clN.bedGraph:md5,3155c2b26db574cfccbb0388dea6617a", + "SPT5_T0_REP1.mLB.clN.bedGraph:md5,ede095f77136b5b49310b028dc1f3174", + "SPT5_T0_REP2.mLB.clN.bedGraph:md5,15b423419d7d837db69c11f911e11b27", + "SPT5_T15_REP1.mLB.clN.bedGraph:md5,df839f1a73260decf2510fbbe038fc04", + "SPT5_T15_REP2.mLB.clN.bedGraph:md5,286e56304db30e41a14e0f806b03e9b4", "SPT5_T0_REP1_peaks.broadPeak:md5,cdb63f77da49a06fa941a616a1d55bc8", "SPT5_T0_REP1_peaks.gappedPeak:md5,9f8bb554a7265da0b2fad9437e4d142e", "SPT5_T0_REP1_peaks.xls:md5,98ddc7de15179f2089c4ca7edfd04f54", @@ -859,8 +858,6 @@ "SPT5_T15_REP1.peak_count_mqc.tsv:md5,309dc93e03386dbe39172a3b708c3641", "SPT5_T15_REP2.FRiP_mqc.tsv:md5,ecced7a70b355073d5fb4c11fa8832e7", "SPT5_T15_REP2.peak_count_mqc.tsv:md5,f798ceafbec8d5e9a52ffebae84c71fe", - "macs3_annotatePeaks.summary.txt:md5,ee7d3a8e6f2b462ecb424caedef0e458", - "macs3_annotatePeaks.summary_mqc.tsv:md5,95a588435ff1b878000bb402a54f2e2b", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.flagstat:md5,e7e595088e284c9bc29cd7198bd54d2c", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.idxstats:md5,0096b9a233e8dda267a26d82e4a38438", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.stats:md5,c06240b832185dc3dd6e6978e77112e6", @@ -933,7 +930,6 @@ "multiqc_samtools_stats.yaml:md5,9d9b24aceea1c649a84fa5bcb35fa6c6", "multiqc_samtools_stats_1.yaml:md5,0e4875a9c9c2bfd78588a3ce04ef5caf", "multiqc_samtools_stats_2.yaml:md5,383b58724b6e90ca35f568ebf6ee8919", - "multiqc_software_versions.yaml:md5,e584942418ca3a57c203992e8a930c7d", "multiqc_strand_shift_correlation.yaml:md5,14fa8c729c885eea869abeb465ddc31c", "picard-1_alignment_readlength_plot.yaml:md5,1f645e3a75839bf834fa250fb0e46d91", "picard-1_alignment_summary_Aligned_Bases.yaml:md5,392fec9f38be3feea5b930209544b972", @@ -976,9 +972,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-09-04T20:45:11.657006" + "timestamp": "2025-09-17T13:22:19.456795982" }, "chromap with stub": { "content": [ @@ -990,4 +986,4 @@ }, "timestamp": "2025-09-04T20:51:25.375669" } -} \ No newline at end of file +} diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 0b7cf4a25..9efc5a4de 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -14,7 +14,7 @@ "samtools": "1.15.1" }, "BEDTOOLS_GENOMECOV": { - "bedtools": "2.30.0" + "bedtools": "2.31.1" }, "BWA_INDEX": { "bwa": "0.7.18-r1243-dirty" @@ -93,7 +93,7 @@ "python": "3.8.3" }, "SAMTOOLS_FLAGSTAT": { - "samtools": 1.2 + "samtools": "1.22.1" }, "SAMTOOLS_IDXSTATS": { "samtools": 1.2 @@ -137,19 +137,18 @@ "bwa/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam", "bwa/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam.bai", "bwa/merged_library/bigwig", + "bwa/merged_library/bigwig/SPT5_INPUT_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_INPUT_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_INPUT_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_INPUT_REP2.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T0_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T0_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T0_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T0_REP2.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T15_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T15_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T15_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T15_REP2.mLb.clN.bigWig", - "bwa/merged_library/bigwig/scale", - "bwa/merged_library/bigwig/scale/SPT5_INPUT_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_INPUT_REP2.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T0_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T0_REP2.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T15_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T15_REP2.mLB.clN.scale_factor.txt", "bwa/merged_library/deepTools", "bwa/merged_library/deepTools/plotFingerprint", "bwa/merged_library/deepTools/plotFingerprint/SPT5_T0_REP1.mLb.clN.plotFingerprint.pdf", @@ -820,12 +819,12 @@ "trimgalore/logs/SPT5_T15_REP2_T1_2.fastq.gz_trimming_report.txt" ], [ - "SPT5_INPUT_REP1.mLB.clN.scale_factor.txt:md5,f7980ab61fb34b0db97506c82a41a9a3", - "SPT5_INPUT_REP2.mLB.clN.scale_factor.txt:md5,100f43d477b73fb415f3df3074b6426c", - "SPT5_T0_REP1.mLB.clN.scale_factor.txt:md5,732314d7bf803d9d802e869558375897", - "SPT5_T0_REP2.mLB.clN.scale_factor.txt:md5,35e93082dd1a1abe9af8c29e2a072695", - "SPT5_T15_REP1.mLB.clN.scale_factor.txt:md5,a9fbf5cb0740b352a167dcaeb50c8306", - "SPT5_T15_REP2.mLB.clN.scale_factor.txt:md5,45ec3f2793055eba8e20d481098a89a6", + "SPT5_INPUT_REP1.mLB.clN.bedGraph:md5,0a93a9e9e1c5c89f62050e0a2c12ca31", + "SPT5_INPUT_REP2.mLB.clN.bedGraph:md5,729d6cd9bd4e7a1e8ffc2f1cadc6483e", + "SPT5_T0_REP1.mLB.clN.bedGraph:md5,490d0e8ae9d5b64ec5ff8988bc17fc61", + "SPT5_T0_REP2.mLB.clN.bedGraph:md5,b6d1bb76e3dcb321d010762ca8046fa6", + "SPT5_T15_REP1.mLB.clN.bedGraph:md5,79aa337a5bdf210529e9e97189bc5799", + "SPT5_T15_REP2.mLB.clN.bedGraph:md5,e82594c663a3e25539b0c039821df8b7", "SPT5_T0_REP1_peaks.broadPeak:md5,2ce0ad3163d0b2b6f0ee2d310dc3e45a", "SPT5_T0_REP1_peaks.gappedPeak:md5,bdf9295567830a37a1ac36dd5b9ae634", "SPT5_T0_REP1_peaks.xls:md5,f9ee78e3871b340a559f3f2397ef0768", @@ -856,8 +855,6 @@ "SPT5_T15_REP1.peak_count_mqc.tsv:md5,f8ced44d005a1e3ece1afc15679f0bde", "SPT5_T15_REP2.FRiP_mqc.tsv:md5,3755b3f252e26d54af798a2793b415e5", "SPT5_T15_REP2.peak_count_mqc.tsv:md5,9bd63147b11a3502c709c6cf6a034d89", - "macs3_annotatePeaks.summary.txt:md5,6955a389d7ef581e857a19fcd6ee0998", - "macs3_annotatePeaks.summary_mqc.tsv:md5,85c1fbbf740527708d5f5cb9904e4f7e", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.flagstat:md5,f697eae4421b77f0c98467563e12a7aa", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.idxstats:md5,5aa769ef078f2da2c3891d77bf1398a1", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.stats:md5,97da194b4647a6c730333021f0fff1d3", @@ -929,7 +926,6 @@ "multiqc_samtools_stats.yaml:md5,c75c982cdca8a83186d345bf66b365e0", "multiqc_samtools_stats_1.yaml:md5,33531055d31307925f94f5e6460463fc", "multiqc_samtools_stats_2.yaml:md5,e538f9993283ee9f2a056f279d3a8dca", - "multiqc_software_versions.yaml:md5,f1c1f63a7fd92a16ae9ae5659a6ff6c0", "multiqc_strand_shift_correlation.yaml:md5,9a9a859ce75534a8074811ee1ca80f71", "picard-1_alignment_readlength_plot.yaml:md5,fc25da4e9daefd74134d960adde48951", "picard-1_alignment_summary_Aligned_Bases.yaml:md5,c174cd7cabe80cedf2c6e11b0091b7cb", @@ -972,8 +968,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-09-04T21:19:39.042131" + "timestamp": "2025-09-17T12:59:57.48698662" } -} \ No newline at end of file +} diff --git a/tests/skip_consensus_peaks.nf.test.snap b/tests/skip_consensus_peaks.nf.test.snap index 2354afc6a..25abda32d 100644 --- a/tests/skip_consensus_peaks.nf.test.snap +++ b/tests/skip_consensus_peaks.nf.test.snap @@ -21,7 +21,7 @@ "samtools": "1.15.1" }, "BEDTOOLS_GENOMECOV": { - "bedtools": "2.30.0" + "bedtools": "2.31.1" }, "BWA_INDEX": { "bwa": "0.7.18-r1243-dirty" @@ -92,7 +92,7 @@ "python": "3.8.3" }, "SAMTOOLS_FLAGSTAT": { - "samtools": 1.2 + "samtools": "1.22.1" }, "SAMTOOLS_IDXSTATS": { "samtools": 1.2 @@ -133,19 +133,18 @@ "bwa/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam", "bwa/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam.bai", "bwa/merged_library/bigwig", + "bwa/merged_library/bigwig/SPT5_INPUT_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_INPUT_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_INPUT_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_INPUT_REP2.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T0_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T0_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T0_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T0_REP2.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T15_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T15_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T15_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T15_REP2.mLb.clN.bigWig", - "bwa/merged_library/bigwig/scale", - "bwa/merged_library/bigwig/scale/SPT5_INPUT_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_INPUT_REP2.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T0_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T0_REP2.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T15_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T15_REP2.mLB.clN.scale_factor.txt", "bwa/merged_library/deepTools", "bwa/merged_library/deepTools/plotFingerprint", "bwa/merged_library/deepTools/plotFingerprint/SPT5_T0_REP1.mLb.clN.plotFingerprint.pdf", @@ -773,12 +772,12 @@ "trimgalore/logs/SPT5_T15_REP2_T1_2.fastq.gz_trimming_report.txt" ], [ - "SPT5_INPUT_REP1.mLB.clN.scale_factor.txt:md5,f7980ab61fb34b0db97506c82a41a9a3", - "SPT5_INPUT_REP2.mLB.clN.scale_factor.txt:md5,100f43d477b73fb415f3df3074b6426c", - "SPT5_T0_REP1.mLB.clN.scale_factor.txt:md5,732314d7bf803d9d802e869558375897", - "SPT5_T0_REP2.mLB.clN.scale_factor.txt:md5,35e93082dd1a1abe9af8c29e2a072695", - "SPT5_T15_REP1.mLB.clN.scale_factor.txt:md5,a9fbf5cb0740b352a167dcaeb50c8306", - "SPT5_T15_REP2.mLB.clN.scale_factor.txt:md5,45ec3f2793055eba8e20d481098a89a6", + "SPT5_INPUT_REP1.mLB.clN.bedGraph:md5,0a93a9e9e1c5c89f62050e0a2c12ca31", + "SPT5_INPUT_REP2.mLB.clN.bedGraph:md5,729d6cd9bd4e7a1e8ffc2f1cadc6483e", + "SPT5_T0_REP1.mLB.clN.bedGraph:md5,490d0e8ae9d5b64ec5ff8988bc17fc61", + "SPT5_T0_REP2.mLB.clN.bedGraph:md5,b6d1bb76e3dcb321d010762ca8046fa6", + "SPT5_T15_REP1.mLB.clN.bedGraph:md5,79aa337a5bdf210529e9e97189bc5799", + "SPT5_T15_REP2.mLB.clN.bedGraph:md5,e82594c663a3e25539b0c039821df8b7", "SPT5_T0_REP1_peaks.broadPeak:md5,2ce0ad3163d0b2b6f0ee2d310dc3e45a", "SPT5_T0_REP1_peaks.gappedPeak:md5,bdf9295567830a37a1ac36dd5b9ae634", "SPT5_T0_REP1_peaks.xls:md5,f9ee78e3871b340a559f3f2397ef0768", @@ -799,8 +798,6 @@ "SPT5_T15_REP1.peak_count_mqc.tsv:md5,f8ced44d005a1e3ece1afc15679f0bde", "SPT5_T15_REP2.FRiP_mqc.tsv:md5,3755b3f252e26d54af798a2793b415e5", "SPT5_T15_REP2.peak_count_mqc.tsv:md5,9bd63147b11a3502c709c6cf6a034d89", - "macs3_annotatePeaks.summary.txt:md5,6955a389d7ef581e857a19fcd6ee0998", - "macs3_annotatePeaks.summary_mqc.tsv:md5,85c1fbbf740527708d5f5cb9904e4f7e", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.flagstat:md5,f697eae4421b77f0c98467563e12a7aa", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.idxstats:md5,5aa769ef078f2da2c3891d77bf1398a1", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.stats:md5,97da194b4647a6c730333021f0fff1d3", @@ -870,7 +867,6 @@ "multiqc_samtools_stats.yaml:md5,c75c982cdca8a83186d345bf66b365e0", "multiqc_samtools_stats_1.yaml:md5,33531055d31307925f94f5e6460463fc", "multiqc_samtools_stats_2.yaml:md5,e538f9993283ee9f2a056f279d3a8dca", - "multiqc_software_versions.yaml:md5,86ec45886fd8ca55da7be24e41a70b4b", "multiqc_strand_shift_correlation.yaml:md5,9a9a859ce75534a8074811ee1ca80f71", "picard-1_alignment_readlength_plot.yaml:md5,fc25da4e9daefd74134d960adde48951", "picard-1_alignment_summary_Aligned_Bases.yaml:md5,c174cd7cabe80cedf2c6e11b0091b7cb", @@ -913,8 +909,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-09-04T21:48:44.371756" + "timestamp": "2025-09-17T11:32:05.17980739" } -} \ No newline at end of file +} diff --git a/tests/skip_trimming.nf.test.snap b/tests/skip_trimming.nf.test.snap index 9cb6070a9..b7704fdcf 100644 --- a/tests/skip_trimming.nf.test.snap +++ b/tests/skip_trimming.nf.test.snap @@ -14,7 +14,7 @@ "samtools": "1.15.1" }, "BEDTOOLS_GENOMECOV": { - "bedtools": "2.30.0" + "bedtools": "2.31.1" }, "BWA_INDEX": { "bwa": "0.7.18-r1243-dirty" @@ -93,7 +93,7 @@ "python": "3.8.3" }, "SAMTOOLS_FLAGSTAT": { - "samtools": 1.2 + "samtools": "1.22.1" }, "SAMTOOLS_IDXSTATS": { "samtools": 1.2 @@ -133,19 +133,18 @@ "bwa/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam", "bwa/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam.bai", "bwa/merged_library/bigwig", + "bwa/merged_library/bigwig/SPT5_INPUT_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_INPUT_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_INPUT_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_INPUT_REP2.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T0_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T0_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T0_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T0_REP2.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T15_REP1.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T15_REP1.mLb.clN.bigWig", + "bwa/merged_library/bigwig/SPT5_T15_REP2.mLB.clN.bedGraph", "bwa/merged_library/bigwig/SPT5_T15_REP2.mLb.clN.bigWig", - "bwa/merged_library/bigwig/scale", - "bwa/merged_library/bigwig/scale/SPT5_INPUT_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_INPUT_REP2.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T0_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T0_REP2.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T15_REP1.mLB.clN.scale_factor.txt", - "bwa/merged_library/bigwig/scale/SPT5_T15_REP2.mLB.clN.scale_factor.txt", "bwa/merged_library/deepTools", "bwa/merged_library/deepTools/plotFingerprint", "bwa/merged_library/deepTools/plotFingerprint/SPT5_T0_REP1.mLb.clN.plotFingerprint.pdf", @@ -716,12 +715,12 @@ "pipeline_info/samplesheet.valid.csv" ], [ - "SPT5_INPUT_REP1.mLB.clN.scale_factor.txt:md5,ae3a22800d1607ca843c86a0690fa1fb", - "SPT5_INPUT_REP2.mLB.clN.scale_factor.txt:md5,960da3d217480981efd502b0f2e22c9d", - "SPT5_T0_REP1.mLB.clN.scale_factor.txt:md5,318821adbe00ab68e6ce1ae34b9dad0a", - "SPT5_T0_REP2.mLB.clN.scale_factor.txt:md5,c5185c9a20651197233dc8f0e4bfb19e", - "SPT5_T15_REP1.mLB.clN.scale_factor.txt:md5,6eaf3ed3e9d4ede3712e82d57191bec3", - "SPT5_T15_REP2.mLB.clN.scale_factor.txt:md5,d2790d9a773e712436499f823724c14e", + "SPT5_INPUT_REP1.mLB.clN.bedGraph:md5,cd382620d1d0b392cc476acb3ee5b64c", + "SPT5_INPUT_REP2.mLB.clN.bedGraph:md5,adeb44bad86ea7074ac4900b8d04e1e9", + "SPT5_T0_REP1.mLB.clN.bedGraph:md5,9169ca9f49eb70a6d282b00d94e8bbb0", + "SPT5_T0_REP2.mLB.clN.bedGraph:md5,0155d0171022e7cef596facf4d4f12f7", + "SPT5_T15_REP1.mLB.clN.bedGraph:md5,53acbef45032a4c58766c9d220e1a761", + "SPT5_T15_REP2.mLB.clN.bedGraph:md5,d2fbf8ad95d452e738f36081d51e4d22", "SPT5_T0_REP1_peaks.broadPeak:md5,ddf2e346dd0b80bd433c09312d31cb51", "SPT5_T0_REP1_peaks.gappedPeak:md5,8369af877d77ad749cc436da6be1f681", "SPT5_T0_REP1_peaks.xls:md5,a472d7386b44247005ccafb042dfb707", @@ -752,8 +751,6 @@ "SPT5_T15_REP1.peak_count_mqc.tsv:md5,b09a3ab94e85d3950755da82133f0920", "SPT5_T15_REP2.FRiP_mqc.tsv:md5,fedde115002f7270d0857a9df170bdcf", "SPT5_T15_REP2.peak_count_mqc.tsv:md5,d79e410476850feb03c3c7c6742f59e0", - "macs3_annotatePeaks.summary.txt:md5,9fecf5b62c8acbd8916dafe6461ec759", - "macs3_annotatePeaks.summary_mqc.tsv:md5,5fb7f7788934a9ae75c3b075e9d83402", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.flagstat:md5,b72640ccdf91428002029db2c63c1b6f", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.idxstats:md5,ad58d8f8538233584fd3696b3564e0c9", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.stats:md5,9222fb8d6745ea71276bf89bb7a4d0c8", @@ -810,7 +807,6 @@ "multiqc_samtools_stats.yaml:md5,75a45fdc0dff7bd8e983c26fa1639815", "multiqc_samtools_stats_1.yaml:md5,b1a5b16e9fab0cdb3c81f7ff982e1f23", "multiqc_samtools_stats_2.yaml:md5,0b4e00e27f065e7a056635818735d494", - "multiqc_software_versions.yaml:md5,cefd13e976daf8bc4c96170d38930069", "multiqc_strand_shift_correlation.yaml:md5,d07ccd5f89fe50a98a5e6673c938187c", "picard-1_alignment_readlength_plot.yaml:md5,cd5131a2c38d9dc8072c39ee191d7e0b", "picard-1_alignment_summary_Aligned_Bases.yaml:md5,86717ca1bbeef507046dee670543c763", @@ -853,9 +849,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-09-04T22:14:43.613805" + "timestamp": "2025-09-17T13:34:31.102064875" }, "skip_trimming with stub": { "content": [ @@ -865,6 +861,6 @@ "nf-test": "0.9.2", "nextflow": "25.04.6" }, - "timestamp": "2025-09-04T22:18:55.08725" + "timestamp": "2025-09-05T10:38:29.093856" } -} \ No newline at end of file +} diff --git a/tests/star.nf.test.snap b/tests/star.nf.test.snap index f148ae007..5a846cf12 100644 --- a/tests/star.nf.test.snap +++ b/tests/star.nf.test.snap @@ -14,7 +14,7 @@ "samtools": "1.15.1" }, "BEDTOOLS_GENOMECOV": { - "bedtools": "2.30.0" + "bedtools": "2.31.1" }, "CUSTOM_GETCHROMSIZES": { "getchromsizes": 1.2 @@ -86,7 +86,7 @@ "python": "3.8.3" }, "SAMTOOLS_FLAGSTAT": { - "samtools": 1.2 + "samtools": "1.22.1" }, "SAMTOOLS_IDXSTATS": { "samtools": 1.2 @@ -562,19 +562,18 @@ "star/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam", "star/merged_library/SPT5_T15_REP2.mLb.clN.sorted.bam.bai", "star/merged_library/bigwig", + "star/merged_library/bigwig/SPT5_INPUT_REP1.mLB.clN.bedGraph", "star/merged_library/bigwig/SPT5_INPUT_REP1.mLb.clN.bigWig", + "star/merged_library/bigwig/SPT5_INPUT_REP2.mLB.clN.bedGraph", "star/merged_library/bigwig/SPT5_INPUT_REP2.mLb.clN.bigWig", + "star/merged_library/bigwig/SPT5_T0_REP1.mLB.clN.bedGraph", "star/merged_library/bigwig/SPT5_T0_REP1.mLb.clN.bigWig", + "star/merged_library/bigwig/SPT5_T0_REP2.mLB.clN.bedGraph", "star/merged_library/bigwig/SPT5_T0_REP2.mLb.clN.bigWig", + "star/merged_library/bigwig/SPT5_T15_REP1.mLB.clN.bedGraph", "star/merged_library/bigwig/SPT5_T15_REP1.mLb.clN.bigWig", + "star/merged_library/bigwig/SPT5_T15_REP2.mLB.clN.bedGraph", "star/merged_library/bigwig/SPT5_T15_REP2.mLb.clN.bigWig", - "star/merged_library/bigwig/scale", - "star/merged_library/bigwig/scale/SPT5_INPUT_REP1.mLB.clN.scale_factor.txt", - "star/merged_library/bigwig/scale/SPT5_INPUT_REP2.mLB.clN.scale_factor.txt", - "star/merged_library/bigwig/scale/SPT5_T0_REP1.mLB.clN.scale_factor.txt", - "star/merged_library/bigwig/scale/SPT5_T0_REP2.mLB.clN.scale_factor.txt", - "star/merged_library/bigwig/scale/SPT5_T15_REP1.mLB.clN.scale_factor.txt", - "star/merged_library/bigwig/scale/SPT5_T15_REP2.mLB.clN.scale_factor.txt", "star/merged_library/deepTools", "star/merged_library/deepTools/plotFingerprint", "star/merged_library/deepTools/plotFingerprint/SPT5_T0_REP1.mLb.clN.plotFingerprint.pdf", @@ -898,7 +897,6 @@ "multiqc_samtools_stats.yaml:md5,e6c2a7caf8babb26af5fee07f7a7090d", "multiqc_samtools_stats_1.yaml:md5,ead1283548e02f0f6dc7fab553959dfb", "multiqc_samtools_stats_2.yaml:md5,abdd0b1a5a908fddb05c6c4a4ad2bd4e", - "multiqc_software_versions.yaml:md5,8e4f4b3a81ca06aefe4a4d4f6fdc04e4", "multiqc_strand_shift_correlation.yaml:md5,b3300505766eb423380ba48bd8161720", "picard-1_alignment_readlength_plot.yaml:md5,9f96961103f78afcc5e42ab1818d1646", "picard-1_alignment_summary_Aligned_Bases.yaml:md5,64a9971ff2cb4560639a455283127f8c", @@ -943,12 +941,12 @@ "SPT5_T0_REP2_T1.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", "SPT5_T15_REP1_T1.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", "SPT5_T15_REP2_T1.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", - "SPT5_INPUT_REP1.mLB.clN.scale_factor.txt:md5,daaed62096aa621ff68cc39909ce110e", - "SPT5_INPUT_REP2.mLB.clN.scale_factor.txt:md5,84a5197cfe7335b9c1912992dfa6f7da", - "SPT5_T0_REP1.mLB.clN.scale_factor.txt:md5,c345ee159ab3e91f0215e7e51bceee31", - "SPT5_T0_REP2.mLB.clN.scale_factor.txt:md5,8668f3a8abfc6b65363e4a9439fe59fb", - "SPT5_T15_REP1.mLB.clN.scale_factor.txt:md5,8af6ff0052b0c7e90508c28dfdd8b92f", - "SPT5_T15_REP2.mLB.clN.scale_factor.txt:md5,e84dbf9f66668ef6f460173e5d6c1588", + "SPT5_INPUT_REP1.mLB.clN.bedGraph:md5,27ec9b3ea78e51a6747f10e87fb28e75", + "SPT5_INPUT_REP2.mLB.clN.bedGraph:md5,0f5eaf0b37296d9a39240163d428d3da", + "SPT5_T0_REP1.mLB.clN.bedGraph:md5,596f22b3ea72ada620869624f0341d84", + "SPT5_T0_REP2.mLB.clN.bedGraph:md5,4e3c18d3683f4e20d9cac82084d517cf", + "SPT5_T15_REP1.mLB.clN.bedGraph:md5,4bc854fd64d47ef4e61204ffedbc93eb", + "SPT5_T15_REP2.mLB.clN.bedGraph:md5,57953f83dbbbff0b256193835448c73d", "SPT5_T0_REP1_peaks.broadPeak:md5,e1fe25b8c90c7c95d2a51928e85bdd83", "SPT5_T0_REP1_peaks.gappedPeak:md5,760698ecb506b316817d968900833238", "SPT5_T0_REP1_peaks.xls:md5,dc2b6465f427257b51ccd1b111d2eefe", @@ -979,8 +977,6 @@ "SPT5_T15_REP1.peak_count_mqc.tsv:md5,a410be995115d5395bddad58356c9317", "SPT5_T15_REP2.FRiP_mqc.tsv:md5,9c4b15116ad398fbfa7d62772ef8c171", "SPT5_T15_REP2.peak_count_mqc.tsv:md5,7cf04251bb45fa69667e008221cf9574", - "macs3_annotatePeaks.summary.txt:md5,b2d5ade5eb5c5a2d98b4929aabbe960b", - "macs3_annotatePeaks.summary_mqc.tsv:md5,504c12fa2bdbaf184236fd2dcfda2270", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.flagstat:md5,eab2d557e005abce4fca95f1393d6821", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.idxstats:md5,c35a726fcffa4b526325847aab379cc5", "SPT5_INPUT_REP1.mLb.clN.sorted.bam.stats:md5,5f5db9f3088da6e56584461901877c32", @@ -1003,9 +999,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-09-04T22:39:17.079904" + "timestamp": "2025-09-17T13:50:40.996684387" }, "star with stub": { "content": [ @@ -1017,4 +1013,4 @@ }, "timestamp": "2025-09-04T22:40:58.444452" } -} \ No newline at end of file +}