mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-11-14 13:43:09 +00:00
add FCS adaptor (#2033)
* add FCS adaptor * run prettier * fix EClint * add keywords to meta * fix docker Co-authored-by: Simon Pearce <24893913+SPPearce@users.noreply.github.com>
This commit is contained in:
parent
4eed099a12
commit
c9889866a9
6 changed files with 150 additions and 0 deletions
49
modules/fcs/fcsadaptor/main.nf
Normal file
49
modules/fcs/fcsadaptor/main.nf
Normal file
|
@ -0,0 +1,49 @@
|
|||
process FCS_FCSADAPTOR {
|
||||
tag "$meta.id"
|
||||
label 'process_low'
|
||||
|
||||
if (params.enable_conda) {
|
||||
exit 1, "Conda environments cannot be used when using the FCS tool. Please use docker or singularity containers."
|
||||
}
|
||||
// WARN: Version information not provided by tool on CLI. Please update version string below when bumping container versions.
|
||||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||
'https://ftp.ncbi.nlm.nih.gov/genomes/TOOLS/FCS/releases/0.2.3/fcs-adaptor.0.2.3.sif':
|
||||
'ncbi/fcs-adaptor:0.2.3' }"
|
||||
|
||||
input:
|
||||
tuple val(meta), path(assembly)
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*.cleaned_sequences.fa.gz"), emit: cleaned_assembly
|
||||
tuple val(meta), path("*.fcs_adaptor_report.txt") , emit: adaptor_report
|
||||
tuple val(meta), path("*.fcs_adaptor.log") , emit: log
|
||||
tuple val(meta), path("*.pipeline_args.yaml") , emit: pipeline_args
|
||||
tuple val(meta), path("*.skipped_trims.jsonl") , emit: skipped_trims
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: '--prok' // --prok || --euk
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
def FCSADAPTOR_VERSION = '0.2.3' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
|
||||
"""
|
||||
/app/fcs/bin/av_screen_x \\
|
||||
-o output/ \\
|
||||
$args \\
|
||||
$assembly
|
||||
|
||||
# compress and/or rename files with prefix
|
||||
gzip -cf output/cleaned_sequences/* > "${prefix}.cleaned_sequences.fa.gz"
|
||||
cp "output/fcs_adaptor_report.txt" "${prefix}.fcs_adaptor_report.txt"
|
||||
cp "output/fcs_adaptor.log" "${prefix}.fcs_adaptor.log"
|
||||
cp "output/pipeline_args.yaml" "${prefix}.pipeline_args.yaml"
|
||||
cp "output/skipped_trims.jsonl" "${prefix}.skipped_trims.jsonl"
|
||||
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
FCS-adaptor: $FCSADAPTOR_VERSION
|
||||
END_VERSIONS
|
||||
"""
|
||||
}
|
62
modules/fcs/fcsadaptor/meta.yml
Normal file
62
modules/fcs/fcsadaptor/meta.yml
Normal file
|
@ -0,0 +1,62 @@
|
|||
name: "fcs_fcsadaptor"
|
||||
description: Run NCBI's FCS adaptor on assembled genomes
|
||||
keywords:
|
||||
- assembly
|
||||
- genomics
|
||||
- quality control
|
||||
- contamination
|
||||
- NCBI
|
||||
tools:
|
||||
- "fcs":
|
||||
description: |
|
||||
The Foreign Contamination Screening (FCS) tool rapidly detects contaminants from foreign
|
||||
organisms in genome assemblies to prepare your data for submission. Therefore, the
|
||||
submission process to NCBI is faster and fewer contaminated genomes are submitted.
|
||||
This reduces errors in analyses and conclusions, not just for the original data submitter
|
||||
but for all subsequent users of the assembly.
|
||||
homepage: "https://www.ncbi.nlm.nih.gov/data-hub/cgr/data-quality-tools/"
|
||||
documentation: "https://github.com/ncbi/fcs/wiki/FCS-adaptor"
|
||||
tool_dev_url: "https://github.com/ncbi/fcs"
|
||||
doi: ""
|
||||
licence: "United States Government Work"
|
||||
input:
|
||||
- meta:
|
||||
type: map
|
||||
description: |
|
||||
Groovy Map containing sample information
|
||||
e.g. [ id:'test', single_end:false ]
|
||||
- assembly:
|
||||
type: file
|
||||
description: assembly fasta file
|
||||
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"
|
||||
- cleaned_assembly:
|
||||
type: file
|
||||
description: Cleaned assembly in fasta format
|
||||
pattern: "*.{cleaned_sequences.fa.gz}"
|
||||
- adaptor_report:
|
||||
type: file
|
||||
description: Report of identified adaptors
|
||||
pattern: "*.{fcs_adaptor_report.txt}"
|
||||
- log:
|
||||
type: file
|
||||
description: Log file
|
||||
pattern: "*.{fcs_adaptor.log}"
|
||||
- pipeline_args:
|
||||
type: file
|
||||
description: Run arguments
|
||||
pattern: "*.{pipeline_args.yaml}"
|
||||
- skipped_trims:
|
||||
type: file
|
||||
description: Skipped trim information
|
||||
pattern: "*.{skipped_trims.jsonl}"
|
||||
authors:
|
||||
- "@d4straub"
|
|
@ -803,6 +803,10 @@ fasttree:
|
|||
- modules/fasttree/**
|
||||
- tests/modules/fasttree/**
|
||||
|
||||
fcs/fcsadaptor:
|
||||
- modules/fcs/fcsadaptor/**
|
||||
- tests/modules/fcs/fcsadaptor/**
|
||||
|
||||
ffq:
|
||||
- modules/ffq/**
|
||||
- tests/modules/ffq/**
|
||||
|
|
15
tests/modules/fcs/fcsadaptor/main.nf
Normal file
15
tests/modules/fcs/fcsadaptor/main.nf
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env nextflow
|
||||
|
||||
nextflow.enable.dsl = 2
|
||||
|
||||
include { FCS_FCSADAPTOR } from '../../../../modules/fcs/fcsadaptor/main.nf'
|
||||
|
||||
workflow test_fcs_fcsadaptor {
|
||||
|
||||
input = [
|
||||
[ id:'test', single_end:false ], // meta map
|
||||
file(params.test_data['bacteroides_fragilis']['genome']['genome_fna_gz'], checkIfExists: true)
|
||||
]
|
||||
|
||||
FCS_FCSADAPTOR ( input )
|
||||
}
|
5
tests/modules/fcs/fcsadaptor/nextflow.config
Normal file
5
tests/modules/fcs/fcsadaptor/nextflow.config
Normal file
|
@ -0,0 +1,5 @@
|
|||
process {
|
||||
|
||||
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||
|
||||
}
|
15
tests/modules/fcs/fcsadaptor/test.yml
Normal file
15
tests/modules/fcs/fcsadaptor/test.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
- name: fcs fcsadaptor test_fcs_fcsadaptor
|
||||
command: nextflow run ./tests/modules/fcs/fcsadaptor -entry test_fcs_fcsadaptor -c ./tests/config/nextflow.config -c ./tests/modules/fcs/fcsadaptor/nextflow.config
|
||||
tags:
|
||||
- fcs/fcsadaptor
|
||||
- fcs
|
||||
files:
|
||||
- path: output/fcs/test.cleaned_sequences.fa.gz
|
||||
md5sum: 2f331e59b352418420a35236091bf93c
|
||||
- path: output/fcs/test.fcs_adaptor.log
|
||||
contains: ["Original command:", "Executing:", "INFO:cwltool:[workflow ] completed success"]
|
||||
- path: output/fcs/test.fcs_adaptor_report.txt
|
||||
md5sum: 27375be4671e01d2d2674ddd1d44414a
|
||||
- path: output/fcs/test.pipeline_args.yaml
|
||||
md5sum: 80effed2a75550a6a861c47f4c30449d
|
||||
- path: output/fcs/test.skipped_trims.jsonl
|
Loading…
Reference in a new issue