mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-22 11:08:17 +00:00
parent
8055c5d1c3
commit
439763bf2c
6 changed files with 143 additions and 0 deletions
49
modules/sistr/main.nf
Normal file
49
modules/sistr/main.nf
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
process SISTR {
|
||||||
|
tag "$meta.id"
|
||||||
|
label 'process_medium'
|
||||||
|
|
||||||
|
conda (params.enable_conda ? "bioconda::sistr_cmd=1.1.1" : null)
|
||||||
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||||
|
'https://depot.galaxyproject.org/singularity/sistr_cmd:1.1.1--pyh864c0ab_2':
|
||||||
|
'quay.io/biocontainers/sistr_cmd:1.1.1--pyh864c0ab_2' }"
|
||||||
|
|
||||||
|
input:
|
||||||
|
tuple val(meta), path(fasta)
|
||||||
|
|
||||||
|
output:
|
||||||
|
tuple val(meta), path("*.tab") , emit: tsv
|
||||||
|
tuple val(meta), path("*-allele.fasta"), emit: allele_fasta
|
||||||
|
tuple val(meta), path("*-allele.json") , emit: allele_json
|
||||||
|
tuple val(meta), path("*-cgmlst.csv") , emit: cgmlst_csv
|
||||||
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
when:
|
||||||
|
task.ext.when == null || task.ext.when
|
||||||
|
|
||||||
|
script:
|
||||||
|
def args = task.ext.args ?: ''
|
||||||
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
|
def is_compressed = fasta.getName().endsWith(".gz") ? true : false
|
||||||
|
def fasta_name = fasta.getName().replace(".gz", "")
|
||||||
|
"""
|
||||||
|
if [ "$is_compressed" == "true" ]; then
|
||||||
|
gzip -c -d $fasta > $fasta_name
|
||||||
|
fi
|
||||||
|
|
||||||
|
sistr \\
|
||||||
|
--qc \\
|
||||||
|
$args \\
|
||||||
|
--threads $task.cpus \\
|
||||||
|
--alleles-output ${prefix}-allele.json \\
|
||||||
|
--novel-alleles ${prefix}-allele.fasta \\
|
||||||
|
--cgmlst-profiles ${prefix}-cgmlst.csv \\
|
||||||
|
--output-prediction ${prefix} \\
|
||||||
|
--output-format tab \\
|
||||||
|
$fasta_name
|
||||||
|
|
||||||
|
cat <<-END_VERSIONS > versions.yml
|
||||||
|
"${task.process}":
|
||||||
|
sistr: \$(echo \$(sistr --version 2>&1) | sed 's/^.*sistr_cmd //; s/ .*\$//' )
|
||||||
|
END_VERSIONS
|
||||||
|
"""
|
||||||
|
}
|
55
modules/sistr/meta.yml
Normal file
55
modules/sistr/meta.yml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
name: sistr
|
||||||
|
description: Serovar prediction of salmonella assemblies
|
||||||
|
keywords:
|
||||||
|
- bacteria
|
||||||
|
- fasta
|
||||||
|
- salmonella
|
||||||
|
tools:
|
||||||
|
- sistr:
|
||||||
|
description: Salmonella In Silico Typing Resource (SISTR) commandline tool for serovar prediction
|
||||||
|
homepage: https://github.com/phac-nml/sistr_cmd
|
||||||
|
documentation: https://github.com/phac-nml/sistr_cmd
|
||||||
|
tool_dev_url: https://github.com/phac-nml/sistr_cmd
|
||||||
|
doi: "10.1371/journal.pone.0147101"
|
||||||
|
licence: ['Apache-2.0']
|
||||||
|
|
||||||
|
input:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- fasta:
|
||||||
|
type: file
|
||||||
|
description: Nucleotide or protein sequences in FASTA format
|
||||||
|
pattern: "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}"
|
||||||
|
|
||||||
|
output:
|
||||||
|
- meta:
|
||||||
|
type: map
|
||||||
|
description: |
|
||||||
|
Groovy Map containing sample information
|
||||||
|
e.g. [ id:'test', single_end:false ]
|
||||||
|
- versions:
|
||||||
|
type: file
|
||||||
|
description: File containing software versions
|
||||||
|
pattern: "versions.yml"
|
||||||
|
- tsv:
|
||||||
|
type: file
|
||||||
|
description: SISTR serovar prediction
|
||||||
|
pattern: "*.{tsv}"
|
||||||
|
- allele_json:
|
||||||
|
type: file
|
||||||
|
description: Allele sequences and info to JSON
|
||||||
|
pattern: "*.{json}"
|
||||||
|
- allele_fasta:
|
||||||
|
type: file
|
||||||
|
description: FASTA file destination of novel cgMLST alleles
|
||||||
|
pattern: "*.{fasta}"
|
||||||
|
- cgmlst_csv:
|
||||||
|
type: file
|
||||||
|
description: CSV file destination for cgMLST allelic profiles
|
||||||
|
pattern: "*.{csv}"
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- "@rpetit3"
|
|
@ -1429,6 +1429,10 @@ shovill:
|
||||||
- modules/shovill/**
|
- modules/shovill/**
|
||||||
- tests/modules/shovill/**
|
- tests/modules/shovill/**
|
||||||
|
|
||||||
|
sistr:
|
||||||
|
- modules/sistr/**
|
||||||
|
- tests/modules/sistr/**
|
||||||
|
|
||||||
snpdists:
|
snpdists:
|
||||||
- modules/snpdists/**
|
- modules/snpdists/**
|
||||||
- tests/modules/snpdists/**
|
- tests/modules/snpdists/**
|
||||||
|
|
15
tests/modules/sistr/main.nf
Normal file
15
tests/modules/sistr/main.nf
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env nextflow
|
||||||
|
|
||||||
|
nextflow.enable.dsl = 2
|
||||||
|
|
||||||
|
include { SISTR } from '../../../modules/sistr/main.nf'
|
||||||
|
|
||||||
|
workflow test_sistr {
|
||||||
|
|
||||||
|
input = [
|
||||||
|
[ id:'test', single_end:false ], // meta map
|
||||||
|
file(params.test_data['haemophilus_influenzae']['genome']['genome_fna_gz'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
SISTR ( input )
|
||||||
|
}
|
5
tests/modules/sistr/nextflow.config
Normal file
5
tests/modules/sistr/nextflow.config
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
process {
|
||||||
|
|
||||||
|
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||||
|
|
||||||
|
}
|
15
tests/modules/sistr/test.yml
Normal file
15
tests/modules/sistr/test.yml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
- name: sistr test_sistr
|
||||||
|
command: nextflow run tests/modules/sistr -entry test_sistr -c tests/config/nextflow.config
|
||||||
|
tags:
|
||||||
|
- sistr
|
||||||
|
files:
|
||||||
|
- path: output/sistr/test-allele.fasta
|
||||||
|
md5sum: 144a74999eb9dd01520be5c61e8bd210
|
||||||
|
- path: output/sistr/test-allele.json
|
||||||
|
md5sum: 3eb993c9489904621f539a93ff9a90ec
|
||||||
|
- path: output/sistr/test-cgmlst.csv
|
||||||
|
md5sum: c50a2144955fe1b98a6d5792bf295088
|
||||||
|
- path: output/sistr/test.tab
|
||||||
|
contains: ["cgmlst_ST", "serovar", "matched"]
|
||||||
|
- path: output/sistr/versions.yml
|
||||||
|
md5sum: 8b852f002c3ce67e3f6498da15b28296
|
Loading…
Reference in a new issue