Mercurial > repos > simon-gladman > velvetoptimiser
comparison velvetoptimiser.xml @ 5:82398ba86ba7 draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/velvetoptimiser commit 87fc41195cd9d05d431e8363c31898ce07369ed3"
author | iuc |
---|---|
date | Sat, 27 Nov 2021 10:38:38 +0000 |
parents | 4a53b89fa703 |
children |
comparison
equal
deleted
inserted
replaced
4:4a53b89fa703 | 5:82398ba86ba7 |
---|---|
1 <tool id="velvetoptimiser" name="VelvetOptimiser" version="2.2.6+galaxy1"> | 1 <tool id="velvetoptimiser" name="VelvetOptimiser" version="2.2.6+galaxy2"> |
2 <description>Automatically optimize Velvet assemblies</description> | 2 <description>Automatically optimize Velvet assemblies</description> |
3 <xrefs> | |
4 <xref type="bio.tools">velvetoptimiser</xref> | |
5 </xrefs> | |
3 <requirements> | 6 <requirements> |
4 <requirement type="package" version="1.2.10">velvet</requirement> | 7 <requirement type="package" version="1.2.10">velvet</requirement> |
5 <requirement type="package" version="2.2.6">perl-velvetoptimiser</requirement> | 8 <requirement type="package" version="2.2.6">perl-velvetoptimiser</requirement> |
6 </requirements> | 9 </requirements> |
7 <version_command>VelvetOptimiser.pl --version</version_command> | 10 <version_command>VelvetOptimiser.pl --version</version_command> |
13 ## export OMP_THREAD_LIMIT=1 && | 16 ## export OMP_THREAD_LIMIT=1 && |
14 VelvetOptimiser.pl | 17 VelvetOptimiser.pl |
15 -t "\${GALAXY_SLOTS:-1}" | 18 -t "\${GALAXY_SLOTS:-1}" |
16 -s $start_kmer | 19 -s $start_kmer |
17 -e $end_kmer | 20 -e $end_kmer |
21 -x $kmer_step | |
18 -d out | 22 -d out |
19 -f " | 23 -f " |
20 #for $i in $files: | 24 #for $i in $files: |
21 -${i.filetype} | 25 -${i.filetype} |
22 | 26 |
59 '$i.paired_type.input1' | 63 '$i.paired_type.input1' |
60 #end if | 64 #end if |
61 #end for | 65 #end for |
62 " | 66 " |
63 | 67 |
64 ##if str($advanced.advanced_select) == "advanced" | 68 $advanced.verbose |
65 $advanced.verbose | 69 -k '$advanced.optFuncKmer' |
66 -k '$advanced.optFuncKmer' | 70 -c '$advanced.optFuncCov' |
67 -c '$advanced.optFuncCov' | 71 #if str($advanced.velvetg_opts) != "" |
68 #if str($advanced.velvetg_opts) != "" | 72 -o '$advanced.velvetg_opts' |
69 -o '$advanced.velvetg_opts' | 73 #end if |
70 #end if | 74 -m $advanced.minCutoff |
71 -m $advanced.minCutoff | 75 -z $advanced.maxCutoff |
72 -z $advanced.maxCutoff | |
73 ##end if | |
74 | 76 |
75 ]]></command> | 77 ]]></command> |
76 <inputs> | 78 <inputs> |
77 <param name="start_kmer" type="integer" value="31" label="Start k-mer size" help="Odd integer, Lower limit of k-mer size range to search for optimum value" /> | 79 <param name="start_kmer" argument="-s" type="integer" value="31" min="11" max="191" label="Start k-mer size" help="Odd integer, Lower limit of k-mer size range to search for optimum value"> |
78 <param name="end_kmer" type="integer" value="191" label="End k-mer size" help="Odd integer, Upper limit of k-mer size range to search for optimum value" /> | 80 <validator type="expression" message="Value needs to be odd">int(value) % 2 == 1</validator> |
79 <param name="kmer_step" type="integer" value="2" label="K-mer search step size" help="Even integer, the k-mer value step size when searching the range" /> | 81 </param> |
82 <param name="end_kmer" argument="-e" type="integer" value="191" min="11" max="191" label="End k-mer size" help="Odd integer, Upper limit of k-mer size range to search for optimum value"> | |
83 <validator type="expression" message="Value needs to be odd">int(value) % 2 == 1</validator> | |
84 </param> | |
85 <param name="kmer_step" argument="-x" type="integer" value="2" min="2" max="189" label="K-mer search step size" help="Even integer, the k-mer value step size when searching the range"> | |
86 <validator type="expression" message="Value needs to be even">int(value) % 2 == 0</validator> | |
87 </param> | |
80 | 88 |
81 <repeat name="files" title="Input files" min="1"> | 89 <repeat name="files" title="Input files" min="1"> |
82 <param name="filetype" label="Input file type" type="select" help="Input file type"> | 90 <param name="filetype" label="Input file type" type="select" help="Input file type"> |
83 <option value="fastq">Fastq</option> | 91 <option value="fastq">Fastq</option> |
84 <option value="fasta">Fasta</option> | 92 <option value="fasta">Fasta</option> |
106 </when> | 114 </when> |
107 </conditional> | 115 </conditional> |
108 </repeat> | 116 </repeat> |
109 | 117 |
110 <section name="advanced" title="Advanced Options" expanded="false"> | 118 <section name="advanced" title="Advanced Options" expanded="false"> |
111 <param name="verbose" type="boolean" checked="false" truevalue="-v" falsevalue="" label="Verbose" help="Include verbose velvet output in log file" /> | 119 <param name="verbose" argument="-v" type="boolean" checked="false" truevalue="-v" falsevalue="" label="Verbose" help="Include verbose velvet output in log file" /> |
112 <param name="optFuncKmer" type="text" value="n50" label="K-mer optimisation function" help="See help below for possibilities!"/> | 120 <param name="optFuncKmer" argument="-k" type="text" value="n50" label="K-mer optimisation function" help="See help below for possibilities!"/> |
113 <param name="optFuncCov" type="text" value="Lbp" label="Coverage cutoff optimisation function" help="See help below for possibilities!"/> | 121 <param name="optFuncCov" argument="-c" type="text" value="Lbp" label="Coverage cutoff optimisation function" help="See help below for possibilities!"/> |
114 <param name="velvetg_opts" type="text" value="" label="Other velvetg options" help="Add any other required velvetg options from the advanced set"/> | 122 <param name="velvetg_opts" argument="-o" type="text" value="" label="Other velvetg options" help="Add any other required velvetg options from the advanced set"/> |
115 <param name="minCutoff" type="integer" value="0" label="Minimum coverage cutoff" help="The minimum coverage cutoff to consider in the optimisation"/> | 123 <param name="minCutoff" argument="-m" type="integer" value="0" label="Minimum coverage cutoff" help="The minimum coverage cutoff to consider in the optimisation"/> |
116 <param name="maxCutoff" type="float" value="0.8" label="Maximum coverage cutoff" help="The maximum coverage cutoff to consider expressed as a fraction of the calculated expected coverage."/> | 124 <param name="maxCutoff" argument="-z" type="float" value="0.8" label="Maximum coverage cutoff" help="The maximum coverage cutoff to consider expressed as a fraction of the calculated expected coverage."/> |
117 </section> | 125 </section> |
118 </inputs> | 126 </inputs> |
119 | 127 |
120 <outputs> | 128 <outputs> |
121 <data format="fasta" name="contigs" label="${tool.name} on ${on_string}: Contigs" from_work_dir="out/contigs.fa"/> | 129 <data format="fasta" name="contigs" label="${tool.name} on ${on_string}: Contigs" from_work_dir="out/contigs.fa"/> |
234 | 242 |
235 **Hash Length** | 243 **Hash Length** |
236 | 244 |
237 The hash length, also known as k-mer length, corresponds to the length, in base pairs, of the words being hashed. | 245 The hash length, also known as k-mer length, corresponds to the length, in base pairs, of the words being hashed. |
238 | 246 |
239 The hash length is the length of the k-mers being entered in the hash table. Firstly, you must observe three technical constraints:: | 247 The hash length is the length of the k-mers being entered in the hash table. Firstly, you must observe three technical constraints: |
240 - it must be an odd number, to avoid palindromes. If you put in an even number, Velvet will just decrement it and proceed. | 248 |
241 - it must be below or equal to MAXKMERHASH length (cf. 2.3.3, by default 31bp), because it is stored on 64 bits | 249 - it must be an odd number, to avoid palindromes. If you put in an even number, Velvet will just decrement it and proceed. |
242 - it must be strictly inferior to read length, otherwise you simply will not observe any overlaps between reads, for obvious reasons. | 250 - it must be below or equal to MAXKMERHASH length (cf. 2.3.3, by default 31bp), because it is stored on 64 bits |
251 - it must be strictly inferior to read length, otherwise you simply will not observe any overlaps between reads, for obvious reasons. | |
252 | |
243 | 253 |
244 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. | 254 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. |
245 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. | 255 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. |
246 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. | 256 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. |
247 | 257 |
272 **Input Files** | 282 **Input Files** |
273 | 283 |
274 Velvet works mainly with fasta and fastq formats. For paired-end reads, the assumption is that each read is next to its mate | 284 Velvet works mainly with fasta and fastq formats. For paired-end reads, the assumption is that each read is next to its mate |
275 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. | 285 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. |
276 | 286 |
277 Supported file formats are:: | 287 Supported file formats are: fasta, fastq, bam |
278 | 288 |
279 fasta | 289 Read categories are: |
280 fastq | 290 |
281 bam | 291 - short (default) |
282 | 292 - shortPaired |
283 Read categories are:: | 293 - long (for Sanger, 454 or even reference sequences) |
284 | 294 - longPaired |
285 short (default) | 295 - reference (for pre-mapped sam or bam files - see Velvet manual for details on how to use this option) |
286 shortPaired | |
287 long (for Sanger, 454 or even reference sequences) | |
288 longPaired | |
289 reference (for pre-mapped sam or bam files - see Velvet manual for details on how to use this option) | |
290 | |
291 | |
292 ]]></help> | 296 ]]></help> |
293 <citations> | 297 <citations> |
294 <citation type="bibtex">@UNPUBLISHED{GLADMAN2012, | 298 <citation type="bibtex">@UNPUBLISHED{GLADMAN2012, |
295 author = "Gladman Simon", | 299 author = "Gladman Simon", |
296 title = "VelvetOptimiser", | 300 title = "VelvetOptimiser", |