comparison seqPrep.xml @ 0:f25733322c54 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/iqtree/ commit 85099b149e64f24060848cb04c680e0ac8061d76"
author galaxyworks
date Fri, 26 Feb 2021 04:26:20 +0000
parents
children d1130c342dc9
comparison
equal deleted inserted replaced
-1:000000000000 0:f25733322c54
1 <tool id="seqprep" name="SeqPrep" version="0.2.0">
2 <description>merge paired end Illumina reads</description>
3 <requirements>
4 <requirement type="package" version="1.3.2">seqprep</requirement>
5 <requirement type="package" version="3.7">python</requirement>
6 </requirements>
7 <stdio>
8 <exit_code range="1:" level="fatal" description="Error" />
9 </stdio>
10 <command><![CDATA[
11 SeqPrep
12 ## Required arguments
13 -f '$f'
14 -r '$r'
15 -1 one.gz
16 -2 two.gz
17 ## General arguments
18 #if $save_discarded
19 -3 three.gz
20 -4 four.gz
21 #end if
22 #if $f.extension == "fastqsolexa"
23 -6
24 #end if
25 #if $q
26 -q $q
27 #end if
28 #if $L
29 -L $L
30 #end if
31 ## Arguments for Adapter/Primer Trimming (Optional)
32 #if $A
33 -A $A
34 #end if
35 #if $B
36 -B $B
37 #end if
38 #if $extended_options.extended_select
39 #if $extended_options.O
40 -O $extended_options.O
41 #end if
42 #if $extended_options.M
43 -M $extended_options.M
44 #end if
45 #if $extended_options.N
46 -N $extended_options.N
47 #end if
48 #if $extended_options.b
49 -b $extended_options.b
50 #end if
51 #if $extended_options.Q
52 -Q $extended_options.Q
53 #end if
54 #if $extended_options.t
55 -t $extended_options.t
56 #end if
57 #if $extended_options.e
58 -e $extended_options.e
59 #end if
60 #if $extended_options.Z
61 -Z $extended_options.Z
62 #end if
63 #if $extended_options.w
64 -w $extended_options.w
65 #end if
66 #if $extended_options.W
67 -W $extended_options.W
68 #end if
69 #if $extended_options.p
70 -p $extended_options.p
71 #end if
72 #if $extended_options.P
73 -P $extended_options.P
74 #end if
75 #if $extended_options.X
76 -X $extended_options.X
77 #end if
78 #end if
79 ## Optional Arguments for Merging:
80 #if $merge.merge_select
81 #if $merge.y
82 -y $merge.y
83 #end if
84 #if $merge.o
85 -o $merge.o
86 #end if
87 #if $merge.m
88 -m $merge.m
89 #end if
90 #if $merge.n
91 -n $merge.n
92 #end if
93 -s merge.gz
94 #if $merge.lengths_select
95 && zcat -f merge.gz > '$s'
96 && cat '$s' | python '$__tool_directory__/seqlens.py' > '$s_lengths'
97 #end if
98 && zcat -f one.gz > '$one'
99 && zcat -f two.gz > '$two'
100 #if $save_discarded
101 && zcat -f three.gz > '$three'
102 && zcat -f found.gz > '$four'
103 #end if
104 #end if
105 ]]></command>
106 <inputs>
107 <param name="f" type="data" format="fastq,fastqillumina,fastqsanger,fastqsolexa" label="Forward reads" />
108 <param name="r" type="data" format="fastq,fastqillumina,fastqsanger,fastqsolexa" label="Reverse reads" />
109 <param name="save_discarded" type="boolean" checked="false" truevalue="True" falsevalue="False" label="Save discarded reads?"/>
110 <param name="A" type="text" value="" optional="true" label="Forward read primer/adapter sequence to trim as it would appear at the end of a read" help="
111 default (genomic non-multiplexed adapter1) = AGATCGGAAGAGCGGTTCAG. See help for more details" />
112 <param name="B" type="text" value="" optional="true" label="Reverse read primer/adapter sequence to trim as it would appear at the end of a read" help="
113 default (genomic non-multiplexed adapter2) = AGATCGGAAGAGCGTCGTGT. See help for more details" />
114 <param name="q" type="integer" min="1" value="" optional="true" label="Quality score cutoff for mismatches to be counted in overlap" help="Default = 13" />
115 <param name="L" type="integer" min="1" value="" optional="true" label="Minimum length of a trimmed or merged read to print it" help="Default = 30" />
116 <conditional name="extended_options">
117 <param name="extended_select" type="boolean" checked="false" truevalue="True" falsevalue="" label="Show extended options?" />
118 <when value="True">
119 <param name="O" type="integer" min="1" value="" optional="true" label="Minimum overall base pair overlap with adapter sequence to trim" help="Default = 10" />
120 <param name="M" type="float" min="0" max="1" value="" optional="true" label="maximum fraction of good quality mismatching bases for primer/adapter overlap" help="Default = 0.02" />
121 <param name="N" type="float" min="0" max="1" value="" optional="true" label="Minimum fraction of matching bases for primer/adapter overlap" help="Default = 0.87" />
122 <param name="b" type="integer" min="1" value="" optional="true" label="Adapter alignment band-width" help="Default = 50" />
123 <param name="Q" type="integer" min="0" value="" optional="true" label="Adapter alignment gap-open" help="Default = 8" />
124 <param name="t" type="integer" min="0" value="" optional="true" label="Adapter alignment gap-extension" help="Default = 2" />
125 <param name="e" type="integer" min="0" value="" optional="true" label="Adapter alignment gap-end" help="Default = 2" />
126 <param name="Z" type="integer" min="0" value="" optional="true" label="Adapter alignment minimum local alignment score cutoff" help="Roughly (2*num_hits) - (num_gaps*gap_open) - (num_gaps*gap_close) - (gap_len*gap_extend) - (2*num_mismatches)]. Default = 26" />
127 <param name="w" type="integer" min="1" value="" optional="true" label="Read alignment band-width" help="Default = 50" />
128 <param name="W" type="integer" min="0" value="" optional="true" label="Read alignment gap-open" help="Default = 26" />
129 <param name="p" type="integer" min="0" value="" optional="true" label="Read alignment gap-extension" help="Default = 9" />
130 <param name="P" type="integer" min="0" value="" optional="true" label="Read alignment gap-end" help="Default = 5" />
131 <param name="X" type="float" min="0" max="1" value="" optional="true" label="Read alignment maximum fraction gap cutoff" help="Default = 0.125" />
132 </when>
133 <when value="">
134 </when>
135 </conditional>
136 <conditional name="merge">
137 <param name="merge_select" type="boolean" checked="true" truevalue="True" falsevalue="" label="Merge overlapping reads and output merged reads?" />
138 <when value="True">
139 <param name="y" type="text" value="" optional="true" label="Maximum quality score in merged output" help="In phred 33. Default (']') is 60" />
140 <param name="o" type="integer" min="1" value="" optional="true" label="Minimum overall base pair overlap to merge two reads" help="Default = 15" />
141 <param name="m" type="float" value="" min="0" max="1" optional="true" label="Maximum fraction of good quality mismatching bases to overlap reads" help="Default = 0.02" />
142 <param name="n" type="text" value="" min="0" max="1" optional="true" label="Minimum fraction of matching bases to overlap reads" help="Default = 0.9" />
143 <param name="lengths_select" type="boolean" checked="true" truevalue="True" falsevalue="" label="Output stats of sequence lengths?" />
144 </when>
145 <when value="">
146 </when>
147 </conditional>
148 </inputs>
149 <outputs>
150 <data name="one" format="fastqsanger" label="${tool.name} on ${on_string}: forward reads" />
151 <data name="two" format="fastqsanger" label="${tool.name} on ${on_string}: reverse reads" />
152 <data name="s" format="fastqsanger" label="${tool.name} on ${on_string}: merged reads">
153 <filter>merge["merge_select"] is True</filter>
154 </data>
155 <data name="s_lengths" format="tabular" label="${tool.name} on ${on_string}: histogram of lengths">
156 <filter>merge["lengths_select"] is True</filter>
157 </data>
158 <data name="three" format="fastqsanger" label="${tool.name} on ${on_string}: discarded forward reads">
159 <filter>save_discarded is True</filter>
160 </data>
161 <data name="four" format="fastqsanger" label="${tool.name} on ${on_string}: discarded reverse reads">
162 <filter>save_discarded is True</filter>
163 </data>
164 </outputs>
165 <tests>
166 <test>
167 <param name="f" value="read1.fastqsanger" />
168 <param name="r" value="read2.fastqsanger" />
169 <output name="one">
170 <assert_contents>
171 <has_text text="@M05473:M05473:000000000-JD49J:1:1101:10000:10901 1:N:0:TAGGAGCTGCCTTAAC" />
172 </assert_contents>
173 </output>
174 </test>
175 </tests>
176 <help>
177 **What it does**
178
179 SeqPrep is a program to merge paired end Illumina reads that are overlapping into a single longer read. It may also just be used for its adapter trimming feature without doing any paired end overlap. When an adapter sequence is present, that means that the two reads must overlap (in most cases) so they are forcefully merged. When reads do not have adapter sequence they must be treated with care when doing the merging, so a much more specific approach is taken. The default parameters were chosen with specificity in mind, so that they could be ran on libraries where very few reads are expected to overlap. It is always safest though to save the overlapping procedure for libraries where you have some prior knowledge that a significant portion of the reads will have some overlap.
180
181 Before running SeqPrep make sure to check that the program's defaults are indeed the adapters you are looking for. Try copying the default forward adapter from this file and grep it against your reads doing a word count, also try the same with the reverse adapter with grep. You should see some hits. You can also try using (and validating with grep) -A GATCGGAAGAGCACACG -B AGATCGGAAGAGCGTCGT as parameters. To find a list of Illumina adapter sequences you should write to Illumina tech support TechSupport@illumina.com (they do not like people to share the list of sequences outside of their institution).
182
183 You can also try to search online for Illumina read primers, of course.
184
185 See more details on SeqPrep github repository: https://github.com/jstjohn/SeqPrep
186
187 **License**
188
189 SeqPrep is copyrighted to John St. John.
190
191 This wrapper is copyrighted by Lionel Guy, and is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
192
193 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
194
195 You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
196 </help>
197 <citations>
198 <citation type="bibtex">
199 @online{seqpre,
200 author = {St John, John},
201 title = {seqprep},
202 year = 2016,
203 url = {https://github.com/jstjohn/SeqPrep},
204 urldate = {2016-10-04}
205 }
206 </citation>
207 </citations>
208 </tool>