diff --git a/modules/nf-core/dragmap/align/environment.yml b/modules/nf-core/dragmap/align/environment.yml index b00e62f4353..ccccf9c95f0 100644 --- a/modules/nf-core/dragmap/align/environment.yml +++ b/modules/nf-core/dragmap/align/environment.yml @@ -4,7 +4,7 @@ channels: - bioconda - defaults dependencies: - - dragmap=1.2.1 + - dragmap=1.3.0 # renovate: datasource=conda depName=bioconda/samtools - - samtools=1.15.1 - - pigz=2.3.4 + - samtools=1.18 + - pigz=2.8 diff --git a/modules/nf-core/dragmap/align/main.nf b/modules/nf-core/dragmap/align/main.nf index 6eddb2d6c0b..f057d7d3d79 100644 --- a/modules/nf-core/dragmap/align/main.nf +++ b/modules/nf-core/dragmap/align/main.nf @@ -4,8 +4,8 @@ process DRAGMAP_ALIGN { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:5ebebbc128cd624282eaa37d2c7fe01505a91a69-0': - 'biocontainers/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:5ebebbc128cd624282eaa37d2c7fe01505a91a69-0' }" + 'https://depot.galaxyproject.org/singularity/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:7eed251370ac7f3537c3d9472cdb2f9f5d8da1c5-0': + 'biocontainers/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:7eed251370ac7f3537c3d9472cdb2f9f5d8da1c5-0' }" input: tuple val(meta) , path(reads) @@ -43,4 +43,18 @@ process DRAGMAP_ALIGN { pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' ) END_VERSIONS """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.bam + touch ${prefix}.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + dragmap: \$(echo \$(dragen-os --version 2>&1)) + samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') + pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' ) + END_VERSIONS + """ } diff --git a/modules/nf-core/dragmap/align/tests/main.nf.test b/modules/nf-core/dragmap/align/tests/main.nf.test new file mode 100644 index 00000000000..c90c78f3142 --- /dev/null +++ b/modules/nf-core/dragmap/align/tests/main.nf.test @@ -0,0 +1,276 @@ +nextflow_process { + + name "Test Process DRAGMAP_ALIGN" + script "../main.nf" + process "DRAGMAP_ALIGN" + tag "modules" + tag "modules_nfcore" + tag "dragmap" + tag "dragmap/align" + + test("sarscov2 - fastq, hashtable, false") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = false //sort + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + file(process.out.versions[0]).name + ).match() } + ) + } + + } + + test("sarscov2 - fastq, hashtable, true") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = true //sort + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + file(process.out.versions[0]).name + ).match() } + ) + } + + } + + test("sarscov2 - [fastq1, fastq2], hashtable, false") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), + file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = false //sort + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + file(process.out.versions[0]).name + ).match() } + ) + } + + } + + test("sarscov2 - [fastq1, fastq2], hashtable, true") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), + file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = true //sort + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + file(process.out.versions[0]).name + ).match() } + ) + } + + } + + test("homo_sapiens - [fastq1, fastq2], hashtable, true") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.test_data['homo_sapiens']['illumina']['test_1_fastq_gz'], checkIfExists: true), + file(params.test_data['homo_sapiens']['illumina']['test_2_fastq_gz'], checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = true //sort + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + file(process.out.versions[0]).name + ).match() } + ) + } + + } + + test("sarscov2 - [fastq1, fastq2], hashtable, true - stub") { + + options "-stub" + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), + file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = true //sort + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).name, + file(process.out.versions[0]).name + ).match() } + ) + } + + } + +} diff --git a/modules/nf-core/dragmap/align/tests/main.nf.test.snap b/modules/nf-core/dragmap/align/tests/main.nf.test.snap new file mode 100644 index 00000000000..32d88a27965 --- /dev/null +++ b/modules/nf-core/dragmap/align/tests/main.nf.test.snap @@ -0,0 +1,85 @@ +{ + "homo_sapiens - [fastq1, fastq2], hashtable, true": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + "versions.yml" + ], + "timestamp": "2023-11-23T10:12:03.844836279" + }, + "sarscov2 - [fastq1, fastq2], hashtable, true - stub": { + "content": [ + "test.bam", + "test.log", + "versions.yml" + ], + "timestamp": "2023-11-22T13:41:18.016853266" + }, + "sarscov2 - fastq, hashtable, false": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + "versions.yml" + ], + "timestamp": "2023-11-23T10:11:33.956661024" + }, + "sarscov2 - fastq, hashtable, true": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + "versions.yml" + ], + "timestamp": "2023-11-23T10:11:40.270598375" + }, + "sarscov2 - [fastq1, fastq2], hashtable, false": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + "versions.yml" + ], + "timestamp": "2023-11-23T10:11:46.928978876" + }, + "sarscov2 - [fastq1, fastq2], hashtable, true": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + "versions.yml" + ], + "timestamp": "2023-11-23T10:11:53.506727278" + } +} \ No newline at end of file diff --git a/modules/nf-core/dragmap/align/tests/tags.yml b/modules/nf-core/dragmap/align/tests/tags.yml new file mode 100644 index 00000000000..a2a388af372 --- /dev/null +++ b/modules/nf-core/dragmap/align/tests/tags.yml @@ -0,0 +1,2 @@ +dragmap/align: + - modules/nf-core/dragmap/align/** diff --git a/modules/nf-core/dragmap/hashtable/main.nf b/modules/nf-core/dragmap/hashtable/main.nf index 8261af1cd06..24792d7b9c6 100644 --- a/modules/nf-core/dragmap/hashtable/main.nf +++ b/modules/nf-core/dragmap/hashtable/main.nf @@ -4,8 +4,8 @@ process DRAGMAP_HASHTABLE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/dragmap:1.3.0--h72d16da_1': - 'biocontainers/dragmap:1.3.0--h72d16da_1' }" + 'https://depot.galaxyproject.org/singularity/dragmap:1.3.0--h91baf5a_3': + 'biocontainers/dragmap:1.3.0--h91baf5a_3' }" input: tuple val(meta), path(fasta) @@ -33,4 +33,15 @@ process DRAGMAP_HASHTABLE { dragmap: \$(echo \$(dragen-os --version 2>&1)) END_VERSIONS """ + + stub: + """ + mkdir dragmap + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + dragmap: \$(echo \$(dragen-os --version 2>&1)) + END_VERSIONS + """ + } diff --git a/modules/nf-core/dragmap/hashtable/tests/main.nf.test b/modules/nf-core/dragmap/hashtable/tests/main.nf.test new file mode 100644 index 00000000000..dfdaf112aad --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/tests/main.nf.test @@ -0,0 +1,69 @@ +nextflow_process { + + name "Test Process DRAGMAP_HASHTABLE" + script "../main.nf" + process "DRAGMAP_HASHTABLE" + tag "modules" + tag "modules_nfcore" + tag "dragmap" + tag "dragmap/hashtable" + + test("sarscov2 - fasta") { + + when { + + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.hashmap[0][1]).name, + file(process.out.versions[0]).name + ).match() + } + ) + } + + } + + test("sarscov2 - fasta - stub") { + + options "-stub" + when { + + process { + """ + input[0] = [ + [id:'test'], + file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.hashmap[0][1]).name, + file(process.out.versions[0]).name + ).match() + } + ) + } + + } + + // TODO Add test using alt-masked bed file + // https://github.com/Illumina/dragmap#build-hash-table-using-an-alt-masked-bed-file + +} diff --git a/modules/nf-core/dragmap/hashtable/tests/main.nf.test.snap b/modules/nf-core/dragmap/hashtable/tests/main.nf.test.snap new file mode 100644 index 00000000000..9b4b90d8a3c --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/tests/main.nf.test.snap @@ -0,0 +1,16 @@ +{ + "sarscov2 - fasta - stub": { + "content": [ + "dragmap", + "versions.yml" + ], + "timestamp": "2023-11-22T13:42:22.53412378" + }, + "sarscov2 - fasta": { + "content": [ + "dragmap", + "versions.yml" + ], + "timestamp": "2023-11-22T12:53:25.493202451" + } +} \ No newline at end of file diff --git a/modules/nf-core/dragmap/hashtable/tests/tags.yml b/modules/nf-core/dragmap/hashtable/tests/tags.yml new file mode 100644 index 00000000000..cd26117b293 --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/tests/tags.yml @@ -0,0 +1,2 @@ +dragmap/hashtable: + - modules/nf-core/dragmap/hashtable/** diff --git a/tests/config/pytest_modules.yml b/tests/config/pytest_modules.yml index 841e15de40b..c2371cdef26 100644 --- a/tests/config/pytest_modules.yml +++ b/tests/config/pytest_modules.yml @@ -616,12 +616,7 @@ delly/call: deseq2/differential: - modules/nf-core/deseq2/differential/** - tests/modules/nf-core/deseq2/differential/** -dragmap/align: - - modules/nf-core/dragmap/align/** - - tests/modules/nf-core/dragmap/align/** -dragmap/hashtable: - - modules/nf-core/dragmap/hashtable/** - - tests/modules/nf-core/dragmap/hashtable/** + dshbio/exportsegments: - modules/nf-core/dshbio/exportsegments/** - tests/modules/nf-core/dshbio/exportsegments/** diff --git a/tests/modules/nf-core/dragmap/align/main.nf b/tests/modules/nf-core/dragmap/align/main.nf deleted file mode 100644 index 8a689796990..00000000000 --- a/tests/modules/nf-core/dragmap/align/main.nf +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { DRAGMAP_HASHTABLE } from '../../../../../modules/nf-core/dragmap/hashtable/main.nf' -include { DRAGMAP_ALIGN } from '../../../../../modules/nf-core/dragmap/align/main.nf' - -workflow test_dragmap_align_single_end { - input = [ - [ id:'test', single_end:true ], // meta map - [ - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) - ] - ] - fasta = [ - [id:'test'], - file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - ] - - DRAGMAP_HASHTABLE ( fasta ) - DRAGMAP_ALIGN ( input, DRAGMAP_HASHTABLE.out.hashmap, false ) -} - -workflow test_dragmap_align_single_end_sort { - input = [ - [ id:'test', single_end:true ], // meta map - [ - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) - ] - ] - fasta = [ - [id:'test'], - file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - ] - - DRAGMAP_HASHTABLE ( fasta ) - DRAGMAP_ALIGN ( input, DRAGMAP_HASHTABLE.out.hashmap, true ) -} - -workflow test_dragmap_align_paired_end { - input = [ - [ id:'test', single_end:false ], // meta map - [ - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), - file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) - ] - ] - fasta = [ - [id:'test'], - file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - ] - - DRAGMAP_HASHTABLE ( fasta ) - DRAGMAP_ALIGN ( input, DRAGMAP_HASHTABLE.out.hashmap, false ) -} - -workflow test_dragmap_align_paired_end_sort { - input = [ - [ id:'test', single_end:false ], // meta map - [ - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), - file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) - ] - ] - fasta = [ - [id:'test'], - file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - ] - - DRAGMAP_HASHTABLE ( fasta ) - DRAGMAP_ALIGN ( input, DRAGMAP_HASHTABLE.out.hashmap, true ) -} diff --git a/tests/modules/nf-core/dragmap/align/nextflow.config b/tests/modules/nf-core/dragmap/align/nextflow.config deleted file mode 100644 index b968c357ff4..00000000000 --- a/tests/modules/nf-core/dragmap/align/nextflow.config +++ /dev/null @@ -1,9 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - - withName: DRAGMAP_ALIGN { - ext.args2 = { sort_bam ? "" : "-bh" } - } - -} diff --git a/tests/modules/nf-core/dragmap/align/test.yml b/tests/modules/nf-core/dragmap/align/test.yml deleted file mode 100644 index bfc23508118..00000000000 --- a/tests/modules/nf-core/dragmap/align/test.yml +++ /dev/null @@ -1,35 +0,0 @@ -- name: dragmap align single-end - command: nextflow run ./tests/modules/nf-core/dragmap/align -entry test_dragmap_align_single_end -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/dragmap/align/nextflow.config - tags: - - dragmap - - dragmap/align - files: - - path: output/dragmap/test.bam - - path: output/dragmap/test.dragmap.log - -- name: dragmap align single-end_sort - command: nextflow run ./tests/modules/nf-core/dragmap/align -entry test_dragmap_align_single_end_sort -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/dragmap/align/nextflow.config - tags: - - dragmap - - dragmap/align - files: - - path: output/dragmap/test.bam - - path: output/dragmap/test.dragmap.log - -- name: dragmap align paired-end - command: nextflow run ./tests/modules/nf-core/dragmap/align -entry test_dragmap_align_paired_end -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/dragmap/align/nextflow.config - tags: - - dragmap - - dragmap/align - files: - - path: output/dragmap/test.bam - - path: output/dragmap/test.dragmap.log - -- name: dragmap align paired-end_sort - command: nextflow run ./tests/modules/nf-core/dragmap/align -entry test_dragmap_align_paired_end_sort -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/dragmap/align/nextflow.config - tags: - - dragmap - - dragmap/align - files: - - path: output/dragmap/test.bam - - path: output/dragmap/test.dragmap.log diff --git a/tests/modules/nf-core/dragmap/hashtable/main.nf b/tests/modules/nf-core/dragmap/hashtable/main.nf deleted file mode 100644 index c2a63f59658..00000000000 --- a/tests/modules/nf-core/dragmap/hashtable/main.nf +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { DRAGMAP_HASHTABLE } from '../../../../../modules/nf-core/dragmap/hashtable/main.nf' - -workflow test_dragmap_hashtable { - - fasta = [ - [id:'test'], - file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - ] - DRAGMAP_HASHTABLE ( fasta ) -} - -// TODO Add test using alt-masked bed file -// https://github.com/Illumina/dragmap#build-hash-table-using-an-alt-masked-bed-file diff --git a/tests/modules/nf-core/dragmap/hashtable/nextflow.config b/tests/modules/nf-core/dragmap/hashtable/nextflow.config deleted file mode 100644 index 50f50a7a357..00000000000 --- a/tests/modules/nf-core/dragmap/hashtable/nextflow.config +++ /dev/null @@ -1,5 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - -} \ No newline at end of file diff --git a/tests/modules/nf-core/dragmap/hashtable/test.yml b/tests/modules/nf-core/dragmap/hashtable/test.yml deleted file mode 100644 index 553799047b2..00000000000 --- a/tests/modules/nf-core/dragmap/hashtable/test.yml +++ /dev/null @@ -1,19 +0,0 @@ -- name: dragmap hashtable - command: nextflow run ./tests/modules/nf-core/dragmap/hashtable -entry test_dragmap_hashtable -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/dragmap/hashtable/nextflow.config - tags: - - dragmap - - dragmap/hashtable - files: - - path: output/dragmap/dragmap/hash_table.cfg - - path: output/dragmap/dragmap/hash_table.cfg.bin - - path: output/dragmap/dragmap/hash_table.cmp - md5sum: bc210e5358fd65656f9aea297b59ec7d - - path: output/dragmap/dragmap/hash_table_stats.txt - - path: output/dragmap/dragmap/reference.bin - md5sum: b6b5c12a42416b990cd2844de8f33c5d - - path: output/dragmap/dragmap/ref_index.bin - md5sum: 8470be9566ecee77eb4aea6a38922a66 - - path: output/dragmap/dragmap/repeat_mask.bin - md5sum: 2439259a2fd32a1d0f4c53d585f3da3a - - path: output/dragmap/dragmap/str_table.bin - md5sum: 302e2b30993973527e69c6bcd1f093d0