comparison velvet_optimiser.xml @ 0:50ae1360fbbe default tip

Migrated tool version 1.0.0 from old tool shed archive to new tool shed repository
author konradpaszkiewicz
date Tue, 07 Jun 2011 18:07:56 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:50ae1360fbbe
1 <tool id="velvetoptimiser" name="velvetoptimiser" version="1.0.0">
2 <description>Auto optimise a genomic velvet assembly</description>
3 <command interpreter="python">
4 velvet_optimiser.py '$start_hash_length' '$end_hash_length'
5 '#for $i in $inputs
6 ${i.file_format}
7 ${i.read_type}
8 ${i.input}
9 #end for
10 '
11 '$threads'
12 '1'
13 '$kmeropt'
14 '$covopt'
15 '$contigs'
16 '$LastGraph'
17 '$velvet_asm'
18 '$unused_reads_fasta'
19 '$stats'
20 '$othervelvetgoptions'
21 '$contigs.extra_files_path'
22 </command>
23
24 <inputs>
25 <param label="Start Hash Length" name="start_hash_length" type="select" help="k-mer length in base pairs of the words being hashed. Shorter hash lengths (i.e. less than 31) may cause out-of-memory problems.">
26
27 <option value="23">23</option>
28 <option value="25">25</option>
29 <option value="27">27</option>
30 <option value="29">29</option>
31 <option value="31" selected="yes">31</option>
32 <option value="33">33</option>
33 <option value="35">35</option>
34 <option value="37">37</option>
35 <option value="39">39</option>
36 <option value="41">41</option>
37
38 </param>
39 <param label="End Hash Length" name="end_hash_length" type="select" help="k-mer length in base pairs of the words being hashed.">
40 <option value="43">43</option>
41 <option value="45">45</option>
42 <option value="47">47</option>
43 <option value="49">49</option>
44 <option value="51">51</option>
45 <option value="53">53</option>
46 <option value="55">55</option>
47 <option value="57">57</option>
48 <option value="59">59</option>
49 <option value="61">61</option>
50 <option value="63">63</option>
51 <option value="65">65</option>
52 <option value="67">67</option>
53 <option value="69" selected="yes">69</option>
54
55 </param>
56
57 <param label="Number of threads" name="threads" type="select" help="Number of velvetg threads to run. Higher values will result in shorter run times but may cause an out of memory error. Select a lower value if this happens.">
58 <option value="1" selected="yes">1</option>
59 <option value="2">2</option>
60 <option value="3">3</option>
61 <option value="4">4</option>
62
63 </param>
64 <param label="Kmer optimisation metric" name="kmeropt" type="select" help="Metric used to identify the optimal kmer size.">
65 <option value="Lbp">Total number of bp in contigs >1kb</option>
66 <option value="Lcon">Number of contigs >1kb</option>
67 <option value="max">Length of single longest contig</option>
68 <option value="n50" selected="yes">N50 size</option>
69 <option value="ncon">Total number of contigs</option>
70 <option value="tbp">Total number of bp in contigs of any size</option>
71
72 </param>
73
74 <param label="Coverage optimisation metric" name="covopt" type="select" help="Metric used to identify the optimal coverage cutoff in velvetg.">
75 <option value="Lbp" selected="yes">Total number of bp in contigs >1kb</option>
76 <option value="Lcon">Number of contigs >1kb</option>
77 <option value="max">Length of single longest contig</option>
78 <option value="n50">N50 size</option>
79 <option value="ncon">Total number of contigs</option>
80 <option value="tbp">Total number of bp in contigs of any size</option>
81
82 </param>
83
84 <param label="Advanced velvetg options" name="othervelvetgoptions" title="Advanced velvetg options" help="Other Velvetg options - see below for details" type="text" size="30">
85
86 </param>
87 <!-- <param name="strand_specific" type="boolean" checked="false" truevalue="-strand_specific" falsevalue="" label="Use strand specific transcriptome sequencing" help="If you are using a strand specific transcriptome sequencing protocol, you may wish to use this option for better results."/> -->
88 <repeat name="inputs" title="Input Files">
89 <param label="file format" name="file_format" type="select">
90 <option value="-fasta" selected="yes">fasta</option>
91 <option value="-fastq">fastq</option>
92 <option value="-eland">eland</option>
93 <option value="-gerald">gerald</option>
94 </param>
95 <param label="read type" name="read_type" type="select">
96 <option value="-short" selected="yes">short reads</option>
97 <option value="-shortPaired">shortPaired reads</option>
98 <option value="-short2">short2 reads</option>
99 <option value="-shortPaired2">shortPaired2 reads</option>
100 <option value="-long">long reads (reads >200bp e.g. 454 reads)</option>
101 <option value="-longPaired">longPaired reads</option>
102 </param>
103
104
105 <param name="input" type="data" format="fasta,fastq,eland,gerald" label="Dataset"/>
106 </repeat>
107 </inputs>
108
109 <outputs>
110
111 <data format="fasta" name="contigs" label="${tool.name} on ${on_string}: Contigs"/>
112 <data format="fasta" name="unused_reads_fasta" label="${tool.name} on ${on_string}: Unused Reads">
113 <!-- <filter>unused_reads['generate_unused'] == "yes"</filter>-->
114 </data>
115
116 <data format="fasta" name="unused_reads_fasta" label="${tool.name} on ${on_string}: Unused Reads">
117 <!-- <filter>unused_reads['generate_unused'] == "yes"</filter>-->
118 </data>
119 <data format="tabular" name="stats" label="${tool.name} on ${on_string}: Stats"/>
120 <data format="afg" name="velvet_asm" label="${tool.name} on ${on_string}: AMOS.afg">
121 <!-- <filter>generate_amos['afg'] == "yes"</filter> -->
122 </data>
123
124 <data format="txt" name="LastGraph" label="${tool.name} on ${on_string}: LastGraph">
125 <!-- <filter>last_graph['generate_graph'] == "yes"</filter> -->
126 </data>
127
128
129 </outputs>
130 <requirements>
131 <requirement type="package">velvet</requirement>
132 </requirements>
133
134 <help>
135 **Velvet Optimiser Overview**
136
137 Velvet_ is a de novo genomic assembler specially designed for short read sequencing technologies, such as Solexa or 454, developed by Daniel Zerbino and Ewan Birney at the European Bioinformatics Institute (EMBL-EBI), near Cambridge, in the United Kingdom.
138
139 Velvet currently takes in short read sequences, removes errors then produces high quality unique contigs. It then uses paired-end read and long read information, when available, to retrieve the repeated areas between contigs.
140
141 Read the Velvet `documentation`__ for details on using the Vevlet Assembler.
142
143 .. _Velvet: http://www.ebi.ac.uk/~zerbino/velvet/
144
145 .. __: http://www.ebi.ac.uk/~zerbino/velvet/Manual.pdf
146
147 ------
148
149 **VelvetOptimiser**
150
151 VelvetOptimiser was originally written by Simon Gladman of CSIRO.
152
153 VelvetOptimiser performs a number of velveth and velvetg steps to try and optimise an assembly based on the metrics provided below.
154
155 ------
156
157 **Outputs**
158
159
160 **Contigs**
161
162 The *contigs.fa* file.
163 This fasta file contains the sequences of the contigs longer than 2k, where k is the word-length used in velveth. If you have specified a min contig lgth threshold, then the contigs shorter than that value are omitted.
164 Note that the length and coverage information provided in the header of each contig should therefore be understood in k-mers and in k-mer coverage (cf. 5.1) respectively.
165 The N's in the sequence correspond to gaps between scaffolded contigs. The number of N's corresponds to the estimated length of the gap. For reasons of compatibility with the archives, any gap shorter than 10bp is represented by a sequence of 10 N's.
166
167 **Stats**
168
169 The *stats.txt* file.
170 This file is a simple tabbed-delimited description of the nodes. The column names are pretty much self-explanatory. Note however that node lengths are given in k-mers. To obtain the length in nucleotides of each node you simply need to add k - 1, where k is the word-length used in velveth.
171 The in and out columns correspond to the number of arcs on the 5' and 3' ends of the contig respectively.
172 The coverages in columns short1 cov, short1 Ocov, short2 cov, and short2 Ocov are provided in k-mer coverage (5.1).
173 Also, the difference between # cov and # Ocov is the way these values are computed. In the first count, slightly divergent sequences are added to the coverage tally. However, in the second, stricter count, only the sequences which map perfectly onto the consensus sequence are taken into account.
174
175 **LastGraph**
176
177 The *LastGraph* file.
178 This file describes in its entirety the graph produced by Velvet.
179
180 **AMOS.afg**
181 The *velvet_asm.afg* file.
182 This file is mainly designed to be read by the open-source AMOS genome assembly package. Nonetheless, a number of programs are available to transform this kind of file into other assembly file formats (namely ACE, TIGR, Arachne and Celera). See http://amos.sourceforge.net/ for more information.
183 The file describes all the contigs contained in the contigs.fa file (cf 4.2.1).
184
185 **Advanced options**
186 -scaffolding yes|no : scaffolding of contigs used paired end information (default: on)
187 -max_branch_length integer : maximum length in base pair of bubble (default: 100)
188 -max_divergence floating-point : maximum divergence rate between two branches in a bubble (default: 0.2)
189 -max_gap_count integer : maximum number of gaps allowed in the alignment of the two branches of a bubble (default: 3)
190 -min_pair_count integer : minimum number of paired end connections to justify the scaffolding of two long contigs (default: 10)
191 -max_coverage floating point : removal of high coverage nodes AFTER tour bus (default: no removal)
192 -long_mult_cutoff int : minimum number of long reads required to merge contigs (default: 2)
193
194
195
196 **Hash Length**
197
198 The hash length, also known as k-mer length, corresponds to the length, in base pairs, of the words being hashed.
199
200 The hash length is the length of the k-mers being entered in the hash table. Firstly, you must observe three technical constraints::
201
202 # it must be an odd number, to avoid palindromes. If you put in an even number, Velvet will just decrement it and proceed.
203 # it must be below or equal to MAXKMERHASH length (cf. 2.3.3, by default 31bp), because it is stored on 64 bits
204 # it must be strictly inferior to read length, otherwise you simply will not observe any overlaps between reads, for obvious reasons.
205
206 Now you still have quite a lot of possibilities. As is often the case, it's a trade- off between specificity and sensitivity. Longer kmers bring you more specificity (i.e. less spurious overlaps) but lowers coverage (cf. below). . . so there's a sweet spot to be found with time and experience.
207 We like to think in terms of "k-mer coverage", i.e. how many times has a k-mer been seen among the reads. The relation between k-mer coverage Ck and standard (nucleotide-wise) coverage C is Ck = C # (L - k + 1)/L where k is your hash length, and L you read length.
208 Experience shows that this kmer coverage should be above 10 to start getting decent results. If Ck is above 20, you might be "wasting" coverage. Experience also shows that empirical tests with different values for k are not that costly to run! VelvetOptimiser automates these tests for you.
209
210
211 **Velvetg options**
212
213
214
215 **Input Files**
216
217 Velvet works mainly with fasta and fastq formats. For paired-end reads, the assumption is that each read is next to its mate
218 read. In other words, if the reads are indexed from 0, then reads 0 and 1 are paired, 2 and 3, 4 and 5, etc.
219
220 Supported file formats are::
221
222 fasta
223 fastq
224 eland
225 gerald
226
227 Read categories are::
228
229 short (default)
230 shortPaired
231 short2 (same as short, but for a separate insert-size library - i.e. if you have two libraries of different lengths)
232 shortPaired2 (see above)
233 long (for Sanger, 454 or even reference sequences)
234 longPaired
235
236 </help>
237 </tool>