Commit e0f31a5c authored by Chris Cheshire's avatar Chris Cheshire
Browse files

Moved trimgalore to custom module

parent 563565b5
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -54,9 +54,6 @@
            "seacr/callpeak": {
                "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d"
            },
            "trimgalore": {
                "git_sha": "c5235a983d454787fa0c3247b02086969217163b"
            },
            "ucsc/bedclip": {
                "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d"
            },
+25 −12
Original line number Diff line number Diff line
@@ -11,18 +11,18 @@ process TRIMGALORE {
        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::trim-galore=0.6.7' : null)
    conda (params.enable_conda ? "bioconda::trim-galore=0.6.6" : null)
    if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
        container "https://depot.galaxyproject.org/singularity/trim-galore:0.6.7--hdfd78af_0"
        container "https://depot.galaxyproject.org/singularity/trim-galore:0.6.6--0"
    } else {
        container "quay.io/biocontainers/trim-galore:0.6.7--hdfd78af_0"
        container "quay.io/biocontainers/trim-galore:0.6.6--0"
    }

    input:
    tuple val(meta), path(reads)

    output:
    tuple val(meta), path("*.fq.gz")    , emit: reads
    tuple val(meta), path("*trimmed.fastq.gz") , emit: reads
    tuple val(meta), path("*report.txt")        , emit: log
    path "*.version.txt"                        , emit: version

@@ -49,7 +49,11 @@ process TRIMGALORE {

    // Added soft-links to original fastqs for consistent naming in MultiQC
    def software = getSoftwareName(task.process)
    def prefix   = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
    def suffix = options.suffix ? "${options.suffix}.trimmed" : ".trimmed"
    def prefix_1 = "${meta.id}_1${suffix}"
    def prefix_2 = "${meta.id}_2${suffix}"
    def prefix = "${meta.id}${suffix}"
    
    if (meta.single_end) {
        """
        [ ! -f  ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz
@@ -64,8 +68,8 @@ process TRIMGALORE {
        """
    } else {
        """
        [ ! -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
        [ ! -f  ${meta.id}_1.fastq.gz ] && ln -s ${reads[0]} ${meta.id}_1.fastq.gz
        [ ! -f  ${meta.id}_2.fastq.gz ] && ln -s ${reads[1]} ${meta.id}_2.fastq.gz
        trim_galore \\
            $options.args \\
            --cores $cores \\
@@ -75,9 +79,18 @@ process TRIMGALORE {
            $c_r2 \\
            $tpc_r1 \\
            $tpc_r2 \\
            ${prefix}_1.fastq.gz \\
            ${prefix}_2.fastq.gz
            ${meta.id}_1.fastq.gz \\
            ${meta.id}_2.fastq.gz
        echo \$(trim_galore --version 2>&1) | sed 's/^.*version //; s/Last.*\$//' > ${software}.version.txt

        mv ${meta.id}_1_val_1.fq.gz ${prefix_1}.fastq.gz
        mv ${meta.id}_2_val_2.fq.gz ${prefix_2}.fastq.gz

        [ ! -f  ${meta.id}_1_val_1_fastqc.html ] || mv ${meta.id}_1_val_1_fastqc.html ${meta.id}_1_fastqc${suffix}.html
        [ ! -f  ${meta.id}_2_val_2_fastqc.html ] || mv ${meta.id}_2_val_2_fastqc.html ${meta.id}_2_fastqc${suffix}.html

        [ ! -f  ${meta.id}_1_val_1_fastqc.zip ] || mv ${meta.id}_1_val_1_fastqc.zip ${meta.id}_1_fastqc${suffix}.zip
        [ ! -f  ${meta.id}_2_val_2_fastqc.zip ] || mv ${meta.id}_2_val_2_fastqc.zip ${meta.id}_2_fastqc${suffix}.zip
        """
    }
}
 No newline at end of file
+0 −58
Original line number Diff line number Diff line
name: trimgalore
description: Trim FastQ files using Trim Galore!
keywords:
    - trimming
    - adapters
    - sequencing adapters
    - fastq
