Repository revision
18:b94789823aad

Repository 'trim_galore'
hg clone https://toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore

Trim Galore! tool metadata
Miscellaneous
Trim Galore!
Quality and adapter trimmer of reads
trim_galore
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.6.10+galaxy0
0.6.10+galaxy0
trim_galore --version
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.6.10+galaxy0 (this tool)
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.6.7+galaxy1
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.6.7+galaxy0
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.6.3
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.4.3.1
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.4.3.0
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.4.3
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.4.2
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.4.1
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.4.0
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.3.7.0
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.2.8.1
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.2.8
toolshed.g2.bx.psu.edu/repos/bgruening/trim_galore/trim_galore/0.2.4.1
trim_galore
Requirements (dependencies defined in the <requirements> tag set)
name version type
trim-galore 0.6.10 package
Additional information about this tool
#set compressed = 'no'
        #if $singlePaired.sPaired == "single":
            #if $singlePaired.input_singles.is_of_type("fastq.gz"):
                #set read1 = 'input_1.fastq.gz'
                #set compressed = 'gz'
            #else
                #set read1 = 'input_1.fastq'
            #end if
            ln -s '${singlePaired.input_singles}' ${read1} &&
        #elif $singlePaired.sPaired == "paired":
            #if $singlePaired.input_mate1.is_of_type("fastq.gz"):
                #set read1 = 'input_1.fastq.gz'
                #set compressed = 'gz'
            #else
                #set read1 = 'input_1.fastq'
            #end if
            ln -s '${singlePaired.input_mate1}' ${read1} &&

            #if $singlePaired.input_mate2.is_of_type("fastq.gz"):
                #set read2 = 'input_2.fastq.gz'
            #else
                #set read2 = 'input_2.fastq'
            #end if
            ln -s '${singlePaired.input_mate2}' ${read2} &&
        #else:
            #if $singlePaired.input_mate_pairs.forward.is_of_type("fastq.gz"):
                #set read1 = 'input_1.fastq.gz'
                #set compressed = 'gz'
            #else
                #set read1 = 'input_1.fastq'
            #end if
            ln -s '${singlePaired.input_mate_pairs.forward}' ${read1} &&

            #if $singlePaired.input_mate_pairs.reverse.is_of_type("fastq.gz"):
                #set read2 = 'input_2.fastq.gz'
            #else
                #set read2 = 'input_2.fastq'
            #end if
            ln -s '${singlePaired.input_mate_pairs.reverse}' ${read2} &&
        #end if

        trim_galore

        ## according the develpers 4 cores could be a sweet spot, anything above has diminishing returns
        --cores \${GALAXY_SLOTS:-4}

        ## we only support fastqsanger
        --phred33

        #if $params.settingsType == "custom":

            ## default 20
            --quality $params.quality

            ## default 1
            --stringency $params.stringency

            ## default 0.1
            -e $params.error_rate

            ## default 20
            --length $params.min_length

            #if $params.clip_R1:
                --clip_R1 $params.clip_R1
            #end if

            #if $params.clip_R2:
                --clip_R2 $params.clip_R2
            #end if

            #if $params.retain_unpaired.retain_unpaired_select == "retain_unpaired_output":
                --retain_unpaired
                --length_1 $params.retain_unpaired.length_1
                --length_2 $params.retain_unpaired.length_2
            #end if

        #end if

        ## RBBS specific options.
        #if $rrbs.settingsType == "custom":
            $rrbs.rrbs
            $rrbs.non_directional
        #end if

        --output_dir ./

        #if $params.settingsType == "custom" and not $params.report:
            --no_report_file
        #end if

        #if $singlePaired.trimming.trimming_select == 'user':
            ## default 'AGATCGGAAGAGC'
            #if $singlePaired.trimming.adapter.strip() != '':
               --adapter '$singlePaired.trimming.adapter'
            #end if
        #else:
            $singlePaired.trimming.trimming_select
        #end if

        #if $singlePaired.three_prime_clip_R1:
            --three_prime_clip_R1 $singlePaired.three_prime_clip_R1
        #end if

        #if $singlePaired.sPaired == "single":
            ## input sequence
            ${read1}
        #else:
            --paired

            $singlePaired.trim1

            #if $singlePaired.trimming.trimming_select == 'user':
                #if $singlePaired.trimming.adapter2 and $singlePaired.trimming.adapter2.strip() != '':
                    --adapter2 '$singlePaired.trimming.adapter2'
                #end if
            #end if

            #if $singlePaired.three_prime_clip_R2:
                --three_prime_clip_R2 $singlePaired.three_prime_clip_R2
            #end if

            ## input sequences
            ${read1}
            ${read2}
        #end if

        #if $compressed == 'no':
            --dont_gzip
        #end if

        ## Trimming settings
        #if $trimming.settingsType == 'custom'
            #if $trimming.hardtrim5
                --hardtrim5 $trimming.hardtrim5
            #end if
            #if $trimming.hardtrim3 
                --hardtrim3 $trimming.hardtrim3
            #end if
            $trimming.clock 
            $trimming.polyA
        #end if

        ##  Trim Galore is finished, rename the output if compressed
        &&
        if [ -f input_1_trimmed.fq.gz ] ; then mv input_1_trimmed.fq.gz input_1_trimmed.fq ; fi
        &&
        if [ -f input_1_val_1.fq.gz ] ; then mv input_1_val_1.fq.gz input_1_val_1.fq ; fi
        &&
        if [ -f input_2_val_2.fq.gz ] ; then mv input_2_val_2.fq.gz input_2_val_2.fq ; fi
        &&
        if [ -f input_1_unpaired_1.fq.gz ] ; then mv input_1_unpaired_1.fq.gz input_1_unpaired_1.fq ; fi
        &&
        if [ -f input_2_unpaired_2.fq.gz ] ; then mv input_2_unpaired_2.fq.gz input_2_unpaired_2.fq ; fi
        &&
        if [ -f input_1.clock_UMI.R1.fq.gz ] ; then mv input_1.clock_UMI.R1.fq.gz input_1.clock_UMI.R1.fq ; fi
        &&
        if [ -f input_2.clock_UMI.R2.fq.gz ] ; then mv input_2.clock_UMI.R2.fq.gz input_2.clock_UMI.R2.fq ; fi
        
        ## Rename hardtrimmed files
        #if $trimming.settingsType == 'custom'
            &&
            if [ -f input_1.${trimming.hardtrim5}bp_5prime.fq.gz ] ; then mv input_1.${trimming.hardtrim5}bp_5prime.fq.gz input_1_hardtrim.fq ; fi
            &&
            if [ -f input_2.${trimming.hardtrim5}bp_5prime.fq.gz ] ; then mv input_2.${trimming.hardtrim5}bp_5prime.fq.gz input_2_hardtrim.fq ; fi
            &&
            if [ -f input_1.${trimming.hardtrim3}bp_3prime.fq.gz ] ; then mv input_1.${trimming.hardtrim3}bp_3prime.fq.gz input_1_hardtrim.fq ; fi
            &&
            if [ -f input_2.${trimming.hardtrim3}bp_3prime.fq.gz ] ; then mv input_2.${trimming.hardtrim3}bp_3prime.fq.gz input_2_hardtrim.fq ; fi
            &&
            if [ -f input_1.${trimming.hardtrim5}bp_5prime.fq ] ; then mv input_1.${trimming.hardtrim5}bp_5prime.fq input_1_hardtrim.fq ; fi
            &&
            if [ -f input_2.${trimming.hardtrim5}bp_5prime.fq ] ; then mv input_2.${trimming.hardtrim5}bp_5prime.fq input_2_hardtrim.fq ; fi
            &&
            if [ -f input_1.${trimming.hardtrim3}bp_3prime.fq ] ; then mv input_1.${trimming.hardtrim3}bp_3prime.fq input_1_hardtrim.fq ; fi
            &&
            if [ -f input_2.${trimming.hardtrim3}bp_3prime.fq ] ; then mv input_2.${trimming.hardtrim3}bp_3prime.fq input_2_hardtrim.fq ; fi
        #end if

        ##  Trim Galore! run is finished. Move the report files to the proper place
        #if $params.settingsType == "custom" and $params.report:
            &&
            cat ./*_trimming_report.txt > '$report_file'
        #end if
        && ls -lah
    
None
False
Functional tests
name inputs outputs required files
Test-1 singlePaired|input_singles: sanger_full_range_original_sanger.fastqsanger
singlePaired|sPaired: single
params|report: True
params|settingsType: custom
name: value
name: value
sanger_full_range_original_sanger.fastqsanger
value
Test-2 singlePaired|input_singles: sanger_full_range_original_sanger.fastq.gz
singlePaired|sPaired: single
params|report: True
params|settingsType: custom
name: value
name: value
sanger_full_range_original_sanger.fastq.gz
value
Test-3 singlePaired|input_singles: sanger_full_range_original_sanger.fastqsanger
singlePaired|trimming|trimming_select: --illumina
singlePaired|sPaired: single
name: value
sanger_full_range_original_sanger.fastqsanger
value
Test-4 singlePaired|input_singles: sanger_full_range_original_sanger.fastq.gz
singlePaired|trimming|trimming_select: --illumina
singlePaired|sPaired: single
name: value
sanger_full_range_original_sanger.fastq.gz
value
Test-5 singlePaired|input_singles: sanger_full_range_original_sanger.fastqsanger
singlePaired|trimming|adapter: AAAGAGC
singlePaired|trimming|trimming_select: user
singlePaired|sPaired: single
name: value
sanger_full_range_original_sanger.fastqsanger
value
Test-6 singlePaired|input_singles: sanger_full_range_original_sanger.fastq.gz
singlePaired|trimming|adapter: AAAGAGC
singlePaired|trimming|trimming_select: user
singlePaired|sPaired: single
name: value
sanger_full_range_original_sanger.fastq.gz
value
Test-7 singlePaired|input_mate1: bwa-mem-fastq1.fq
singlePaired|input_mate2: bwa-mem-fastq2.fq
singlePaired|sPaired: paired
params|report: True
params|settingsType: custom
name: value
name: value
name: value
bwa-mem-fastq1.fq
bwa-mem-fastq2.fq
value
Test-8 singlePaired|input_mate1: bwa-mem-fastq1.fq.gz
singlePaired|input_mate2: bwa-mem-fastq2.fq.gz
singlePaired|sPaired: paired
params|report: True
params|settingsType: custom
name: value
name: value
name: value
bwa-mem-fastq1.fq.gz
bwa-mem-fastq2.fq.gz
value
Test-9 singlePaired|input_mate_pairs: paired collection
singlePaired|sPaired: paired_collection
params|report: True
params|retain_unpaired|retain_unpaired_select: retain_unpaired_output
params|settingsType: custom
name: value
bwa-mem-fastq1.fq
bwa-mem-fastq2.fq
value
Test-10 singlePaired|input_mate_pairs: paired collection
singlePaired|sPaired: paired_collection
params|report: True
params|retain_unpaired|retain_unpaired_select: retain_unpaired_output
params|settingsType: custom
name: value
bwa-mem-fastq1.fq.gz
bwa-mem-fastq2.fq.gz
value
Test-11 singlePaired|input_mate1: bwa-mem-fastq1.fq
singlePaired|input_mate2: bwa-mem-fastq2.fq
singlePaired|sPaired: paired
trimming|hardtrim3: 20
trimming|settingsType: custom
name: value
name: value
bwa-mem-fastq1.fq
bwa-mem-fastq2.fq
value
Test-12 singlePaired|input_mate1: bwa-mem-fastq1.fq
singlePaired|input_mate2: bwa-mem-fastq2.fq
singlePaired|sPaired: paired
trimming|hardtrim5: 20
trimming|settingsType: custom
name: value
name: value
bwa-mem-fastq1.fq
bwa-mem-fastq2.fq
value
Test-13 singlePaired|input_mate1: bwa-mem-fastq1.fq
singlePaired|input_mate2: bwa-mem-fastq2.fq
singlePaired|sPaired: paired
trimming|clock: True
trimming|settingsType: custom
name: value
name: value
bwa-mem-fastq1.fq
bwa-mem-fastq2.fq
value
Test-14 singlePaired|input_mate1: bwa-mem-fastq1.fq
singlePaired|input_mate2: bwa-mem-fastq2.fq
singlePaired|sPaired: paired
trimming|polyA: True
trimming|settingsType: custom
name: value
name: value
bwa-mem-fastq1.fq
bwa-mem-fastq2.fq
value