mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-27 15:53:16 -05:00
c8168bc351
* Update LAST to version 1238. * Update functions.nf to the latest devel version. * Update test MD5sums after updating software version. * Make portable on MacOS * Allow input alignments to be uncompressed. While the strategy in this family of modules is to make all inputs and outputs compressed, this change might be useful to some users. As of LAST 2138, `last/split` does not allow its input to be compressed. * Search for .des file, that is guaranteed to be unique. Some LAST indexes have more than one .bck file and it makes the name detection crash. In this commit, I also standardise how the names are detected. * Use value input channel and optional output channels to handle formats. As discussed on Slack, it is preferred to use a value input channel instead of sneaking options through `params.args2` or `params.format` as we did. Likewise, optional output channels with clearly labeled format are preferred to 'catch-all' wildcards.
42 lines
1.4 KiB
Text
42 lines
1.4 KiB
Text
// Import generic module functions
|
|
include { initOptions; saveFiles; getSoftwareName } from './functions'
|
|
|
|
params.options = [:]
|
|
options = initOptions(params.options)
|
|
|
|
process LAST_DOTPLOT {
|
|
tag "$meta.id"
|
|
label 'process_low'
|
|
publishDir "${params.outdir}",
|
|
mode: params.publish_dir_mode,
|
|
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) }
|
|
|
|
conda (params.enable_conda ? "bioconda::last=1238" : null)
|
|
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
|
|
container "https://depot.galaxyproject.org/singularity/last:1238--h2e03b76_0"
|
|
} else {
|
|
container "quay.io/biocontainers/last:1238--h2e03b76_0"
|
|
}
|
|
|
|
input:
|
|
tuple val(meta), path(maf)
|
|
val(format)
|
|
|
|
output:
|
|
tuple val(meta), path("*.gif"), optional:true, emit: gif
|
|
tuple val(meta), path("*.png"), optional:true, emit: png
|
|
path "*.version.txt" , emit: version
|
|
|
|
script:
|
|
def software = getSoftwareName(task.process)
|
|
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
|
|
"""
|
|
last-dotplot \\
|
|
$options.args \\
|
|
$maf \\
|
|
$prefix.$format
|
|
|
|
# last-dotplot has no --version option so let's use lastal from the same suite
|
|
lastal --version | sed 's/lastal //' > ${software}.version.txt
|
|
"""
|
|
}
|