mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-11-13 13:23:09 +00:00
d07d270743
* Create module antismashlitedownloaddatabases * Corrected user-specification of database directory * Updated test.yml * Apply suggestions from code review Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Fix typo in test.yml * Feed database files via docker/singularity mount) * Add external db file mounts to the containers * Fixed docker command in main.nf * Apply prettier * Apply prettier and add PWD * Add more output to test.yml * Add more output paths to test.yml * Fixed test.yml * Apply suggestions from code review Add documentation of why we need to mount files to the containers. Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Fix code linting errors (remove trailing whitespaces) * Fix code linting error (remove trailing whitespace) * Fix errors from Prettier linting Co-authored-by: James A. Fellows Yates <jfy133@gmail.com>
46 lines
2.3 KiB
Text
46 lines
2.3 KiB
Text
process ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES {
|
|
label 'process_low'
|
|
|
|
conda (params.enable_conda ? "bioconda::antismash-lite=6.0.1" : null)
|
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
|
'https://depot.galaxyproject.org/singularity/antismash-lite:6.0.1--pyhdfd78af_1' :
|
|
'quay.io/biocontainers/antismash-lite:6.0.1--pyhdfd78af_1' }"
|
|
|
|
/*
|
|
These files are normally downloaded by download-antismash-databases itself, and must be retrieved for input 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. This is solely for use for CI tests of the nf-core/module version of antiSMASH.
|
|
Reason: Upon execution, the tool checks if certain database files are present within the container and if not, it tries to create them in /usr/local/bin, for which only root user has write permissions. Mounting those database files with this module prevents the tool from trying to create them.
|
|
*/
|
|
|
|
containerOptions {
|
|
workflow.containerEngine == 'singularity' ?
|
|
"-B $database_css:/usr/local/lib/python3.8/site-packages/antismash/outputs/html/css,$database_detection:/usr/local/lib/python3.8/site-packages/antismash/detection,$database_modules:/usr/local/lib/python3.8/site-packages/antismash/modules" :
|
|
workflow.containerEngine == 'docker' ?
|
|
"-v \$PWD/$database_css:/usr/local/lib/python3.8/site-packages/antismash/outputs/html/css -v \$PWD/$database_detection:/usr/local/lib/python3.8/site-packages/antismash/detection -v \$PWD/$database_modules:/usr/local/lib/python3.8/site-packages/antismash/modules" :
|
|
''
|
|
}
|
|
|
|
input:
|
|
path database_css
|
|
path database_detection
|
|
path database_modules
|
|
|
|
output:
|
|
path("antismash_db") , emit: database
|
|
path "versions.yml", emit: versions
|
|
|
|
when:
|
|
task.ext.when == null || task.ext.when
|
|
|
|
script:
|
|
def args = task.ext.args ?: ''
|
|
"""
|
|
download-antismash-databases \\
|
|
--database-dir antismash_db \\
|
|
$args
|
|
|
|
cat <<-END_VERSIONS > versions.yml
|
|
"${task.process}":
|
|
antismash: \$(antismash --version | sed 's/antiSMASH //')
|
|
END_VERSIONS
|
|
"""
|
|
}
|