diff --git a/CHANGELOG.md b/CHANGELOG.md index 44d997c2..2719b59c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,12 +15,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Annotation input is now provided via the samplesheet instead of `--annotation_set` (see [usage.md](docs/usage.md)) - Added support for PacBio k-mer directories provided as `tar.gz` archives - Updated output structure (see [output.md](docs/output.md)) +- Removed the `--write_to_portal` and `--genome_notes_api` options as the + Genome Note platform is now expected to _pull_ data from the Genome + After-Party. ### Parameters -| Old parameter | New parameter | -| ---------------- | ------------- | -| --annotation_set | | +| Old parameter | New parameter | +| ------------------ | ------------- | +| --annotation_set | | +| --write_to_portal | | +| --genome_notes_api | | > **NB:** Parameter has been **updated** if both old and new parameter information is present.
**NB:** Parameter has been **added** if just the new parameter information is present.
**NB:** Parameter has been **removed** if new parameter information isn't present. diff --git a/conf/modules.config b/conf/modules.config index 7fc4b144..6f984f3a 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -96,7 +96,16 @@ process { publishDir = [ path: { "${params.outdir}/genome_stats/${meta.datatype}/${meta.sample}/merqury" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename.replaceAll(/_only.bed$/, '.only.bed') }, + saveAs: { filename -> filename.equals('versions.yml') || filename.endsWith("_only.bed") ? null : filename }, + ] + } + + withName: BGZIPTABIX { + ext.prefix = { "${input.baseName.replaceFirst(/_only$/, '.only')}" } + publishDir = [ + path: { "${params.outdir}/genome_stats/${meta.datatype}/${meta.sample}/merqury" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, ] } diff --git a/conf/test.config b/conf/test.config index 0ad93a8f..4267a823 100644 --- a/conf/test.config +++ b/conf/test.config @@ -47,9 +47,7 @@ params { biosample_hic = 'SAMEA112198479' biosample_rna = 'SAMEA112232914' - // Genome Notes Portal - write_to_portal = false - genome_notes_api = "https://notes-staging.tol.sanger.ac.uk/api/v1" + // Genome Note document note_template = "${projectDir}/assets/genome_note_template.docx" // Contact Map Options diff --git a/conf/test_full.config b/conf/test_full.config index c6b4b070..31e011b7 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -37,9 +37,7 @@ params { biosample_hic = 'SAMEA7519968' biosample_rna = null - // Genome Notes Portal - write_to_portal = false - genome_notes_api = "https://notes-staging.tol.sanger.ac.uk/api/v1" + // Genome Note document note_template = "${projectDir}/assets/genome_note_template.docx" // HiGlass Options diff --git a/docs/usage.md b/docs/usage.md index 36bdc22c..bf3b60a7 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -266,23 +266,11 @@ NXF_OPTS='-Xms1g -Xmx4g' ## For internal Sanger use only -If you wish to run the optional step that writes genome metadata key value-pairs to a genome notes databases you will need to set the parameter "write_to_portal" to true and provide the base url for the REST API that writes to the database. - -```bash - --write_to_portal_db 'true' - --genome_notes_api '[URL for Genome Notes Portal API]' -``` - -You will also need to set a nextflow secret to store the API key belonging to your user. - -```bash - nextflow secrets set TOL_API_KEY '[API key]' -``` - If you want to populate a genome notes template file with the key-value pairs generated by this pipeline you will need to pass the path to the template file as the "note_template" parameter. Templates may be either docx or xml format. +See the provided `assets/genome_note_template.docx` for an example ```bash - --note_template '[URL for Genome Notes Portal API]' + --note_template '/path/to/template' ``` If you wish to run the optional step that writes the .mcool and .genome files produced by the contact_maps subworkflow to a kubernetes hosted higlass server you will need to set the parameter "upload_higlass_data" to true and provide the configuration information for the kubernetes deployment. diff --git a/modules.json b/modules.json index e13c1637..04d9ee35 100644 --- a/modules.json +++ b/modules.json @@ -23,7 +23,8 @@ "blobtk/plot": { "branch": "master", "git_sha": "02616d1725cc2f97670e25d14d7d1c29d412dffc", - "installed_by": ["modules"] + "installed_by": ["modules"], + "patch": "modules/nf-core/blobtk/plot/blobtk-plot.diff" }, "busco/busco": { "branch": "master", @@ -154,6 +155,11 @@ "git_sha": "ac0fc48df659b3a6cca0fc2b0346af41162caabb", "installed_by": ["modules"] }, + "bgziptabix": { + "branch": "main", + "git_sha": "d87a6e1f034a64bfec4befec1d5d9f398c4239ec", + "installed_by": ["modules"] + }, "restructurebuscodir": { "branch": "main", "git_sha": "8dac7d789fb5ec033c38e69c2553e71cae0dd4c3", diff --git a/modules/local/createtable.nf b/modules/local/createtable.nf index 9ead5880..04a3c6e2 100644 --- a/modules/local/createtable.nf +++ b/modules/local/createtable.nf @@ -39,7 +39,7 @@ process CREATETABLE { ${mco} \\ ${hic} \\ ${fst} \\ - --outcsv ${prefix}.csv + --outcsv ${prefix}.template_parameters.csv cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/local/write_to_database.nf b/modules/local/write_to_database.nf deleted file mode 100644 index 519deffb..00000000 --- a/modules/local/write_to_database.nf +++ /dev/null @@ -1,33 +0,0 @@ -process WRITE_TO_GENOME_NOTES_DB { - secret 'TOL_API_KEY' - - tag "${meta.id}" - label 'process_single' - - conda "conda-forge::python=3.9.1" - container "gitlab-registry.internal.sanger.ac.uk/tol-it/software/docker-images/tol_sdk:0.12.5-c1" - - input: - tuple val(meta), path(param_data) - val api_url - - output: - path "versions.yml", emit: versions - - when: - task.ext.when == null || task.ext.when - - script: - // This script is bundled with the pipeline, in nf-core/genomenote/bin/ - """ - write_to_genome_notes_db.py \\ - ${param_data} \\ - ${api_url} \\ - \$TOL_API_KEY \\ - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - write_to_genome_notes_db.py: \$(write_to_genome_notes_db.py --version | cut -d' ' -f2) - END_VERSIONS - """ -} diff --git a/modules/nf-core/blobtk/plot/blobtk-plot.diff b/modules/nf-core/blobtk/plot/blobtk-plot.diff new file mode 100644 index 00000000..0ab7f3bc --- /dev/null +++ b/modules/nf-core/blobtk/plot/blobtk-plot.diff @@ -0,0 +1,25 @@ +Changes in component 'nf-core/blobtk/plot' +'modules/nf-core/blobtk/plot/meta.yml' is unchanged +Changes in 'blobtk/plot/main.nf': +--- modules/nf-core/blobtk/plot/main.nf ++++ modules/nf-core/blobtk/plot/main.nf +@@ -1,13 +1,4 @@ + process BLOBTK_PLOT { +- // Linked to issue https://github.com/sanger-tol/genomenote/issues/184 +- // Depending on the blob dataset in use, the grid option may not +- // work at all. This is down to the version of blobtoolkit used to +- // generate the blob. +- // Adding a check would overly complicate the module so for now +- // we can ignore errors, with the knowledge it would only kill +- // runs in which the blobdir doesn't have the right data. +- errorStrategy 'ignore' +- + tag "$prefix" + label 'process_single' + + +'modules/nf-core/blobtk/plot/environment.yml' is unchanged +'modules/nf-core/blobtk/plot/tests/main.nf.test' is unchanged +'modules/nf-core/blobtk/plot/tests/nextflow.config' is unchanged +'modules/nf-core/blobtk/plot/tests/main.nf.test.snap' is unchanged +************************************************************ diff --git a/modules/nf-core/blobtk/plot/main.nf b/modules/nf-core/blobtk/plot/main.nf index 147d7e4a..1e0e4d03 100644 --- a/modules/nf-core/blobtk/plot/main.nf +++ b/modules/nf-core/blobtk/plot/main.nf @@ -1,13 +1,4 @@ process BLOBTK_PLOT { - // Linked to issue https://github.com/sanger-tol/genomenote/issues/184 - // Depending on the blob dataset in use, the grid option may not - // work at all. This is down to the version of blobtoolkit used to - // generate the blob. - // Adding a check would overly complicate the module so for now - // we can ignore errors, with the knowledge it would only kill - // runs in which the blobdir doesn't have the right data. - errorStrategy 'ignore' - tag "$prefix" label 'process_single' diff --git a/modules/sanger-tol/bgziptabix/environment.yml b/modules/sanger-tol/bgziptabix/environment.yml new file mode 100644 index 00000000..771b1387 --- /dev/null +++ b/modules/sanger-tol/bgziptabix/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + - bioconda::htslib=1.21 diff --git a/modules/sanger-tol/bgziptabix/main.nf b/modules/sanger-tol/bgziptabix/main.nf new file mode 100644 index 00000000..f60e400a --- /dev/null +++ b/modules/sanger-tol/bgziptabix/main.nf @@ -0,0 +1,45 @@ +process BGZIPTABIX { + 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/92/92859404d861ae01afb87e2b789aebc71c0ab546397af890c7df74e4ee22c8dd/data' + : 'community.wave.seqera.io/library/htslib:1.21--ff8e28a189fbecaa'}" + + input: + tuple val(meta), path(input), val(max_seq_length) + tuple val(column_numbers), val(header_lines), val(extension) + + output: + tuple val(meta), path("*.gz"), path("*.gzi"), emit: gz_index + tuple val(meta), path("*.tbi"), emit: tbi, optional: true + tuple val(meta), path("*.csi"), emit: csi, optional: true + tuple val("${task.process}"), val('bgzip'), eval("bgzip --version | sed '1!d;s/.* //'"), topic: versions, emit: versions_bgzip + tuple val("${task.process}"), val('tabix'), eval("tabix -h 2>&1 | grep -oP 'Version:\\s*\\K[^\\s]+'"), topic: versions, emit: versions_tabix + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def input_data = column_numbers ? "<(cut -f${column_numbers} ${input} | tail -n+${header_lines + 1})" : input + extension ?= input.extension + """ + bgzip --threads ${task.cpus} --index ${args} ${input_data} --output ${prefix}.${extension}.gz + [[ ${max_seq_length} -lt \$(( 2 ** 29 )) ]] && tabix --threads ${task.cpus} ${args2} ${prefix}.${extension}.gz + [[ ${max_seq_length} -lt \$(( 2 ** 32 )) ]] && tabix --threads ${task.cpus} --csi ${args2} ${prefix}.${extension}.gz + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + extension ?= input.extension + """ + echo "" | gzip > ${prefix}.${extension}.gz + touch ${prefix}.${extension}.gz.gzi + touch ${prefix}.${extension}.gz.tbi + touch ${prefix}.${extension}.gz.csi + """ +} diff --git a/modules/sanger-tol/bgziptabix/meta.yml b/modules/sanger-tol/bgziptabix/meta.yml new file mode 100644 index 00000000..d762720c --- /dev/null +++ b/modules/sanger-tol/bgziptabix/meta.yml @@ -0,0 +1,142 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "bgziptabix" +description: bgzip a sorted tab-delimited genome file and then create tabix + indexes in TBI and CSI format when the coordinate / sequence length is within + the supported range of each index format. +keywords: + - bgzip + - compress + - index + - tabix + - vcf +tools: + - bgzip: + description: | + Bgzip compresses or decompresses files in a similar manner to, and compatible with, gzip. + homepage: https://www.htslib.org/doc/tabix.html + documentation: http://www.htslib.org/doc/bgzip.html + doi: 10.1093/bioinformatics/btp352 + licence: ["MIT"] + identifier: biotools:tabix + - tabix: + description: Generic indexer for TAB-delimited genome position files. + homepage: https://www.htslib.org/doc/tabix.html + documentation: https://www.htslib.org/doc/tabix.1.html + doi: 10.1093/bioinformatics/btq671 + licence: ["MIT"] + identifier: biotools:tabix +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: Sorted tab-delimited genome file + ontologies: [] + - max_seq_length: + type: integer + description: Maximum length (coordinate) of a sequence in this genome (TSV) + - - column_numbers: + type: string + description: | + Optional. Columns to extract from the input file, in a format understood by `cut` + e.g. '1-3,5' + - header_lines: + type: integer + description: | + Number of header lines to skip from the input file. Only considered when column_numbers + - extension: + type: string + description: | + Extension to name the output file, in case it differs from the input + file - for instance, turning a TSV into BED +output: + gz_index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.gz": + type: file + description: bgzipped tab-delimited genome file + pattern: "*.gz" + ontologies: + - edam: http://edamontology.org/format_3989 + - "*.gzi": + type: file + description: bgzip index file (GZI format) + pattern: "*.gzi" + ontologies: [] + tbi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.tbi": + type: file + description: Tabix index file (TBI format) + pattern: "*.tbi" + ontologies: + - edam: http://edamontology.org/format_3616 + csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.csi": + type: file + description: Tabix index file (CSI format) + pattern: "*.csi" + ontologies: [] + versions_bgzip: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bgzip: + type: string + description: The tool name + - bgzip --version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool + versions_tabix: + - - ${task.process}: + type: string + description: The process the versions were collected from + - tabix: + type: string + description: The tool name + - tabix -h 2>&1 | grep -oP 'Version:\s*\K[^\s]+': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bgzip: + type: string + description: The tool name + - bgzip --version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The process the versions were collected from + - tabix: + type: string + description: The tool name + - tabix -h 2>&1 | grep -oP 'Version:\s*\K[^\s]+': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@maxulysse" + - "@DLBPointon" + - "@muffato" +maintainers: + - "@DLBPointon" + - "@muffato" diff --git a/modules/sanger-tol/bgziptabix/tests/main.nf.test b/modules/sanger-tol/bgziptabix/tests/main.nf.test new file mode 100644 index 00000000..af64cb83 --- /dev/null +++ b/modules/sanger-tol/bgziptabix/tests/main.nf.test @@ -0,0 +1,126 @@ +nextflow_process { + + name "Test Process BGZIPTABIX" + script "../main.nf" + process "BGZIPTABIX" + + tag "modules" + tag "modules_sangertol" + tag "bgziptabix" + + config "./nextflow.config" + + test("bed with short sequences") { + when { + process { + """ + input[0] = channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'Cantharis_rufa/analysis/icCanRufa1/read_mapping/pacbio/GCA_947369205.1.unmasked.pacbio.icCanRufa1_0_3.bed', checkIfExists: true), + 60000, + ]) + input[1] = ["", "", ""] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("bed with longsequences (no tbi index)") { + when { + process { + """ + input[0] = channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'Cantharis_rufa/analysis/icCanRufa1/read_mapping/pacbio/GCA_947369205.1.unmasked.pacbio.icCanRufa1_0_3.bed', checkIfExists: true), + 2**30, + ]) + input[1] = ["", "", ""] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("bed with extra long sequences (no index possible)") { + + when { + process { + """ + input[0] = channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'Cantharis_rufa/analysis/icCanRufa1/read_mapping/pacbio/GCA_947369205.1.unmasked.pacbio.icCanRufa1_0_3.bed', checkIfExists: true), + 2**34, + ]) + input[1] = ["", "", ""] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("tsv to bed") { + when { + process { + """ + input[0] = channel.of([ + [ id:'test' ], // meta map + file(params.nfcore_modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.annotated_intervals.tsv', checkIfExists: true), + 60000, + ]) + input[1] = ["1-3", 3, "bed"] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("stub") { + options "-stub" + + when { + process { + """ + input[0] = channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'Cantharis_rufa/analysis/icCanRufa1/read_mapping/pacbio/GCA_947369205.1.unmasked.pacbio.icCanRufa1_0_3.bed', checkIfExists: true), + 60000, + ]) + input[1] = ["", "", ""] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} diff --git a/modules/sanger-tol/bgziptabix/tests/main.nf.test.snap b/modules/sanger-tol/bgziptabix/tests/main.nf.test.snap new file mode 100644 index 00000000..fa4ba699 --- /dev/null +++ b/modules/sanger-tol/bgziptabix/tests/main.nf.test.snap @@ -0,0 +1,417 @@ +{ + "tsv to bed": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,1280050828c9d0401871239fb267a63f", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.bed.gz.tbi:md5,8fc7bc9e739aacaed7a26d7bf56844d2" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,8d36d8571b898909ff148b75ceae0f76" + ] + ], + "3": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "4": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,8d36d8571b898909ff148b75ceae0f76" + ] + ], + "gz_index": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,1280050828c9d0401871239fb267a63f", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "tbi": [ + [ + { + "id": "test" + }, + "test.bed.gz.tbi:md5,8fc7bc9e739aacaed7a26d7bf56844d2" + ] + ], + "versions_bgzip": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "versions_tabix": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-03-04T10:58:07.794595226" + }, + "stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.bed.gz.gzi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "4": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gz_index": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.bed.gz.gzi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tbi": [ + [ + { + "id": "test" + }, + "test.bed.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_bgzip": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "versions_tabix": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-20T10:35:01.49958593" + }, + "bed with short sequences": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,a901da7299a5a3b4a88ec5961e9d27b0", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.bed.gz.tbi:md5,0b587fdb9b47029ed082658fb78b68a6" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,90e33f210d5ab2da209131c7206df143" + ] + ], + "3": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "4": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,90e33f210d5ab2da209131c7206df143" + ] + ], + "gz_index": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,a901da7299a5a3b4a88ec5961e9d27b0", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "tbi": [ + [ + { + "id": "test" + }, + "test.bed.gz.tbi:md5,0b587fdb9b47029ed082658fb78b68a6" + ] + ], + "versions_bgzip": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "versions_tabix": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-20T09:24:38.507500874" + }, + "bed with extra long sequences (no index possible)": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,a901da7299a5a3b4a88ec5961e9d27b0", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "4": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ], + "csi": [ + + ], + "gz_index": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,a901da7299a5a3b4a88ec5961e9d27b0", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "tbi": [ + + ], + "versions_bgzip": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "versions_tabix": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-20T09:24:49.457480224" + }, + "bed with longsequences (no tbi index)": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,a901da7299a5a3b4a88ec5961e9d27b0", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "1": [ + + ], + "2": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,90e33f210d5ab2da209131c7206df143" + ] + ], + "3": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "4": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bed.gz.csi:md5,90e33f210d5ab2da209131c7206df143" + ] + ], + "gz_index": [ + [ + { + "id": "test" + }, + "test.bed.gz:md5,a901da7299a5a3b4a88ec5961e9d27b0", + "test.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "tbi": [ + + ], + "versions_bgzip": [ + [ + "BGZIPTABIX", + "bgzip", + "1.21" + ] + ], + "versions_tabix": [ + [ + "BGZIPTABIX", + "tabix", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-20T09:24:43.967090807" + } +} \ No newline at end of file diff --git a/modules/sanger-tol/bgziptabix/tests/nextflow.config b/modules/sanger-tol/bgziptabix/tests/nextflow.config new file mode 100644 index 00000000..4239f20d --- /dev/null +++ b/modules/sanger-tol/bgziptabix/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: BGZIPTABIX { + ext.args2 = "--preset bed" + } +} diff --git a/nextflow.config b/nextflow.config index fa85beb5..81fe7e81 100644 --- a/nextflow.config +++ b/nextflow.config @@ -25,8 +25,6 @@ params { biosample_rna = null // Genome Notes - write_to_portal = false - genome_notes_api = null note_template = null merge_output = "merge" diff --git a/nextflow_schema.json b/nextflow_schema.json index e75ae82d..b4b0394c 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -122,18 +122,6 @@ "help_text": "If not specified, the pipeline will use the sequences in the same order they are listed by the NCI, which follows the karyotype.", "fa_icon": "fas fa-file-lines" }, - "write_to_portal": { - "type": "boolean", - "description": "Flag to control if results are written to genome notes portal database .", - "default": false, - "fa_icon": "fas far fa-file-code", - "hidden": true - }, - "genome_notes_api": { - "type": "string", - "description": "URL for Genome Notes Portal API .", - "fa_icon": "far fa-file-code" - }, "note_template": { "type": "string", "format": "file-path", diff --git a/subworkflows/local/combine_note_data/main.nf b/subworkflows/local/combine_note_data/main.nf index 0274ffbe..76bc93ab 100644 --- a/subworkflows/local/combine_note_data/main.nf +++ b/subworkflows/local/combine_note_data/main.nf @@ -6,7 +6,6 @@ include { PARSE_METADATA } from '../../../modules/local/parse_metadata' include { COMBINE_STATISTICS_AND_METADATA } from '../../../modules/local/combine_statistics_and_metadata' include { POPULATE_TEMPLATE } from '../../../modules/local/populate_template' -include { WRITE_TO_GENOME_NOTES_DB } from '../../../modules/local/write_to_database' workflow COMBINE_NOTE_DATA { take: @@ -48,12 +47,6 @@ workflow COMBINE_NOTE_DATA { POPULATE_TEMPLATE(ch_parsed, ch_note_template) ch_versions = ch_versions.mix(POPULATE_TEMPLATE.out.versions.first()) - if (params.write_to_portal) { - ch_api_url = channel.of(params.genome_notes_api) - WRITE_TO_GENOME_NOTES_DB(COMBINE_STATISTICS_AND_METADATA.out.consistent, ch_api_url) - ch_versions = ch_versions.mix(WRITE_TO_GENOME_NOTES_DB.out.versions.first()) - } - emit: template = POPULATE_TEMPLATE.out.genome_note // channel: [ docx ] versions = ch_versions.ifEmpty(null) // channel: [versions.yml] diff --git a/subworkflows/local/genome_statistics/main.nf b/subworkflows/local/genome_statistics/main.nf index 65ad262d..8ce567ee 100644 --- a/subworkflows/local/genome_statistics/main.nf +++ b/subworkflows/local/genome_statistics/main.nf @@ -13,6 +13,7 @@ include { FASTK_HISTEX } from '../../../modules include { GENESCOPEFK } from '../../../modules/nf-core/genescopefk/main' include { GFASTATS } from '../../../modules/nf-core/gfastats/main' include { MERQURYFK_MERQURYFK } from '../../../modules/nf-core/merquryfk/merquryfk/main' +include { BGZIPTABIX } from '../../../modules/sanger-tol/bgziptabix/main' include { UNTAR as UNTAR_KMER_DB } from '../../../modules/nf-core/untar/main' workflow GENOME_STATISTICS { @@ -186,14 +187,18 @@ workflow GENOME_STATISTICS { } - // This is only temporarily removed so I'm leaving it here for now - // // MerquryFK + // MerquryFK MERQURYFK_MERQURYFK( ch_merq, [[], []], [[], []], ) + // Compress the BED file + ch_bed_with_seq_length = MERQURYFK_MERQURYFK.out.bed + .map { meta, bed -> [ meta, (bed instanceof List ? bed : [bed]) ] } + .flatMap { meta, beds -> beds.collect { bed -> [meta, bed, 0] } } + BGZIPTABIX(ch_bed_with_seq_length, [false, 0, false]) // // LOGIC: PREPARE FOR THE FOR Combined table @@ -251,7 +256,7 @@ workflow GENOME_STATISTICS { ch_trans_log_plot = GENESCOPEFK.out.transformed_log_plot // channel: [ meta, transformed_log_plot ] busco_full_table = BUSCO.out.full_table // channel: [ meta, busco_dir ] ch_complete_stats = MERQURYFK_MERQURYFK.out.stats // channel: [ meta, completeness_stats ] - ch_bed = MERQURYFK_MERQURYFK.out.bed // channel: [ meta, bed ] + ch_bed = BGZIPTABIX.out.gz_index // channel: [ meta, bed, gzi ] ch_qv = MERQURYFK_MERQURYFK.out.qv // channel: [ meta, qv ] ch_assembly_qv = MERQURYFK_MERQURYFK.out.assembly_qv // channel: [ meta, assembly_qv ] versions = ch_versions // channel: [ versions.yml ] diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index e78f5761..36f47900 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -1,7 +1,7 @@ { "-profile test": { "content": [ - 87, + 93, { "AGAT_SPSTATISTICS": { "agat": "v1.4.1" @@ -20,6 +20,10 @@ "BEDTOOLS_BAMTOBED": { "bedtools": "2.31.1" }, + "BGZIPTABIX": { + "bgzip": 1.21, + "tabix": 1.21 + }, "BLOBTK_PLOT": { "blobtk": "0.7.1" }, @@ -158,10 +162,10 @@ "genes/ensembl.2024_04/GCA_963859965.1.genes.ensembl.2024_04.busco.lepidoptera_odb12.short_summary.json", "genes/ensembl.2024_04/GCA_963859965.1.genes.ensembl.2024_04.busco.lepidoptera_odb12.short_summary.txt", "genome_note", - "genome_note/GCA_963859965.1.csv", "genome_note/GCA_963859965.1.docx", "genome_note/GCA_963859965.1.genome_note_consistent.csv", "genome_note/GCA_963859965.1.genome_note_inconsistent.csv", + "genome_note/GCA_963859965.1.template_parameters.csv", "genome_stats", "genome_stats/GCA_963859965.1.gfastats.txt", "genome_stats/pacbio", @@ -176,12 +180,18 @@ "genome_stats/pacbio/SAMEA112198456/merge/genomescope/GCA_963859965.1.pacbio.SAMEA112198456.merge.genomescope.transformed_linear_plot.png", "genome_stats/pacbio/SAMEA112198456/merge/genomescope/GCA_963859965.1.pacbio.SAMEA112198456.merge.genomescope.transformed_log_plot.png", "genome_stats/pacbio/SAMEA112198456/merge/merqury", - "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz.csi", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz.gzi", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz.tbi", "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.qv", "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.spectra-cn.fl.png", "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.spectra-cn.ln.png", "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.spectra-cn.st.png", - "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz.csi", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz.gzi", + "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz.tbi", "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.qv", "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.spectra-cn.fl.png", "genome_stats/pacbio/SAMEA112198456/merge/merqury/GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.spectra-cn.ln.png", @@ -204,12 +214,18 @@ "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/genomescope/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.genomescope.transformed_linear_plot.png", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/genomescope/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.genomescope.transformed_log_plot.png", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury", - "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz.csi", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz.gzi", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz.tbi", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.qv", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.spectra-cn.fl.png", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.spectra-cn.ln.png", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.spectra-cn.st.png", - "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz.csi", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz.gzi", + "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz.tbi", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.qv", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.spectra-cn.fl.png", "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.spectra-cn.ln.png", @@ -224,12 +240,18 @@ "genome_stats/pacbio/SAMEA112198456_X/ERR11892488/merqury/GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.spectra-cn.st.png", "genome_stats/pacbio/SAMEA112198456_dir", "genome_stats/pacbio/SAMEA112198456_dir/merqury", - "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz.csi", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz.gzi", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz.tbi", "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.qv", "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.spectra-cn.fl.png", "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.spectra-cn.ln.png", "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.spectra-cn.st.png", - "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz.csi", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz.gzi", + "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz.tbi", "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.qv", "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.spectra-cn.fl.png", "genome_stats/pacbio/SAMEA112198456_dir/merqury/GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.spectra-cn.ln.png", @@ -290,9 +312,9 @@ "GCA_963859965.1.hic.SAMEA112198479_X.ERR11904130.pretext.png:md5,198a4106e7c896ff378651f9acdc913e", "GCA_963859965.1.genes.ensembl.2024_04.agat.spstats.stats.txt:md5,f94eb9364290e6d3eabe084c67ce9198", "GCA_963859965.1.genes.ensembl.2024_04.agat.sqstats.stats.txt:md5,a7fe991f7434cd6f44b0cabd3802785f", - "GCA_963859965.1.csv:md5,c62f77ee35d05e19afc02f5fa042cc08", "GCA_963859965.1.genome_note_consistent.csv:md5,31c58a42c36bf99a7bec50e0e29ba473", "GCA_963859965.1.genome_note_inconsistent.csv:md5,ba336957b84a2b78ae95ca6412bd50c7", + "GCA_963859965.1.template_parameters.csv:md5,c62f77ee35d05e19afc02f5fa042cc08", "GCA_963859965.1.gfastats.txt:md5,edd4cdba05800960c0ca80378e1e5e9d", "SOURCE.txt:md5,4b370a78b3333085c13ddef250b5dec4", "GCA_963859965.1.pacbio.SAMEA112198456.merge.genomescope.linear_plot.png:md5,e0977c490b773d62f1dfa1553404275b", @@ -301,12 +323,18 @@ "GCA_963859965.1.pacbio.SAMEA112198456.merge.genomescope.summary.txt:md5,7294415f762019b091502adec238203d", "GCA_963859965.1.pacbio.SAMEA112198456.merge.genomescope.transformed_linear_plot.png:md5,92f3983b46dc5e5d9ece40425d36e237", "GCA_963859965.1.pacbio.SAMEA112198456.merge.genomescope.transformed_log_plot.png:md5,1743bbc666b633b5cf6cc31fb0e7ef0a", - "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz.csi:md5,a76ffd9c2c19bc3100eecc93162f31d9", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz.gzi:md5,c2cb56f4c5bf656faca0986e7eba0308", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.only.bed.gz.tbi:md5,ec06685d85d15d8f118a789a9ccc42ad", "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.qv:md5,ad3e830e58f32f9f5d8ce11f415308ac", "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.spectra-cn.fl.png:md5,f0dfdef58f663967bd219df521ea906b", "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.spectra-cn.ln.png:md5,14657df0708d69f0a980721f70726395", "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859965.1.spectra-cn.st.png:md5,44226b45e86cfa0f4704e771eaf7e99d", - "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz.csi:md5,a76ffd9c2c19bc3100eecc93162f31d9", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz.gzi:md5,c2cb56f4c5bf656faca0986e7eba0308", + "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.only.bed.gz.tbi:md5,ec06685d85d15d8f118a789a9ccc42ad", "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.qv:md5,4f3038bdb846556dbf8fcdac15759c61", "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.spectra-cn.fl.png:md5,1f9eb9f1f0a90eee5d5c3996a307d1e8", "GCA_963859965.1.pacbio.SAMEA112198456.merge.merqury.GCA_963859975.1_alt.spectra-cn.ln.png:md5,ee2e3c683f3d80cc7934b8194efa16a0", @@ -325,12 +353,18 @@ "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.genomescope.summary.txt:md5,9149ae90b459e723cc6266db81b730cd", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.genomescope.transformed_linear_plot.png:md5,b3ca926121b87d1951fa3e139a507bcc", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.genomescope.transformed_log_plot.png:md5,54671cb5baca472770a16b1be1e75f3e", - "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed:md5,b92e05b1322d0ff97702455bfa662db4", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz:md5,b92e05b1322d0ff97702455bfa662db4", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz.csi:md5,dd0afd902f7db62a49581c9128f31ed5", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.only.bed.gz.tbi:md5,55358c0f26068101822469acc2ff17f3", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.qv:md5,1eedf37cb83b37562057a0bcbcbe26f0", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.spectra-cn.fl.png:md5,55ae4d1d31848bc280a057eef8b13c0b", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.spectra-cn.ln.png:md5,998e4447a5a558abaf2ebfdf105359c9", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859965.1.spectra-cn.st.png:md5,5cdb79349c64ff8d7d2d88c21aa3a1ed", - "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed:md5,51acb4783667740f6746efa15b91c04f", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz:md5,51acb4783667740f6746efa15b91c04f", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz.csi:md5,3bdd6b2148219f406a8c1146193517c6", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474", + "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.only.bed.gz.tbi:md5,95e4b446997a82aac4fb42934b5d79c1", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.qv:md5,d2864f71d39b028d5535681824303c72", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.spectra-cn.fl.png:md5,0b6ebee29cb560759f4ec1b8b9169a8a", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.GCA_963859975.1_alt.spectra-cn.ln.png:md5,185ecc51a915b8fe9f03a0b53e9b354c", @@ -343,12 +377,18 @@ "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.spectra-cn.fl.png:md5,30d061c05928744aef46ba021004c9ad", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.spectra-cn.ln.png:md5,0a893e8c1c8a69e847fe385405906164", "GCA_963859965.1.pacbio.SAMEA112198456_X.ERR11892488.merqury.spectra-cn.st.png:md5,a544e379b9dcb81da2fd7b6c2899acf0", - "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz.csi:md5,a76ffd9c2c19bc3100eecc93162f31d9", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz.gzi:md5,c2cb56f4c5bf656faca0986e7eba0308", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.only.bed.gz.tbi:md5,ec06685d85d15d8f118a789a9ccc42ad", "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.qv:md5,ad3e830e58f32f9f5d8ce11f415308ac", "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.spectra-cn.fl.png:md5,f0dfdef58f663967bd219df521ea906b", "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.spectra-cn.ln.png:md5,14657df0708d69f0a980721f70726395", "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859965.1.spectra-cn.st.png:md5,44226b45e86cfa0f4704e771eaf7e99d", - "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz:md5,d41d8cd98f00b204e9800998ecf8427e", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz.csi:md5,a76ffd9c2c19bc3100eecc93162f31d9", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz.gzi:md5,c2cb56f4c5bf656faca0986e7eba0308", + "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.only.bed.gz.tbi:md5,ec06685d85d15d8f118a789a9ccc42ad", "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.qv:md5,4f3038bdb846556dbf8fcdac15759c61", "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.spectra-cn.fl.png:md5,1f9eb9f1f0a90eee5d5c3996a307d1e8", "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.GCA_963859975.1_alt.spectra-cn.ln.png:md5,ee2e3c683f3d80cc7934b8194efa16a0", @@ -363,10 +403,10 @@ "GCA_963859965.1.pacbio.SAMEA112198456_dir.merqury.spectra-cn.st.png:md5,2b25086b5f4aeecd2fcd9a1d10853ef2" ] ], - "timestamp": "2026-05-07T15:02:45.242874", + "timestamp": "2026-06-04T18:44:17.099024048", "meta": { "nf-test": "0.9.5", - "nextflow": "25.04.2" + "nextflow": "25.10.4" } } } \ No newline at end of file