mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-22 02:58:17 +00:00
* enhance module fastp: add `save_merged` (#598) * removed md5sum checks from log and json
This commit is contained in:
parent
3cabc95d0e
commit
6f561b3b41
4 changed files with 63 additions and 12 deletions
|
@ -21,14 +21,16 @@ process FASTP {
|
|||
input:
|
||||
tuple val(meta), path(reads)
|
||||
val save_trimmed_fail
|
||||
val save_merged
|
||||
|
||||
output:
|
||||
tuple val(meta), path('*.trim.fastq.gz'), emit: reads
|
||||
tuple val(meta), path('*.json') , emit: json
|
||||
tuple val(meta), path('*.html') , emit: html
|
||||
tuple val(meta), path('*.log') , emit: log
|
||||
path '*.version.txt' , emit: version
|
||||
tuple val(meta), path('*.fail.fastq.gz'), optional:true, emit: reads_fail
|
||||
tuple val(meta), path('*.trim.fastq.gz') , emit: reads
|
||||
tuple val(meta), path('*.json') , emit: json
|
||||
tuple val(meta), path('*.html') , emit: html
|
||||
tuple val(meta), path('*.log') , emit: log
|
||||
path '*.version.txt' , emit: version
|
||||
tuple val(meta), path('*.fail.fastq.gz') , optional:true, emit: reads_fail
|
||||
tuple val(meta), path('*.merged.fastq.gz'), optional:true, emit: reads_merged
|
||||
|
||||
script:
|
||||
// Added soft-links to original fastqs for consistent naming in MultiQC
|
||||
|
@ -50,7 +52,8 @@ process FASTP {
|
|||
echo \$(fastp --version 2>&1) | sed -e "s/fastp //g" > ${software}.version.txt
|
||||
"""
|
||||
} else {
|
||||
def fail_fastq = save_trimmed_fail ? "--unpaired1 ${prefix}_1.fail.fastq.gz --unpaired2 ${prefix}_2.fail.fastq.gz" : ''
|
||||
def fail_fastq = save_trimmed_fail ? "--unpaired1 ${prefix}_1.fail.fastq.gz --unpaired2 ${prefix}_2.fail.fastq.gz" : ''
|
||||
def merge_fastq = save_merged ? "-m --merged_out ${prefix}.merged.fastq.gz" : ''
|
||||
"""
|
||||
[ ! -f ${prefix}_1.fastq.gz ] && ln -s ${reads[0]} ${prefix}_1.fastq.gz
|
||||
[ ! -f ${prefix}_2.fastq.gz ] && ln -s ${reads[1]} ${prefix}_2.fastq.gz
|
||||
|
@ -62,6 +65,7 @@ process FASTP {
|
|||
--json ${prefix}.fastp.json \\
|
||||
--html ${prefix}.fastp.html \\
|
||||
$fail_fastq \\
|
||||
$merge_fastq \\
|
||||
--thread $task.cpus \\
|
||||
--detect_adapter_for_pe \\
|
||||
$options.args \\
|
||||
|
|
|
@ -30,7 +30,7 @@ output:
|
|||
e.g. [ id:'test', single_end:false ]
|
||||
- reads:
|
||||
type: file
|
||||
description: The trimmed/modified fastq reads
|
||||
description: The trimmed/modified/unmerged fastq reads
|
||||
pattern: "*trim.fastq.gz"
|
||||
- json:
|
||||
type: file
|
||||
|
@ -52,6 +52,10 @@ output:
|
|||
type: file
|
||||
description: Reads the failed the preprocessing
|
||||
pattern: "*fail.fastq.gz"
|
||||
- reads_merged:
|
||||
type: file
|
||||
description: Reads that were successfully merged
|
||||
pattern: "*.{merged.fastq.gz}"
|
||||
authors:
|
||||
- "@drpatelh"
|
||||
- "@kevinmenden"
|
||||
|
|
|
@ -12,8 +12,9 @@ workflow test_fastp_single_end {
|
|||
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) ]
|
||||
]
|
||||
save_trimmed_fail = false
|
||||
save_merged = false
|
||||
|
||||
FASTP ( input, save_trimmed_fail )
|
||||
FASTP ( input, save_trimmed_fail, save_merged )
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -25,8 +26,9 @@ workflow test_fastp_paired_end {
|
|||
file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) ]
|
||||
]
|
||||
save_trimmed_fail = false
|
||||
save_merged = false
|
||||
|
||||
FASTP ( input, save_trimmed_fail )
|
||||
FASTP ( input, save_trimmed_fail, save_merged )
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -37,8 +39,9 @@ workflow test_fastp_single_end_trim_fail {
|
|||
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) ]
|
||||
]
|
||||
save_trimmed_fail = true
|
||||
save_merged = false
|
||||
|
||||
FASTP ( input, save_trimmed_fail )
|
||||
FASTP ( input, save_trimmed_fail, save_merged )
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -50,6 +53,21 @@ workflow test_fastp_paired_end_trim_fail {
|
|||
file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) ]
|
||||
]
|
||||
save_trimmed_fail = true
|
||||
save_merged = false
|
||||
|
||||
FASTP ( input, save_trimmed_fail )
|
||||
FASTP ( input, save_trimmed_fail, save_merged )
|
||||
}
|
||||
|
||||
//
|
||||
// Test with paired-end data with merging
|
||||
//
|
||||
workflow test_fastp_paired_end_merged {
|
||||
input = [ [ id:'test', single_end:false ], // meta map
|
||||
[ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true),
|
||||
file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) ]
|
||||
]
|
||||
save_trimmed_fail = false
|
||||
save_merged = true
|
||||
|
||||
FASTP ( input, save_trimmed_fail, save_merged )
|
||||
}
|
||||
|
|
|
@ -81,3 +81,28 @@
|
|||
md5sum: e62ff0123a74adfc6903d59a449cbdb0
|
||||
- path: output/fastp/test_2.fail.fastq.gz
|
||||
md5sum: f52309b35a7c15cbd56a9c3906ef98a5
|
||||
|
||||
- name: fastp test_fastp_paired_end_merged
|
||||
command: nextflow run tests/modules/fastp -entry test_fastp_paired_end_merged -c tests/config/nextflow.config
|
||||
tags:
|
||||
- fastp
|
||||
files:
|
||||
- path: output/fastp/test.fastp.html
|
||||
contains:
|
||||
- "<div id='After_filtering__merged__quality'>"
|
||||
- path: output/fastp/test.fastp.json
|
||||
contains:
|
||||
- '"merged_and_filtered": {'
|
||||
- '"total_reads": 75'
|
||||
- '"total_bases": 13683'
|
||||
- path: output/fastp/test.fastp.log
|
||||
contains:
|
||||
- "Merged and filtered:"
|
||||
- "total reads: 75"
|
||||
- "total bases: 13683"
|
||||
- path: output/fastp/test.merged.fastq.gz
|
||||
md5sum: ce88539076ced5aff11f866836ea1f40
|
||||
- path: output/fastp/test_1.trim.fastq.gz
|
||||
md5sum: 65d75c13abbfbfd993914e1379634100
|
||||
- path: output/fastp/test_2.trim.fastq.gz
|
||||
md5sum: 0d87ce4d8ef29fb35f337eb0f6c9fcb4
|
||||
|
|
Loading…
Reference in a new issue