tools:
    - trimgalore:
        description: |
            A wrapper tool around Cutadapt and FastQC to consistently apply quality
            and adapter trimming to FastQ files, with some extra functionality for
            MspI-digested RRBS-type (Reduced Representation Bisufite-Seq) libraries.
        homepage: https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/
        documentation: https://github.com/FelixKrueger/TrimGalore/blob/master/Docs/Trim_Galore_User_Guide.md
input:
    - meta:
        type: map
        description: |
            Groovy Map containing sample information
            e.g. [ id:'test', single_end:false ]
    - reads:
        type: file
        description: |
            List of input FastQ files of size 1 and 2 for single-end and paired-end data,
            respectively.
output:
    - meta:
        type: map
        description: |
            Groovy Map containing sample information
            e.g. [ id:'test', single_end:false ]
    - reads:
        type: file
        description: |
            List of input adapter trimmed FastQ files of size 1 and 2 for
            single-end and paired-end data, respectively.
        pattern: "*.{fq.gz}"
    - html:
        type: file
        description: FastQC report (optional)
        pattern: "*_{fastqc.html}"
    - zip:
        type: file
        description: FastQC report archive (optional)
        pattern: "*_{fastqc.zip}"
    - log:
        type: file
        description: Trim Galore! trimming report
        pattern: "*_{report.txt}"
    - version:
        type: file
        description: File containing software version
        pattern: "*.{version.txt}"
authors:
    - "@drpatelh"
    - "@ewels"
    - "@FelixKrueger"
+2 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ params.fastqc_options = [:]
params.trimgalore_options = [:]

include { FASTQC     } from '../../modules/nf-core/modules/fastqc/main'   addParams( options: params.fastqc_options     )
include { TRIMGALORE } from '../../modules/nf-core/modules/trimgalore/main' addParams( options: params.trimgalore_options )
include { TRIMGALORE } from '../../modules/local/modules/trimgalore/main' addParams( options: params.trimgalore_options )

workflow FASTQC_TRIMGALORE {
    take:
+12 −12
Original line number Diff line number Diff line
@@ -306,6 +306,7 @@ include { CONSENSUS_PEAKS } from "../subworkflow
include { CONSENSUS_PEAKS as CONSENSUS_PEAKS_ALL         } from "../subworkflows/local/consensus_peaks"          addParams( bedtools_merge_options: modules["bedtools_merge_groups"], sort_options: modules["sort_group_peaks"], awk_threshold_options: awk_all_threshold, plot_peak_options: modules["plot_peaks"], run_peak_plotting: run_peak_plotting)
include { ANNOTATE_META_AWK as ANNOTATE_DEDUP_META       } from "../subworkflows/local/annotate_meta_awk"        addParams( options: awk_dedup_options, meta_suffix: "", meta_prefix: "dedup_", script_mode: false )
include { CALCULATE_FRAGMENTS                            } from "../subworkflows/local/calculate_fragments"      addParams( samtools_options: modules["calc_frag_samtools"], samtools_view_options: modules["calc_frag_samtools_view"], bamtobed_options: modules["calc_frag_bamtobed"], awk_options: modules["calc_frag_awk"], cut_options: modules["calc_frag_cut"] )
include { FASTQC_TRIMGALORE                              } from "../subworkflows/local/fastqc_trimgalore"        addParams( fastqc_options: modules["fastqc"], trimgalore_options: trimgalore_options )

/*
========================================================================================
@@ -329,7 +330,6 @@ include { SAMTOOLS_INDEX } from "../mo
/*
 * SUBWORKFLOW: Consisting entirely of nf-core/modules
 */
include { FASTQC_TRIMGALORE                      } from "../subworkflows/nf-core/fastqc_trimgalore"      addParams( fastqc_options: modules["fastqc"], trimgalore_options: trimgalore_options )
include { MARK_DUPLICATES_PICARD                 } from "../subworkflows/nf-core/mark_duplicates_picard" addParams( markduplicates_options: picard_markduplicates_options, samtools_options: picard_markduplicates_samtools_options, control_only: false )
include { MARK_DUPLICATES_PICARD as DEDUP_PICARD } from "../subworkflows/nf-core/mark_duplicates_picard" addParams( markduplicates_options: picard_deduplicates_options, samtools_options: picard_deduplicates_samtools_options, control_only: dedup_control_only )