From 4a4de550b89220a3f12947cd546ad78bc1f9d479 Mon Sep 17 00:00:00 2001 From: jasmezz Date: Mon, 2 May 2022 17:30:46 +0200 Subject: [PATCH] Simplify/reduce container mount volumes --- modules/antismash/antismashlite/main.nf | 8 +++---- modules/antismash/antismashlite/meta.yml | 16 +++----------- tests/modules/antismash/antismashlite/main.nf | 6 ++--- .../modules/antismash/antismashlite/test.yml | 22 +++---------------- 4 files changed, 12 insertions(+), 40 deletions(-) diff --git a/modules/antismash/antismashlite/main.nf b/modules/antismash/antismashlite/main.nf index 6f1c0fcd..c92f983e 100644 --- a/modules/antismash/antismashlite/main.nf +++ b/modules/antismash/antismashlite/main.nf @@ -9,18 +9,16 @@ process ANTISMASH_ANTISMASHLITE { containerOptions { workflow.containerEngine == 'singularity' ? - "-B $css_dir:/usr/local/lib/python3.8/site-packages/antismash/outputs/html/css,$detection_dir:/usr/local/lib/python3.8/site-packages/antismash/detection,$modules_dir:/usr/local/lib/python3.8/site-packages/antismash/modules" : + "-B $antismash_dir:/usr/local/lib/python3.8/site-packages/antismash" : workflow.containerEngine == 'docker' ? - "-v \$PWD/$css_dir:/usr/local/lib/python3.8/site-packages/antismash/outputs/html/css -v \$PWD/$detection_dir:/usr/local/lib/python3.8/site-packages/antismash/detection -v \$PWD/$modules_dir:/usr/local/lib/python3.8/site-packages/antismash/modules" : + "-v \$PWD/$antismash_dir:/usr/local/lib/python3.8/site-packages/antismash" : '' } input: tuple val(meta), path(sequence_input) path(databases) - path css_dir - path detection_dir - path modules_dir + path(antismash_dir) // Optional input: AntiSMASH installation folder. It is not needed for using this module with conda, but required for docker/singularity (see meta.yml). output: tuple val(meta), path("${prefix}/clusterblast/*_c*.txt") , optional: true, emit: clusterblast_file diff --git a/modules/antismash/antismashlite/meta.yml b/modules/antismash/antismashlite/meta.yml index fa7e21a6..d726ad3e 100644 --- a/modules/antismash/antismashlite/meta.yml +++ b/modules/antismash/antismashlite/meta.yml @@ -37,21 +37,11 @@ input: type: directory description: downloaded antismash databases e.g. data/databases pattern: "*" - - css_dir: + - antismash_dir: type: directory description: | - antismash/outputs/html/css folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the use by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines. - pattern: "css" - - detection_dir: - type: directory - description: | - antismash/detection folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the use by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines. - pattern: "detection" - - modules_dir: - type: directory - description: | - antismash/modules folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the use by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines. - pattern: "modules" + antismash installation folder which is being modified during the antiSMASH database downloading step. The modified files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command within antismash-lite. As this folder cannot be modified within the docker and singularity containers, it needs to be mounted (including all modified files from the downloading step) as a workaround. + pattern: "*" output: - meta: diff --git a/tests/modules/antismash/antismashlite/main.nf b/tests/modules/antismash/antismashlite/main.nf index 14bb7552..536d1266 100644 --- a/tests/modules/antismash/antismashlite/main.nf +++ b/tests/modules/antismash/antismashlite/main.nf @@ -11,7 +11,7 @@ include { ANTISMASH_ANTISMASHLITE } from '../../../../modules/antismash/antismas include { PROKKA } from '../../../modules/prokka/main.nf' workflow test_antismashlite { - input = [ + input_genome = [ [ id:'test' ], // meta map file(params.test_data['bacteroides_fragilis']['genome']['genome_gbff_gz'], checkIfExists: true) ] @@ -34,7 +34,7 @@ workflow test_antismashlite { UNTAR2 ( input_antismash_db2 ) UNTAR3 ( input_antismash_db3 ) ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES ( UNTAR1.out.untar.map{ it[1] }, UNTAR2.out.untar.map{ it[1] }, UNTAR3.out.untar.map{ it[1] } ) - ANTISMASH_ANTISMASHLITE ( input, ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES.out.database, UNTAR1.out.untar.map{ it[1] }, UNTAR2.out.untar.map{ it[1] }, UNTAR3.out.untar.map{ it[1] } ) + ANTISMASH_ANTISMASHLITE ( input_genome, ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES.out.database, [] ) } workflow test_prokka_antismashlite { @@ -62,5 +62,5 @@ workflow test_prokka_antismashlite { UNTAR2 ( input_antismash_db2 ) UNTAR3 ( input_antismash_db3 ) ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES ( UNTAR1.out.untar.map{ it[1] }, UNTAR2.out.untar.map{ it[1] }, UNTAR3.out.untar.map{ it[1] } ) - ANTISMASH_ANTISMASHLITE ( PROKKA.out.gbk, ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES.out.database, UNTAR1.out.untar.map{ it[1] }, UNTAR2.out.untar.map{ it[1] }, UNTAR3.out.untar.map{ it[1] } ) + ANTISMASH_ANTISMASHLITE ( PROKKA.out.gbk, ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES.out.database, ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES.out.antismash_dir ) } diff --git a/tests/modules/antismash/antismashlite/test.yml b/tests/modules/antismash/antismashlite/test.yml index 3fcba1e4..a2adad79 100644 --- a/tests/modules/antismash/antismashlite/test.yml +++ b/tests/modules/antismash/antismashlite/test.yml @@ -24,23 +24,17 @@ - path: output/antismash/test/js/jquery.tablesorter.min.js md5sum: 5e9e08cef4d1be0eaa538e6eb28809a7 - path: output/antismash/test/regions.js - md5sum: dfc82025379d87df63fbfce734e67725 + contains: ['"seq_id": "NZ_CP069563.1"'] - path: output/antismash/test/test.log contains: ['antiSMASH version: 6.0.1'] - path: output/antismash/versions.yml - md5sum: 7151dfd4d39173338397b2dab50acf8e - - path: output/untar1/versions.yml - md5sum: 1e4721017721c45370996318e6b807e5 - - path: output/untar2/versions.yml - md5sum: a6ae4977a432f3c5ef26687cec8622de - - path: output/untar3/versions.yml - md5sum: a5ee00c1c426ed601ff654891ba0f645 + md5sum: 759431a43da33e2ef8e2d0ebd79a439b - name: antismash antismashlite test_prokka_antismashlite command: nextflow run tests/modules/antismash/antismashlite -entry test_prokka_antismashlite -c tests/config/nextflow.config tags: - - antismash - antismash/antismashlite + - antismash files: - path: output/antismash/test/NZ_CP069563.1.region001.gbk contains: ['/tool="antismash"'] @@ -69,8 +63,6 @@ md5sum: da6bed0032d0f7ad4741e0074ad6b1ff - path: output/gunzip/genome.fna md5sum: dafd38f5454b54fbea38245d773062a5 - - path: output/gunzip/versions.yml - md5sum: 93ce587e93791c8cf500482d42b6069f - path: output/prokka/test/test.err md5sum: 194fd8a1d1cde9919841a1afd4414760 - path: output/prokka/test/test.faa @@ -95,11 +87,3 @@ md5sum: 26e8aa4b2212f320e82b6db7c93d4461 - path: output/prokka/test/test.txt md5sum: aea5834a64dff02d3588cecbe25c3914 - - path: output/prokka/versions.yml - md5sum: 286ac10895a9f26ee8dd933dbc5d2b1c - - path: output/untar1/versions.yml - md5sum: 6c1bfedb010be6dfee273aa267b1cae3 - - path: output/untar2/versions.yml - md5sum: 65db3fe9c809e5371158deae444fb343 - - path: output/untar3/versions.yml - md5sum: 713d3aa0ee24ff680a8024cc53765d60