7
|
1 <tool id="repeatexplorer2" name="RepeatExplorer2 clustering: " version="2.3.8.2" >
|
0
|
2 <stdio>
|
|
3 <regex match="lastdb: can't open file: NEAR" source="stderr" level="fatal" description="Version of last is too old, use ver 956 or higher\n" />
|
|
4 <regex match="Traceback" source="stderr" level="fatal" description="Unknown error" />
|
|
5 <regex match="error" source="stderr" level="fatal" description="Unknown error" />
|
|
6 <regex match="Warning" source="stderr" level="warning" description="Unknown error" />
|
|
7 <exit_code range="1:" level="fatal" description="Error" />
|
|
8 </stdio>
|
2
|
9 <description>Improved version or repeat discovery and characterization using graph-based sequence clustering</description>
|
0
|
10 <requirements>
|
|
11 <requirement type="package">last</requirement>
|
|
12 <requirement type="package">imagemagick</requirement>
|
|
13 <requirement type="package">mafft</requirement>
|
|
14 <requirement type="package">blast</requirement>
|
3
|
15 <requirement type="package" version="0.9.29" >diamond</requirement>
|
0
|
16 <requirement type="package">blast-legacy</requirement>
|
|
17 <requirement type="package">r-igraph</requirement>
|
|
18 <requirement type="package">r-data.tree</requirement>
|
|
19 <requirement type="package">r-stringr</requirement>
|
|
20 <requirement type="package">r-r2html</requirement>
|
|
21 <requirement type="package">r-hwriter</requirement>
|
|
22 <requirement type="package">r-dt</requirement>
|
|
23 <requirement type="package">r-scales</requirement>
|
|
24 <requirement type="package">r-plotrix</requirement>
|
|
25 <requirement type="package">r-png</requirement>
|
|
26 <requirement type="package">r-plyr</requirement>
|
|
27 <requirement type="package">r-dplyr</requirement>
|
|
28 <requirement type="package">r-optparse</requirement>
|
|
29 <requirement type="package">r-dbi</requirement>
|
|
30 <requirement type="package">r-rsqlite</requirement>
|
|
31 <requirement type="package">r-rserve</requirement>
|
|
32 <requirement type="package">bioconductor-biostrings</requirement>
|
6
|
33 <requirement type="package" version="2.3.8.1">repex_tarean</requirement>
|
0
|
34 <requirement type="set_environment">REPEX</requirement>
|
|
35 <requirement type="set_environment">REPEX_VERSION</requirement>
|
|
36 <requirement type="package" version="0.9.1" >pyrserve</requirement>
|
|
37 </requirements>
|
|
38 <command >
|
|
39 export PYTHONHASHSEED=0;
|
3
|
40 \${REPEX}/seqclust --sample ${read_sampling.sample} --output_dir=tarean_output --logfile=${log} --cleanup $paired --taxon $taxon
|
0
|
41
|
|
42 #if $advanced_options.advanced:
|
|
43 --mincl $advanced_options.size_threshold $advanced_options.keep_names $advanced_options.automatic_filtering -D $advanced_options.blastx.options_blastx
|
|
44 --assembly_min $advanced_options.assembly_min_cluster_size
|
|
45
|
|
46 #if $advanced_options.comparative.options_comparative:
|
|
47 --prefix_length $advanced_options.comparative.prefix_length
|
|
48 #end if
|
|
49
|
|
50 #if $advanced_options.custom_library.options_custom_library:
|
|
51 -d $advanced_options.custom_library.library extra_database
|
|
52 #end if
|
|
53
|
|
54 #if $advanced_options.options.options:
|
|
55 -opt $advanced_options.options.options
|
|
56 #end if
|
|
57 #end if
|
|
58 ${FastaFile} >stdout.log 2> stderr.log ;
|
|
59 echo "STDOUT CONTENT:" >> ${log} ;
|
|
60 cat stdout.log >> ${log} ;
|
|
61 echo "STDERR CONTENT:" >> ${log};
|
|
62 cat stderr.log >> ${log} &&
|
|
63 \${REPEX}/stderr_filter.py stderr.log &&
|
|
64 cd tarean_output &&
|
7
|
65 zip -fz -r ${ReportArchive}.zip * &&
|
0
|
66 mv ${ReportArchive}.zip ${ReportArchive} &&
|
|
67 cp index.html ${ReportFile} &&
|
|
68 mkdir ${ReportFile.files_path} &&
|
|
69 cp -r --parents libdir ${ReportFile.files_path} &&
|
|
70 cp -r --parents seqclust/clustering/superclusters ${ReportFile.files_path} &&
|
|
71 cp -r --parents seqclust/clustering/clusters ${ReportFile.files_path} &&
|
|
72 cp seqclust/clustering/hitsort.cls ${ReportFile.files_path}/seqclust/clustering/hitsort.cls &&
|
|
73 cp *.png ${ReportFile.files_path}/ &&
|
|
74 cp *.csv ${ReportFile.files_path}/ &&
|
|
75 cp *.html ${ReportFile.files_path}/ &&
|
|
76 cp *.css ${ReportFile.files_path}/ &&
|
|
77 cp *.fasta ${ReportFile.files_path}/ 2>>$log && rm -r ../tarean_output || :
|
|
78
|
|
79 </command>
|
|
80 <inputs>
|
|
81 <param name="FastaFile" label="NGS reads" type="data" format="fasta"
|
2
|
82 help="Input file must contain FASTA-formatted NGS reads. Illumina paired-end reads are recommended."/>
|
|
83 <param name="paired" type="boolean" truevalue="--paired" falsevalue="" checked="True" label="Paired-end reads" help="If paired-end reads are used, left- and right-hand reads must be interlaced and all pairs must be complete. Example of the correct format is provided in the help below." />
|
0
|
84
|
3
|
85 <conditional name="read_sampling">
|
4
|
86 <param name="do_sampling" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Read sampling" help="Use this option if you want to analyze only a part of the reads" />
|
|
87 <when value="false">
|
3
|
88 <!-- pass -->
|
4
|
89 <param name="sample" label="Sample size" hidden="True" type="integer" value="0" help="Number of analyzed reads"/>
|
3
|
90 </when>
|
4
|
91 <when value="true">
|
|
92 <param name="sample" label="Sample size" type="integer" value="500000" min="10000" help="Number of analyzed reads"/>
|
3
|
93 </when>
|
|
94 </conditional>
|
|
95
|
|
96
|
0
|
97 <param name="taxon" label="Select taxon and protein domain database version (REXdb)" type="select" help="Reference database of transposable element protein domains - REXdb - is used for annotation of repeats">
|
|
98 <option value="VIRIDIPLANTAE3.0" selected="true">Viridiplantae version 3.0 </option>
|
|
99 <option value="VIRIDIPLANTAE2.2" selected="true">Viridiplantae version 2.2</option>
|
|
100 <option value="METAZOA3.0" >Metazoa version 3.0</option>
|
|
101 <option value="METAZOA2.0" >Metazoa version 2.0</option>
|
|
102 <!-- Modify setting in config.py accordingly -->
|
|
103 </param>
|
|
104
|
|
105 <conditional name="advanced_options">
|
|
106 <param name="advanced" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Advanced options" />
|
|
107 <when value="false">
|
|
108 <!-- pass -->
|
|
109 </when>
|
|
110 <when value="true">
|
|
111 <conditional name="comparative">
|
2
|
112 <param name="options_comparative" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Perform comparative analysis" help="Use this options to analyze multiple samples simultaneously"/>
|
0
|
113 <when value="false">
|
|
114 <!-- do nothing here -->
|
|
115 </when>
|
|
116 <when value="true">
|
2
|
117 <param name="prefix_length" label="Group code length" type="integer" value="3" min="1" max="10" help="For comparative analysis, reads from different samples are distinguished by sample codes included as prefix to the read names. See example below."/>
|
0
|
118 </when>
|
|
119 </conditional>
|
|
120
|
|
121 <conditional name="blastx">
|
|
122 <param name="options_blastx" type="select" label="Select parameters for protein domain search">
|
|
123 <option value="BLASTX_W2" selected="false">blastx with word size 2 (the most sensitive, slowest)</option>
|
|
124 <option value="BLASTX_W3" selected="true">blastx with word size 3 (default)</option>
|
|
125 <option value="DIAMOND" selected="false">diamond program (the least sensitive, fastest)</option>
|
|
126 </param>
|
|
127 </conditional>
|
|
128
|
|
129 <conditional name="options">
|
4
|
130 <param name="options" type="select" label="Similarity search options">
|
|
131 <option value="ILLUMINA" selected="true">Default </option>
|
|
132 <option value="ILLUMINA_DUST_OFF" selected="false">Masking of low complexity repeats disabled </option>
|
|
133
|
|
134 <!-- <option value="ILLUMINA_SENSITIVE_MGBLAST" selected="false">Illumina reads, sensitive search (search parameters: mgblast, min PID 80, -W8) slow, experimental feature!</option> -->
|
|
135 <!-- <option value="ILLUMINA_SENSITIVE_BLASTPLUS" selected="false">Illumina reads, more sensitive search (search parameters: blastn, min PID 80, -W6) extremely slow, experimental feature!</option> -->
|
|
136 <!-- <option value="OXFORD_NANOPORE" selected="false"> -->
|
|
137 <!-- Pseudo short reads simulated from Oxford Nanopore data, experimental feature! -->
|
|
138 <!-- </option> -->
|
0
|
139 </param>
|
|
140 </conditional>
|
|
141
|
|
142 <conditional name="custom_library">
|
|
143 <param name="options_custom_library" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Use custom repeat database"/>
|
|
144 <when value="false">
|
|
145 <!-- do nothing here -->
|
|
146 </when>
|
|
147 <when value="true">
|
2
|
148 <param name="library" format="fasta" type="data" label="Custom repeat database" help="The database should contain DNA sequences in FASTA format. The required format for sequence IDs is : '>reapeatname#class/subclass'"/>
|
0
|
149 </when>
|
|
150 </conditional>
|
2
|
151 <param name="size_threshold" label="Cluster size threshold for detailed analysis" type="float" value="0.01" min="0.0001" max="100" help ="Minimal size (as percentage of input reads) of the smallest cluster which is analyzed; clusters with less than 20 reads are not considered."/>
|
|
152 <param name="automatic_filtering" label="Perform automatic filtering of abundant satellite repeats" help="Automatic filtering identifies the most abundant tandem repeats and partially removes their reads from the analysis. This enables to analyze higher proportions of other less abundant repeats." type="boolean" truevalue="--automatic_filtering" falsevalue="" checked="false"/>
|
|
153 <param name="keep_names" label="Keep original read names" type="boolean" truevalue="--keep_names" falsevalue="" checked="false" help="By default, reads are renamed using integers. Use this option to keep original names."/>
|
|
154 <param name="assembly_min_cluster_size" type="integer" label="Minimal cluster size for assembly" value="5" min="2" max="100"/>
|
0
|
155 </when>
|
|
156 </conditional>
|
|
157
|
|
158 <conditional name="queue_definition">
|
|
159 <param name="queue_select" type="select" label="Select queue">
|
2
|
160 <option value="basic_fast_queue">basic (max runtime 2 days, 4 GB RAM)</option>
|
|
161 <option value="long_slow_queue">long (max runtime 2 weeks, 64 GB RAM)</option>
|
|
162 <option value="extra_long_slow_queue">extra long (max runtime 4 weeks, 64 GB RAM)</option>
|
0
|
163 </param>
|
|
164 <when value="basic_fast_queue">
|
|
165 <param name="queue_specification" type="text" label="Modify parameters (optional)"
|
|
166 value="-l select=1:ncpus=10:mem=32gb:scratch_local=50gb -l walltime=48:00:00 -q elixirre@pbs.elixir-czech.cz -v TAREAN_MAX_MEM=4000000,TAREAN_CPU=4" />
|
|
167 </when>
|
|
168
|
|
169 <when value="long_slow_queue">
|
|
170 <param name="queue_specification" type="text" label="Modify parameters (optional)"
|
|
171 value="-l select=1:ncpus=16:mem=112gb:scratch_local=50gb -l walltime=336:00:00 -q elixirre@pbs.elixir-czech.cz -v TAREAN_MAX_MEM=64000000,TAREAN_CPU=15" />
|
|
172 </when>
|
|
173 <when value="extra_long_slow_queue">
|
|
174 <param name="queue_specification" type="text" label="Modify parameters (optional)"
|
|
175 value="-l select=1:ncpus=16:mem=112gb:scratch_local=50gb -l walltime=720:00:00 -q elixirre@pbs.elixir-czech.cz -v TAREAN_MAX_MEM=64000000,TAREAN_CPU=15" />
|
|
176 </when>
|
|
177 </conditional>
|
|
178
|
|
179
|
|
180
|
|
181 </inputs>
|
|
182 <outputs>
|
|
183 <data name="log" format="txt" label="RepeatExplorer2 - log file"/>
|
|
184 <data name="ReportArchive" format="zip" label="RepeatExplorer2 - Archive with HTML report from data ${FastaFile.hid}"/>
|
|
185 <data name="ReportFile" format="html" label="RepeatExplorer2 - HTML report from data ${FastaFile.hid}"/>
|
|
186 </outputs>
|
|
187
|
|
188 <help>
|
|
189 **HELP**
|
|
190
|
|
191 RepeatExplorer2 clustering is a computational pipeline for unsupervised
|
|
192 identification of repeats from unassembled sequence reads. The
|
|
193 pipeline uses low-pass whole genome sequence reads and performs graph-based
|
|
194 clustering. Resulting clusters, representing all types of repeats, are then
|
|
195 examined to identify and classify into repeats groups.
|
|
196
|
|
197 **Input data**
|
|
198
|
|
199 The analysis requires either **single** or **paired-end reads** generated
|
|
200 by whole genome shotgun sequencing provided as a single fasta-formatted file.
|
|
201 Generally, paired-end reads provide significantly better results than single
|
|
202 reads. Reads should be of uniform length (optimal size range is 100-200 nt) and
|
|
203 the number of analyzed reads should represent less than 1x genome equivalent
|
|
204 (genome coverage of 0.01 - 0.50 x is recommended). Reads should be
|
|
205 quality-filtered (recommended filtering : quality score >=10 over 95% of bases
|
|
206 and no Ns allowed) and only **complete read pairs** should be submitted for
|
|
207 analysis. When paired reads are used, input data must be **interlaced** format
|
|
208 as fasta file:
|
|
209
|
|
210 example of interlaced input format::
|
|
211
|
|
212 >0001_f
|
|
213 CGTAATATACATACTTGCTAGCTAGTTGGATGCATCCAACTTGCAAGCTAGTTTGATG
|
|
214 >0001_r
|
|
215 GATTTGACGGACACACTAACTAGCTAGTTGCATCTAAGCGGGCACACTAACTAACTAT
|
|
216 >0002_f
|
|
217 ACTCATTTGGACTTAACTTTGATAATAAAAACTTAAAAAGGTTTCTGCACATGAATCG
|
|
218 >0002_r
|
|
219 TATGTTGAAAAATTGAATTTCGGGACGAAACAGCGTCTATCGTCACGACATAGTGCTC
|
|
220 >0003_f
|
|
221 TGACATTTGTGAACGTTAATGTTCAACAAATCTTTCCAATGTCTTTTTATCTTATCAT
|
|
222 >0003_r
|
|
223 TATTGAAATACTGGACACAAATTGGAAATGAAACCTTGTGAGTTATTCAATTTATGTT
|
|
224 ...
|
|
225
|
|
226
|
|
227 **Comparative analysis**
|
|
228
|
|
229 For comparative analysis sequence names must contain code (prefix) for each group.
|
|
230 Prefix in sequences names must be of fixed length.
|
|
231
|
|
232 Example of labeling two groups with where **group code length** is 2 and is used to distinguish groups - AA and BB ::
|
|
233
|
|
234 >AA0001_f
|
|
235 CGTAATATACATACTTGCTAGCTAGTTGGATGCATCCAACTTGCAAGCTAGTTTGATG
|
|
236 >AA0001_r
|
|
237 GATTTGACGGACACACTAACTAGCTAGTTGCATCTAAGCGGGCACACTAACTAACTAT
|
|
238 >AA0002_f
|
|
239 ACTCATTTGGACTTAACTTTGATAATAAAAACTTAAAAAGGTTTCTGCACATGAATCG
|
|
240 >AA0002_r
|
|
241 TATGTTGAAAAATTGAATTTCGGGACGAAACAGCGTCTATCGTCACGACATAGTGCTC
|
|
242 >BB0001_f
|
|
243 TGACATTTGTGAACGTTAATGTTCAACAAATCTTTCCAATGTCTTTTTATCTTATCAT
|
|
244 >BB0001_r
|
|
245 TATTGAAATACTGGACACAAATTGGAAATGAAACCTTGTGAGTTATTCAATTTATGTT
|
|
246 >BB0002_f
|
|
247 TGACATTTGTGAACGTTAATGTTCAACAAATCTTTCCAATGTCTTTTTATCTTATCAT
|
|
248 >BB0002_r
|
|
249 TATTGAAATACTGGACACAAATTGGAAATGAAACCTTGTGAGTTATTCAATTTATGTT
|
|
250
|
|
251
|
|
252 To prepare quality filtered and interlaced input fasta file from fastq
|
|
253 files, use `Preprocessing of paired-reads`__ tool.
|
|
254
|
|
255 .. __: tool_runner?tool_id=paired_fastq_filtering
|
|
256
|
|
257
|
|
258 **Additional parameters**
|
|
259
|
|
260 **Sample size** defines how many reads should be used in calculation.
|
|
261 Default setting with 500,000 reads will enable detection of high copy
|
|
262 repeats within several hours of computation time. For higher
|
|
263 sensitivity the sample size can be set higher. Since sample size affects
|
|
264 the memory usage, this parameter may be automatically adjusted to lower
|
|
265 value during the run. Maximum sample size which can be processed depends on
|
|
266 the repetitiveness of analyzed genome.
|
|
267
|
|
268
|
|
269 **Select taxon and protein domain database version (REXdb)**. Classification
|
|
270 of transposable elements is based on the similarity to our reference database
|
|
271 of transposable element protein domains (**REXdb**). Standalone database for Viridiplantae species
|
|
272 can be obtained on `repeatexplorer.org`__. Classification
|
|
273 system used in REXdb is described in article `Systematic survey of plant
|
|
274 LTR-retrotransposons elucidates phylogenetic relationships of their
|
|
275 polyprotein domains and provides a reference for element classification`__
|
|
276 Database for Metazoa species is still under development so use it with caution.
|
|
277
|
|
278 .. __: http://repeatexplorer.org
|
|
279 .. __: https://doi.org/10.1186/s13100-018-0144-1
|
|
280
|
|
281 **Select parameters for protein domain search** REXdb is compared with s
|
|
282 equence clusters either using blastx or diamond aligner. Diamond program
|
|
283 is about three time faster than blastx with word size 3.
|
|
284
|
|
285 **Similarity search options** By default sequence reads are compared using
|
|
286 mgblast program. Default threshold is explicitly set to 90% sequence
|
|
287 similarity spanning at least 55% of the read length (in the case of reads
|
|
288 differing in length it applies to the longer one). Additionally, sequence
|
|
289 overlap must be at least 55 nt. If you select option for shorter reads
|
|
290 than 100 nt, minimum overlap 55 nt is not required.
|
|
291
|
|
292 By default,
|
|
293 mgblast search use DUST program to filter out
|
|
294 low-complexity sequences. If you want
|
|
295 to increase sensitivity of detection of satellites with shorter monomer
|
|
296 use option with '*no masking of low complexity repeats*'. Note that omitting
|
|
297 DUST filtering will significantly increase running times
|
|
298
|
|
299
|
|
300 **Automatic filtering of abundant satellite repeats** perform clustering on
|
|
301 smaller dataset of sequence reads to detect abundant high confidence
|
|
302 satellite repeats. If such satellites are detected, sequence reads derived
|
|
303 from these satellites are depleted from input dataset. This step enable more
|
|
304 sensitive detection of less abundant repeats as more reads can be used
|
|
305 in clustering step.
|
|
306
|
|
307 **Use custom repeat database**. This option allows users to perform similarity
|
|
308 comparison of identified repeats to their custom databases. The repeat class must
|
|
309 be encoded in FASTA headers of database entries in order to allow correct
|
|
310 parsing of similarity hits. Required format for custom database sequence name is: ::
|
|
311
|
|
312 >reapeatname#class/subclass
|
|
313
|
|
314
|
|
315 **Output**
|
|
316
|
|
317 List of clusters identified as putative satellite repeats, their genomic
|
|
318 abundance and various cluster characteristics.
|
|
319
|
|
320 Output includes a **HTML summary** with table listing of all analyzed
|
|
321 clusters. More detailed information about clusters is provided in
|
|
322 additional files and directories. All results are also provided as
|
|
323 downloadable **zip archive**. Additionally a **log file** reporting
|
|
324 the progress of the computational pipeline is provided.
|
|
325
|
|
326 </help>
|
|
327
|
|
328 </tool>
|