Mercurial > repos > bgruening > trim_galore
diff trim_galore.xml @ 16:cd7e644cae1d draft default tip
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/trim_galore commit 276a0ec327f5369c16563696047f0d31577c353f"
author | bgruening |
---|---|
date | Fri, 08 Oct 2021 09:57:52 +0000 |
parents | 084bbd8ba7b8 |
children |
line wrap: on
line diff
--- a/trim_galore.xml Tue Jul 30 06:26:49 2019 -0400 +++ b/trim_galore.xml Fri Oct 08 09:57:52 2021 +0000 @@ -1,50 +1,10 @@ -<tool id="trim_galore" name="Trim Galore!" version="0.6.3" profile="17.01"> - <!-- Wrapper compatible with Trim Galore! version 0.6.3 --> +<tool id="trim_galore" name="Trim Galore!" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01"> <description>Quality and adapter trimmer of reads</description> <macros> - <macro name="adapter_trimming"> - <conditional name="trimming"> - <param name="trimming_select" type="select" label="Adapter sequence to be trimmed"> - <option value="">Automatic detection</option> - <option value="--illumina">Illumina universal</option> - <option value="--nextera">Nextera transposase</option> - <option value="--small_rna">Illumina small RNA adapters</option> - <option value="user">User defined adapter sequence</option> - </param> - <when value=""/> - <when value="--illumina"/> - <when value="--nextera"/> - <when value="--small_rna"/> - <when value="user"> - <param name="adapter" type="text" value="AGATCGGAAGAGC" label="Adapter sequence to be trimmed off"> - <validator type="regex" message="Adapter sequence must contain DNA characters only (A,C,T,G or N)">^[ACTGNactgn]*$</validator> - </param> - <yield/> - </when> - </conditional> - </macro> - <macro name="paired_adapter_trimming"> - <expand macro="adapter_trimming"> - <param name="adapter2" type="text" optional="True" value="" label="Adapter sequence to be trimmed off read 2"> - <validator type="regex" message="Adapter sequence must contain DNA characters only (A,C,T,G or N)">^[ACTGNactgn]*$</validator> - </param> - </expand> - <param name="trim1" type="boolean" truevalue="--trim1" falsevalue="" checked="False" label="Trims 1 bp off every read from its 3' end." help="" /> - <param name="three_prime_clip_R1" type="integer" value="" optional="True" label="Remove N bp from the 3' end of read 1"> - <help>Instructs Trim Galore! to remove N bp from the 3' end of read 1 after adapter/quality trimming has been performed. - This may remove some unwanted bias from the 3' end that is not directly related to adapter sequence or basecall quality. - (--three_prime_clip_R1)</help> - </param> - <param name="three_prime_clip_R2" type="integer" value="" optional="True" label="Remove N bp from the 3' end of read 2"> - <help>Instructs Trim Galore! to remove N bp from the 3' end of read 2 after - adapter/quality trimming has been performed. This may remove some unwanted bias from - the 3' end that is not directly related to adapter sequence or basecall quality.</help> - </param> - </macro> + <import>macros.xml</import> </macros> - <requirements> - <requirement type="package" version="0.6.3">trim-galore</requirement> - </requirements> + <expand macro="requirements" /> + <expand macro="xrefs"/> <version_command> trim_galore --version </version_command> @@ -92,6 +52,9 @@ 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 @@ -177,6 +140,18 @@ --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 @@ -188,12 +163,37 @@ 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 ]]></command> <inputs> <!-- Input Parameters --> @@ -226,7 +226,7 @@ </conditional> <conditional name="params"> - <param name="settingsType" type="select" label="Trim Galore! advanced settings" help="You can use the default settings or set custom values for any of Trim Galore!'s parameters."> + <param name="settingsType" type="select" label="Advanced settings" help="You can use the default settings or set custom values for any of Trim Galore!'s parameters."> <option value="default">Use defaults</option> <option value="custom">Full parameter list</option> </param> @@ -261,7 +261,7 @@ </conditional> <!-- params --> <conditional name="rrbs"> - <param name="settingsType" type="select" label="RRBS specific settings"> + <param name="settingsType" type="select" label="RRBS specific settings" help="You can use the default settings or set custom values for any of Trim Galore!'s parameters."> <option value="default">Use defaults (no RRBS)</option> <option value="custom">Full parameter list</option> </param> @@ -274,35 +274,84 @@ label="Screen quality-trimmed sequences for 'CAA' or 'CGA' at the start of the read and, if found, removes the first two basepairs" /> </when> <!-- full --> </conditional> <!-- params --> + <!--Trimming options--> + <conditional name="trimming"> + <param name="settingsType" type="select" label="Trimming settings" help="You can use the default settings or set custom values for any of Trim Galore!'s parameters."> + <option value="default">Use defaults</option> + <option value="custom">Full parameter list</option> + </param> + <when value="default" /> + <when value="custom"> + <param argument="--hardtrim5" type="integer" min="1" optional="true" label="Hard-trimm 5' ends" help="Instead of performing adapter-/quality trimming, this option will simply hard-trim sequences to N bp at the 5'-end. Once hard-trimming of files is complete, it will exit" /> + <param argument="--hardtrim3" type="integer" min="1" optional="true" label="Hard-trimm 3' ends" help="Instead of performing adapter-/quality trimming, this option will simply hard-trim sequences to N bp at the 3'-end. Once hard-trimming of files is complete, it will exit" /> + <param argument="--clock" type="boolean" truevalue="--clock" falsevalue="" label="Mouse epigenetic clock mode" help="In this mode, reads are trimmed in a specific way that is currently used for the Mouse Epigenetic Clock"/> + <param argument="--polyA" type="boolean" truevalue="--polyA" falsevalue="" label="Remove polyA tails" help="This is a new, still experimental, trimming mode to identify and remove poly-A tails from sequences" /> + </when> + </conditional> </inputs> <outputs> <data format_source="input_singles" name="trimmed_reads_single" from_work_dir="input_1_trimmed.fq" label="${tool.name} on ${on_string}: trimmed reads"> <filter>singlePaired['sPaired'] == "single"</filter> + <filter>trimming['hardtrim3'] == '' and trimming['hardtrim5'] == ''</filter> </data> + <data format_source="input_singles" name="hardtrim_reads_single" from_work_dir="input_1_hardtrim.fq" label="${tool.name} on ${on_string}: hard-trimmed reads"> + <filter>singlePaired['sPaired'] == "single"</filter> + <filter>trimming['settingsType'] == "custom"</filter> + <filter>trimming['hardtrim3'] != '' or trimming['hardtrim5'] != ''</filter> + </data> + + <!--Trimmed reads paired collection--> <collection name="trimmed_reads_paired_collection" type="paired" label="${tool.name} on ${on_string}: paired reads"> <data name="forward" format_source="input_mate_pairs['forward']" from_work_dir="input_1_val_1.fq" /> <data name="reverse" format_source="input_mate_pairs['forward']" from_work_dir="input_2_val_2.fq" /> <filter>singlePaired['sPaired'] == "paired_collection"</filter> + <filter>trimming['hardtrim3'] == '' and trimming['hardtrim5'] == ''</filter> + <filter>trimming['clock'] == False</filter> </collection> - + + <!--Unpaired reads collection--> <collection name="trimmed_reads_unpaired_collection" type="paired" label="${tool.name} on ${on_string}: unpaired reads"> <data name="forward" format_source="input_mate_pairs['forward']" from_work_dir="input_1_unpaired_1.fq" /> <data name="reverse" format_source="input_mate_pairs['forward']" from_work_dir="input_2_unpaired_2.fq" /> <filter>params['settingsType'] == "custom"</filter> <filter>params['retain_unpaired']['retain_unpaired_select'] == "retain_unpaired_output"</filter> <filter>singlePaired['sPaired'] == "paired_collection"</filter> + <filter>trimming['hardtrim3'] == '' and trimming['hardtrim5'] == ''</filter> </collection> + <!--Hard-trimmed reads paired collection--> + <collection name="hardtrimmed_reads_paired_collection" type="paired" label="${tool.name} on ${on_string}: hard-trimmed paired reads"> + <data name="forward" format_source="input_mate_pairs['forward']" from_work_dir="input_1_hardtrim.fq" /> + <data name="reverse" format_source="input_mate_pairs['forward']" from_work_dir="input_2_hardtrim.fq" /> + <filter>singlePaired['sPaired'] == "paired_collection"</filter> + <filter>trimming['settingsType'] == "custom"</filter> + <filter>trimming['hardtrim3'] or trimming['hardtrim5']</filter> + </collection> + + <!--Mouse epigenetic reads paired collection--> + <collection name="mouse_reads_paired_collection" type="paired" label="${tool.name} on ${on_string}: MEC paired reads"> + <data name="forward" format_source="input_mate_pairs['forward']" from_work_dir="input_1.clock_UMI.R1.fq" /> + <data name="reverse" format_source="input_mate_pairs['forward']" from_work_dir="input_2.clock_UMI.R2.fq" /> + <filter>singlePaired['sPaired'] == "paired_collection"</filter> + <filter>trimming['settingsType'] == "custom"</filter> + <filter>trimming['clock']</filter> + </collection> + + <data format_source="input_mate1" name="trimmed_reads_pair1" from_work_dir="input_1_val_1.fq" label="${tool.name} on ${on_string}: trimmed reads pair 1"> <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>trimming['hardtrim3'] == '' and trimming['hardtrim5'] == ''</filter> + <filter>trimming['clock'] == False</filter> </data> <data format_source="input_mate2" name="trimmed_reads_pair2" from_work_dir="input_2_val_2.fq" label="${tool.name} on ${on_string}: trimmed reads pair 2"> <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>trimming['hardtrim3'] == '' and trimming['hardtrim5'] == ''</filter> + <filter>trimming['clock'] == False</filter> </data> <data format_source="input_mate1" name="unpaired_reads_1" from_work_dir="input_1_unpaired_1.fq" @@ -318,6 +367,36 @@ <filter>params['retain_unpaired']['retain_unpaired_select'] == "retain_unpaired_output"</filter> <filter>singlePaired['sPaired'] == "paired"</filter> </data> + <!--Hard-trimmed paired reads--> + <data format_source="input_mate1" name="hardtrimmed_reads_pair1" from_work_dir="input_1_hardtrim.fq" + label="${tool.name} on ${on_string}: hard-trimmed reads pair 1"> + <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>trimming['settingsType'] == 'custom'</filter> + <filter>trimming['hardtrim3'] or trimming['hardtrim5']</filter> + </data> + + <data format_source="input_mate2" name="hardtrimmed_reads_pair2" from_work_dir="input_2_hardtrim.fq" + label="${tool.name} on ${on_string}: hard-trimmed reads pair 2"> + <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>trimming['settingsType'] == 'custom'</filter> + <filter>trimming['hardtrim3'] or trimming['hardtrim5']</filter> + </data> + + <!--Mouse epigenetic mode paired reads--> + <data format_source="input_mate1" name="mec_reads_pair1" from_work_dir="input_1.clock_UMI.R1.fq" + label="${tool.name} on ${on_string}: MEC reads pair 1"> + <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>trimming['settingsType'] == 'custom'</filter> + <filter>trimming['clock']</filter> + </data> + + <data format_source="input_mate2" name="mec_reads_pair2" from_work_dir="input_2.clock_UMI.R2.fq" + label="${tool.name} on ${on_string}: MEC reads pair 2"> + <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>trimming['settingsType'] == 'custom'</filter> + <filter>trimming['clock']</filter> + </data> + <data format="txt" name="report_file" label="${tool.name} on ${on_string}: report file"> <filter>params['settingsType'] == "custom"</filter> <filter>params['report'] == True</filter> @@ -325,50 +404,50 @@ </outputs> <tests> - <test> + <test expect_num_outputs="2"> <param name="input_singles" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" /> <param name="sPaired" value="single" /> <param name="settingsType" value="custom" /> <param name="report" value="true" /> <output name="trimmed_reads_single" file="sanger_full_range_results1.fastqsanger" ftype="fastqsanger"/> - <output name="report_file" file="sanger_full_range_report_results1.txt" ftype="txt" lines_diff="8" /> + <output name="report_file" file="sanger_full_range_report_results1.txt" ftype="txt" lines_diff="12" /> </test> - <test> + <test expect_num_outputs="2"> <param name="input_singles" value="sanger_full_range_original_sanger.fastq.gz" ftype="fastqsanger.gz" /> <param name="sPaired" value="single" /> <param name="settingsType" value="custom" /> <param name="report" value="true" /> <output name="trimmed_reads_single" file="sanger_full_range_results1.fastq.gz" ftype="fastqsanger.gz" decompress="true" /> - <output name="report_file" file="sanger_full_range_report_results1gz.txt" ftype="txt" lines_diff="9" /> + <output name="report_file" file="sanger_full_range_report_results1gz.txt" ftype="txt" lines_diff="12" /> </test> - <test> + <test expect_num_outputs="1"> <param name="input_singles" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" /> <param name="sPaired" value="single" /> <param name="trimming_select" value="--illumina" /> <output name="trimmed_reads_single" file="sanger_full_range_results2.fastqsanger" ftype="fastqsanger"/> </test> - <test> + <test expect_num_outputs="1"> <param name="input_singles" value="sanger_full_range_original_sanger.fastq.gz" ftype="fastqsanger.gz" /> <param name="sPaired" value="single" /> <param name="trimming_select" value="--illumina" /> <output name="trimmed_reads_single" file="sanger_full_range_results2.fastq.gz" ftype="fastqsanger.gz" decompress="true" /> </test> - <test> + <test expect_num_outputs="1"> <param name="input_singles" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" /> <param name="sPaired" value="single" /> <param name="adapter" value="AAAGAGC" /> <output name="trimmed_reads_single" file="sanger_full_range_results3.fastqsanger" ftype="fastqsanger"/> </test> - <test> + <test expect_num_outputs="1"> <param name="input_singles" value="sanger_full_range_original_sanger.fastq.gz" ftype="fastqsanger.gz" /> <param name="sPaired" value="single" /> <param name="adapter" value="AAAGAGC" /> <output name="trimmed_reads_single" file="sanger_full_range_results3.fastq.gz" ftype="fastqsanger.gz" decompress="true" /> </test> - <test> + <test expect_num_outputs="3"> <param name="input_mate1" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> <param name="input_mate2" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> <param name="sPaired" value="paired" /> @@ -378,7 +457,7 @@ <output name="trimmed_reads_pair2" file="paired_example_pair2_results2.fastqsanger" ftype="fastqsanger"/> <output name="report_file" file="paired_example_results2.txt" ftype="txt" lines_diff="24" /> </test> - <test> + <test expect_num_outputs="3"> <param name="input_mate1" value="bwa-mem-fastq1.fq.gz" ftype="fastqsanger.gz" /> <param name="input_mate2" value="bwa-mem-fastq2.fq.gz" ftype="fastqsanger.gz" /> <param name="sPaired" value="paired" /> @@ -389,7 +468,7 @@ <output name="report_file" file="paired_example_results2gz.txt" ftype="txt" lines_diff="24" /> </test> - <test> + <test expect_num_outputs="7"> <param name="input_mate_pairs"> <collection type="paired"> <element name="forward" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> @@ -414,7 +493,7 @@ <element name="reverse" file="paired_collection_example_unpair2_results3.fastqsanger" ftype="fastqsanger"/> </output_collection> </test> - <test> + <test expect_num_outputs="7"> <param name="input_mate_pairs"> <collection type="paired"> <element name="forward" value="bwa-mem-fastq1.fq.gz" ftype="fastqsanger.gz" /> @@ -439,6 +518,54 @@ <element name="reverse" file="paired_collection_example_unpair2_results3.fastq.gz" ftype="fastqsanger.gz" decompress="true" /> </output_collection> </test> + <!--Test hard-trim option--> + <test expect_num_outputs="2"> + <param name="input_mate1" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> + <param name="input_mate2" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> + <param name="sPaired" value="paired" /> + <conditional name="trimming"> + <param name="settingsType" value="custom" /> + <param name="hardtrim3" value="20"/> + </conditional> + <output name="hardtrimmed_reads_pair1" file="paired_hardtrimmed3_pair1_.fastqsanger" ftype="fastqsanger"/> + <output name="hardtrimmed_reads_pair1" file="paired_hardtrimmed3_pair2_.fastqsanger" ftype="fastqsanger"/> + </test> + <test expect_num_outputs="2"> + <param name="input_mate1" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> + <param name="input_mate2" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> + <param name="sPaired" value="paired" /> + <conditional name="trimming"> + <param name="settingsType" value="custom" /> + <param name="hardtrim5" value="20"/> + </conditional> + <output name="hardtrimmed_reads_pair1" file="paired_hardtrimmed5_pair1_.fastqsanger" ftype="fastqsanger"/> + <output name="hardtrimmed_reads_pair1" file="paired_hardtrimmed5_pair2_.fastqsanger" ftype="fastqsanger"/> + </test> + + <!--Test mouse epigenetic clock option--> + <test expect_num_outputs="2"> + <param name="input_mate1" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> + <param name="input_mate2" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> + <param name="sPaired" value="paired" /> + <conditional name="trimming"> + <param name="settingsType" value="custom" /> + <param name="clock" value="true"/> + </conditional> + <output name="mec_reads_pair1" file="mec_reads_pair1.fastqsanger" ftype="fastqsanger"/> + <output name="mec_reads_pair2" file="mec_reads_pair2.fastqsanger" ftype="fastqsanger"/> + </test> + <!--Test polyA option--> + <test expect_num_outputs="2"> + <param name="input_mate1" value="bwa-mem-fastq1.fq" ftype="fastqsanger" /> + <param name="input_mate2" value="bwa-mem-fastq2.fq" ftype="fastqsanger" /> + <param name="sPaired" value="paired" /> + <conditional name="trimming"> + <param name="settingsType" value="custom" /> + <param name="polyA" value="true"/> + </conditional> + <output name="trimmed_reads_pair1" file="trimmed_polyA_reads_pair1.fastqsanger" ftype="fastqsanger"/> + <output name="trimmed_reads_pair1" file="trimmed_polyA_reads_pair2.fastqsanger" ftype="fastqsanger"/> + </test> </tests> <help><![CDATA[ **What it does** @@ -452,7 +579,6 @@ * Trim Galore! can remove sequences if they become too short during the trimming process. For paired-end files Trim Galore! removes entire sequence pairs if one (or both) of the two reads became shorter than the set length cutoff. Reads of a read-pair that are longer than a given threshold but for which the partner read has become too short can optionally be written out to single-end files. This ensures that the information of a read pair is not lost entirely if only one read is of good quality * Trim Galore! can trim paired-end files by 1 additional bp from the 3' end of all reads to avoid problems with invalid alignments with Bowtie 1 -.. _Trim Galore!: http://www.bioinformatics.babraham.ac.uk/projects/trim_galore/ It is developed by Felix Krueger at the Babraham Institute. @@ -591,6 +717,54 @@ | Selecting this option for non-directional RRBS libraries will screen quality-trimmed sequences for 'CAA' or 'CGA' at the start of the read and, if found, removes the first two basepairs. Like with the option '--rrbs' this avoids using cytosine positions that were filled-in during the end-repair step. '--non_directional' requires '--rrbs' to be specified as well. | | *option --non_directional* + +---- + +**Trim specific seetings** + +* **Hard-trimming mode** + + | Instead of performing adapter-/quality trimming, this option will simply hard-trim sequences to N bp at the 5' or 3' -end. + | + | *options -hardtrim5 and -hardtrim3* + +* **Mouse Epigenetic Clock mode** + + | In this mode, reads are trimmed in a specific way that is currently used for the Mouse Epigenetic Clock (see here: `Multi-tissue DNA methylation age predictor in mouse`_). Following this, Trim Galore will exit. + | + | In it's current implementation, the dual-UMI RRBS reads come in the following format: + | + | Read 1 5' UUUUUUUU CAGTA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF TACTG UUUUUUUU 3' + | Read 2 3' UUUUUUUU GTCAT FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ATGAC UUUUUUUU 5' + | + | Where UUUUUUUU is a random 8-mer unique molecular identifier (UMI), CAGTA is a constant region, and FFFFFFF... is the actual RRBS-Fragment to be sequenced. The UMIs for Read 1 (R1) and Read 2 (R2), as well as the fixed sequences (F1 or F2), are written into the read ID and removed from the actual sequence. + | + | *option --clock* + +* **PolyA mode** + + | This is a new, still experimental, trimming mode to identify and remove poly-A tails from sequences. When selected, Trim Galore attempts to identify from the first supplied sample whether sequences contain more often a stretch of either 'AAAAAAAAAA' or 'TTTTTTTTTT'. This determines if Read 1 of a paired-end end file, or single-end files, are trimmed for PolyA or PolyT. In case of paired-end sequencing, Read2 is trimmed for the complementary base from the start of the reads. + | + | PLEASE NOTE: The poly-A trimming mode expects that sequences were both adapter and quality trimmed before looking for Poly-A tails, and it is the user's responsibility to carry out an initial round of trimming. + | + | *option --polyA* + +* **Amplicon mode** + + | This is a special mode of operation for paired-end data, such as required for the IMPLICON method, where a UMI sequence is getting transferred from the start of Read 2 to the readID of both reads. Following this, Trim Galore will exit. + | + | In it's current implementation, the UMI carrying reads come in the following format: + | + | Read 1 5' FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3' + | Read 2 3' UUUUUUUUFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5' + | + | Where UUUUUUUU is a random 8-mer unique molecular identifier (UMI) and FFFFFFF... is the actual fragment to be sequenced. + | + | *option --amplicon* + +.. _Trim Galore!: http://www.bioinformatics.babraham.ac.uk/projects/trim_galore/ +.. _Multi-tissue DNA methylation age predictor in mouse: https://genomebiology.biomedcentral.com/articles/10.1186/s13059-017-1203-5 + ]]></help> - <citations></citations> + <expand macro="citations" /> </tool>