Skip to content
Snippets Groups Projects
Verified Commit 2924d6ef authored by Laurent Modolo's avatar Laurent Modolo
Browse files

fastp: update fastp to match CONTRIBUTING.md

parent be4657c7
Branches
No related tags found
No related merge requests found
...@@ -2,10 +2,9 @@ version = "0.20.1" ...@@ -2,10 +2,9 @@ version = "0.20.1"
container_url = "lbmc/fastp:${version}" container_url = "lbmc/fastp:${version}"
params.fastp_protocol = "" params.fastp_protocol = ""
params.fastp = ""
params.fastp_pairedend = ""
params.fastp_singleend = ""
params.fastp = ""
params.fastp_out = ""
workflow fastp { workflow fastp {
take: take:
fastq fastq
...@@ -31,165 +30,120 @@ workflow fastp { ...@@ -31,165 +30,120 @@ workflow fastp {
process fastp_default { process fastp_default {
container = "${container_url}" container = "${container_url}"
label "big_mem_multi_cpus" label "big_mem_multi_cpus"
tag "$pair_id" tag "$file_prefix"
publishDir "results/QC/fastp/", mode: 'copy', pattern: "*.html" if (params.fastp_out != "") {
publishDir "results/${params.fastp_out}", mode: 'copy'
input: }
tuple val(pair_id), path(reads)
output:
tuple val(pair_id), path("*.fastq.gz"), emit: fastq
tuple val(pair_id), path("*.html"), emit: html
tuple val(pair_id), path("*.json"), emit: report
script:
if (reads instanceof List)
"""
fastp --thread ${task.cpus} \
--qualified_quality_phred 20 \
--disable_length_filtering \
--detect_adapter_for_pe \
${params.fastp} \
--in1 ${reads[0]} \
--in2 ${reads[1]} \
--out1 ${pair_id}_R1_trim.fastq.gz \
--out2 ${pair_id}_R2_trim.fastq.gz \
--html ${pair_id}.html \
--json ${pair_id}_fastp.json \
--report_title ${pair_id}
"""
else
"""
fastp --thread ${task.cpus} \
--qualified_quality_phred 20 \
--disable_length_filtering \
--detect_adapter_for_pe \
${params.fastp} \
--in1 ${reads} \
--out1 ${pair_id}_trim.fastq.gz \
--html ${pair_id}.html \
--json ${pair_id}_fastp.json \
--report_title ${pair_id}
"""
}
process fastp_accel_1splus {
container = "${container_url}"
label "big_mem_multi_cpus"
tag "$pair_id"
publishDir "results/QC/fastp/", mode: 'copy', pattern: "*.html"
input: input:
tuple val(pair_id), path(reads) tuple val(file_id), path(reads)
output: output:
tuple val(pair_id), path("*.fastq.gz"), emit: fastq tuple val(file_id), path("*.fastq.gz"), emit: fastq
tuple val(pair_id), path("*.html"), emit: html tuple val(file_id), path("*.html"), emit: html
tuple val(pair_id), path("*.json"), emit: report tuple val(file_id), path("*.json"), emit: report
script: script:
if (reads instanceof List) if (file_id instanceof List){
""" file_prefix = file_id[0]
fastp --thread ${task.cpus} \ } else {
--disable_quality_filtering \ file_prefix = file_id
--disable_length_filtering \ }
--disable_trim_poly_g \ if (reads.size() == 2)
--stdout \ """
--in1 ${reads[0]} \
--in2 ${reads[1]} \
--out1 ${pair_id}_R1_trim.fastq.gz \
--out2 ${pair_id}_R2_trim.fastq.gz | \
fastp --thread ${task.cpus} \ fastp --thread ${task.cpus} \
--stdin \
--interleaved_in \
--trim_front1=10 \
--trim_front2=10 \
--qualified_quality_phred 20 \ --qualified_quality_phred 20 \
--disable_length_filtering \ --disable_length_filtering \
--detect_adapter_for_pe \ --detect_adapter_for_pe \
${params.fastp} \ ${params.fastp} \
--html ${pair_id}.html \ --in1 ${reads[0]} \
--json ${pair_id}_fastp.json \ --in2 ${reads[1]} \
--report_title ${pair_id} --out1 ${file_prefix}_R1_trim.fastq.gz \
""" --out2 ${file_prefix}_R2_trim.fastq.gz \
else --html ${file_prefix}.html \
""" --json ${file_prefix}_fastp.json \
fastp --thread ${task.cpus} \ --report_title ${file_prefix}
--disable_quality_filtering \ """
--disable_length_filtering \ else if (reads.size() == 1)
--disable_trim_poly_g \ """
--stdout \
--in1 ${reads[0]} \
--out1 ${pair_id}_R1_trim.fastq.gz \
fastp --thread ${task.cpus} \ fastp --thread ${task.cpus} \
--stdin \
--trim_front1=10 \
--qualified_quality_phred 20 \ --qualified_quality_phred 20 \
--disable_length_filtering \ --disable_length_filtering \
--detect_adapter_for_pe \ --detect_adapter_for_pe \
${params.fastp} \ ${params.fastp} \
--html ${pair_id}.html \ --in1 ${reads[0]} \
--json ${pair_id}_fastp.json \ --out1 ${file_prefix}_trim.fastq.gz \
--report_title ${pair_id} --html ${file_prefix}.html \
""" --json ${file_prefix}_fastp.json \
--report_title ${file_prefix}
"""
} }
process fastp_pairedend { process fastp_accel_1splus {
container = "${container_url}" container = "${container_url}"
label "big_mem_multi_cpus" label "big_mem_multi_cpus"
tag "$pair_id" tag "$file_prefix"
publishDir "results/QC/fastp/", mode: 'copy', pattern: "*.html" if (params.fastp_out != "") {
publishDir "results/${params.fastp_out}", mode: 'copy'
}
input: input:
tuple val(pair_id), path(reads) tuple val(file_prefix), path(reads)
output: output:
tuple val(pair_id), path("*.fastq.gz"), emit: fastq tuple val(file_prefix), path("*.fastq.gz"), emit: fastq
tuple val(pair_id), path("*.html"), emit: html tuple val(file_prefix), path("*.html"), emit: html
tuple val(pair_id), path("*.json"), emit: report tuple val(file_prefix), path("*.json"), emit: report
script: script:
""" if (file_id instanceof List){
fastp --thread ${task.cpus} \ file_prefix = file_id[0]
--qualified_quality_phred 20 \ } else {
--disable_length_filtering \ file_prefix = file_id
--detect_adapter_for_pe \ }
${params.fastp_pairedend} \
--in1 ${reads[0]} \
--in2 ${reads[1]} \
--out1 ${pair_id}_R1_trim.fastq.gz \
--out2 ${pair_id}_R2_trim.fastq.gz \
--html ${pair_id}.html \
--json ${pair_id}_fastp.json \
--report_title ${pair_id}
"""
}
process fastp_singleend {
container = "${container_url}"
label "big_mem_multi_cpus"
tag "$pair_id"
publishDir "results/QC/fastp/", mode: 'copy', pattern: "*.html"
input:
tuple val(pair_id), path(reads)
output:
tuple val(pair_id), path("*.fastq.gz"), emit: fastq
tuple val(pair_id), path("*.html"), emit: html
tuple val(pair_id), path("*.json"), emit: report
script: if (reads.size() == 2)
""" """
fastp --thread ${task.cpus} \ fastp --thread ${task.cpus} \
--qualified_quality_phred 20 \ --disable_quality_filtering \
--disable_length_filtering \ --disable_length_filtering \
--detect_adapter_for_pe \ --disable_trim_poly_g \
${params.fastp_singleend} \ --stdout \
--in1 ${reads} \ --in1 ${reads[0]} \
--out1 ${pair_id}_trim.fastq.gz \ --in2 ${reads[1]} \
--html ${pair_id}.html \ --out1 ${file_prefix}_R1_trim.fastq.gz \
--json ${pair_id}_fastp.json \ --out2 ${file_prefix}_R2_trim.fastq.gz | \
--report_title ${pair_id} fastp --thread ${task.cpus} \
""" --stdin \
--interleaved_in \
--trim_front1=10 \
--trim_front2=10 \
--qualified_quality_phred 20 \
--disable_length_filtering \
--detect_adapter_for_pe \
${params.fastp} \
--html ${file_prefix}.html \
--json ${file_prefix}_fastp.json \
--report_title ${file_prefix}
"""
else if (reads.size() == 1)
"""
fastp --thread ${task.cpus} \
--disable_quality_filtering \
--disable_length_filtering \
--disable_trim_poly_g \
--stdout \
--in1 ${reads[0]} \
--out1 ${file_prefix}_R1_trim.fastq.gz \
fastp --thread ${task.cpus} \
--stdin \
--trim_front1=10 \
--qualified_quality_phred 20 \
--disable_length_filtering \
--detect_adapter_for_pe \
${params.fastp} \
--html ${file_prefix}.html \
--json ${file_prefix}_fastp.json \
--report_title ${file_prefix}
"""
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment