annotate trimmer.xml @ 2:a8fd651dcbd9 draft

"planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
author nick
date Fri, 27 May 2022 22:46:30 +0000
parents 7ef568cbf13b
children d8b86dc67f84
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
1 <?xml version="1.0"?>
2
a8fd651dcbd9 "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 1
diff changeset
2 <tool id="sequence_content_trimmer" version="0.2.2" name="Sequence Content Trimmer">
0
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
3 <description>trim reads based on certain bases</description>
1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
4 <command detect_errors="exit_code"><![CDATA[
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
5 #if $paired.is_paired and (('fasta' in $input1.extension and 'fastq' in $input2.extension) or \
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
6 ('fastq' in $input1.extension and 'fasta' in $input2.extension))
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
7 echo 'Both input files must be either fastq or fasta (no mixing the two).' >&2
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
8 #else
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
9 trimmer.py $input1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
10 #if $paired.is_paired:
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
11 $input2 $output1 $output2
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
12 #end if
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
13 #if $input1.extension in ('fastq', 'fastqsanger', 'fastqillumina', 'fastqsolexa')
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
14 -f fastq
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
15 #elif $input1.extension == 'fasta'
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
16 -f fasta
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
17 #else
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
18 -f $input1.extension
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
19 #end if
2
a8fd651dcbd9 "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 1
diff changeset
20 -b '$bases' -t $thres -w $win_len $invert
1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
21 #if $min_len.has_min_len:
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
22 -m $min_len.value
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
23 #end if
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
24 #if not $paired.is_paired:
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
25 > $output1
0
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
26 #end if
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
27 #end if
1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
28 ]]>
0
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
29 </command>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
30 <inputs>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
31 <conditional name="paired">
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
32 <param name="is_paired" type="select" label="Paired reads?">
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
33 <option value="" selected="True">Unpaired</option>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
34 <option value="true">Paired</option>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
35 </param>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
36 <when value="true">
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
37 <param name="input1" type="data" format="fasta,fastq" label="Input reads (mate 1)"/>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
38 <param name="input2" type="data" format="fasta,fastq" label="Input reads (mate 2)"/>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
39 </when>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
40 <when value="">
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
41 <param name="input1" type="data" format="fasta,fastq" label="Input reads"/>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
42 </when>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
43 </conditional>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
44 <param name="bases" type="text" value="N" label="Bases to filter on"/>
1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
45 <param name="thres" type="float" value="0.5" min="0" max="1" label="Frequency threshold" help="Trim when the frequency of filter bases (or non-filter bases, if inverting) exceeds this value."/>
0
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
46 <param name="win_len" type="integer" value="10" min="1" label="Size of the window"/>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
47 <param name="invert" type="boolean" truevalue="--invert" falsevalue="" checked="False" label="Invert filter bases" help="Trim when the frequency of bases NOT in the &quot;filter bases&quot; list exceeds the threshold."/>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
48 <conditional name="min_len">
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
49 <param name="has_min_len" type="boolean" truevalue="true" falsevalue="" checked="False" label="Set a minimum read length"/>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
50 <when value="true">
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
51 <param name="value" type="integer" value="10" min="0" label="Minimum read length" help="Reads trimmed to less than this length will be omitted from the output. Pairs will be preserved: both must exceed this threshold to be kept."/>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
52 </when>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
53 </conditional>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
54 </inputs>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
55 <outputs>
1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
56 <data name="output1" format_source="input1" label="$tool.name on $on_string"/>
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
57 <data name="output2" format_source="input2" label="$tool.name on $on_string (mate 2)">
0
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
58 <filter>paired['is_paired']</filter>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
59 </data>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
60 </outputs>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
61
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
62 <help>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
63
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
64 .. class:: infomark
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
65
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
66 **What it does**
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
67
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
68 This tool trims the 3' ends of reads based on the presence of the given bases. For instance, trim when N's are encountered or when the GC content exceeds a certain frequency.
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
69
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
70
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
71 .. class:: infomark
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
72
1
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
73 **How it works**
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
74
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
75 This will slide along the read with a window, and trim once the frequency of filter bases exceeds the frequency threshold (unless "Invert filter bases" is enabled, in which case it will trim once non-filter bases exceed the threshold).
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
76
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
77 The trim point will be just before the first (leftmost) filter base in the final window (the one where the frequency exceeded the threshold).
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
78
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
79
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
80 .. class:: infomark
7ef568cbf13b "planemo upload commit 9a5d91c35d21411a0733cd233ca588ff358aabd8-dirty"
nick
parents: 0
diff changeset
81
0
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
82 **Input**
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
83
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
84 The inputs can be in the following formats: fasta, fastq, fastqsanger, fastqillumina, and fastqsolexa. Both must be either a fasta or fastq type (no mixing fastq and fasta).
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
85
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
86 </help>
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
87
c824894e0827 planemo upload commit bb6c51fa3c8501e779f3b266d17f4900d98fc431-dirty
nick
parents:
diff changeset
88 </tool>