comparison bismark_bowtie_wrapper.xml @ 0:62c6da72dd4a draft

Uploaded
author bgruening
date Sat, 06 Jul 2013 09:57:36 -0400
parents
children 82814a8a2395
comparison
equal deleted inserted replaced
-1:000000000000 0:62c6da72dd4a
1 <tool id="bismark_bowtie" name="Bismark" version="0.7.12">
2 <!-- Wrapper compatible with Bismark version 0.7.11 -->
3 <description>bisulfite mapper (bowtie)</description>
4 <!--<version_command>bismark version</version_command>-->
5 <requirements>
6 <requirement type="set_environment">SCRIPT_PATH</requirement>
7 <requirement type="package" version="0.1.18">samtools</requirement>
8 <requirement type="package" version="0.12.8">bowtie</requirement>
9 </requirements>
10 <parallelism method="basic"></parallelism>
11 <command interpreter="python">
12 bismark_wrapper.py
13
14 --bismark_path \$SCRIPT_PATH
15
16 ##
17 ## Bismark Genome Preparation, if desired.
18 ##
19
20 ## Handle reference file.
21 #if $refGenomeSource.genomeSource == "history":
22 --own-file=$refGenomeSource.ownFile
23 #else:
24 --indexes-path ${refGenomeSource.index.fields.path}
25 #end if
26
27
28 ##
29 ## Input parameters
30 ##
31
32
33 #if $singlePaired.sPaired == "single":
34 --single-paired $singlePaired.input_singles
35
36 #if $singlePaired.input_singles.ext == "fastqillumina":
37 --phred64-quals
38 --fastq
39 #elif $singlePaired.input_singles.ext == "fastqsanger":
40 --fastq
41 #elif $singlePaired.input_singles.ext == "fasta":
42 --fasta
43 #end if
44 #else:
45 --mate-paired
46 #set $mate1 = list()
47 #set $mate2 = list()
48 #for $mate_pair in $singlePaired.mate_list
49 $mate1.append( str($mate_pair.input_mate1) )
50 $mate2.append( str($mate_pair.input_mate2) )
51 #end for
52
53 --mate1 #echo ','.join($mate1)
54 --mate2 #echo ','.join($mate2)
55
56 #if $singlePaired.mate_list[0].input_mate1.ext == "fastqillumina":
57 --phred64-quals
58 --fastq
59 #elif $singlePaired.mate_list[0].input_mate1.ext == "fastqsanger":
60 --fastq
61 #elif $singlePaired.mate_list[0].input_mate1.ext == "fasta":
62 --fasta
63 #end if
64
65 -I $singlePaired.minInsert
66 -X $singlePaired.maxInsert
67 #end if
68
69
70 ## for now hardcode the value for the required memory per thread in --best mode
71 --chunkmbs 512
72
73
74 #if $params.settingsType == "custom":
75
76 ## default 20
77 --seed-len $params.seed_len
78 ## default 0
79 --seed-mismatches $params.seed_mismatches
80
81 ## default 70
82 ##--maqerr $params.maqerr
83
84 ## default unlimited
85 #if $params.qupto != 0:
86 --qupto $params.qupto
87 #end if
88 #if $params.skip_reads != 0:
89 --skip-reads $params.skip_reads
90 #end if
91
92 #if $params.bismark_stdout:
93 --stdout $output_stdout
94 #end if
95
96 #if $params.isReportOutput:
97 --output-report-file $report_file
98 #end if
99
100 #end if
101
102 ##
103 ## Output parameters.
104 ##
105 --output $output
106 ##$suppress_header
107
108 #if str( $singlePaired.sPaired ) == "single"
109 #if $output_unmapped_reads_l
110 --output-unmapped-reads $output_unmapped_reads_l
111 #end if
112 #if $output_suppressed_reads_l
113 --output-suppressed-reads $output_suppressed_reads_l
114 #end if
115 #else
116 #if $output_unmapped_reads_l and $output_unmapped_reads_r
117 --output-unmapped-reads-l $output_unmapped_reads_l
118 --output-unmapped-reads-r $output_unmapped_reads_r
119 #end if
120 #if $output_suppressed_reads_l and $output_suppressed_reads_l
121 --output-suppressed-reads-l $output_suppressed_reads_l
122 --output-suppressed-reads-r $output_suppressed_reads_r
123 #end if
124 #end if
125
126 </command>
127 <inputs>
128 <conditional name="refGenomeSource">
129 <param name="genomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options">
130 <option value="indexed">Use a built-in index</option>
131 <option value="history">Use one from the history</option>
132 </param>
133 <when value="indexed">
134 <param name="index" type="select" label="Select a reference genome" help="If your genome of interest is not listed, contact your Galaxy admin.">
135 <options from_data_table="bowtie_indexes">
136 <filter type="sort_by" column="2"/>
137 <validator type="no_options" message="No indexes are available for the selected input dataset"/>
138 </options>
139 </param>
140 </when> <!-- build-in -->
141 <when value="history">
142 <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select the reference genome" />
143 </when> <!-- history -->
144 </conditional> <!-- refGenomeSource -->
145
146 <!-- Input Parameters -->
147 <conditional name="singlePaired">
148 <param name="sPaired" type="select" label="Is this library mate-paired?">
149 <option value="single">Single-end</option>
150 <option value="paired">Paired-end</option>
151 </param>
152 <when value="single">
153 <param name="input_singles" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="FASTQ/FASTA file" help="FASTQ or FASTA files." />
154 </when>
155 <when value="paired">
156 <repeat name="mate_list" title="Paired End Pairs" min="1">
157 <param name="input_mate1" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="Mate pair 1" help="FASTQ or FASTA files." />
158 <param name="input_mate2" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="Mate pair 2" help="FASTQ or FASTA files." />
159 </repeat>
160 <param name="minInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments" />
161 <param name="maxInsert" type="integer" value="500" label="Maximum insert size for valid paired-end alignments" />
162 </when>
163 </conditional>
164
165
166 <conditional name="params">
167 <param name="settingsType" type="select" label="Bismark settings to use" help="You can use the default settings or set custom values for any of Bismark's parameters.">
168 <option value="default">Use Defaults</option>
169 <option value="custom">Full parameter list</option>
170 </param>
171 <when value="default" />
172 <!-- Full/advanced params. -->
173 <when value="custom">
174 <!-- -n -->
175 <param name="seed_mismatches" type="select" label="The maximum number of mismatches permitted in the 'seed'">
176 <option value="0">0</option>
177 <option value="1">1</option>
178 <option value="2" selected="true">2</option>
179 <option value="3">3</option>
180 </param>
181 <!-- -l -->
182 <param name="seed_len" type="integer" value="28" label="The 'seed length'; The number of bases of the high quality end of the read to which the maximum number of mismatches applies" />
183 <!--
184 <param name="maqerr" type="integer" value="70" label="Maximum permitted total of quality values at all mismatched read positions throughout the entire alignment, not just in the 'seed'." />
185 -->
186 <param name="qupto" type="integer" value="0" label="Only aligns the first N reads or read pairs from the input" help="Default is 0 and means 'no-limit'." />
187 <param name="skip_reads" type="integer" value="0" label="Skip (i.e. do not align) the first N reads or read pairs from the input" />
188
189 <param name="suppressed_read_file" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write ambiguous reads to an extra output file" help="Write all reads which produce more than one valid alignment with the same number of lowest mismatches or other reads that fail to align uniquely." />
190 <param name="unmapped_read_file" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write all reads that could not be aligned to a file" />
191 <!-- output Options -->
192 <param name="bismark_stdout" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write the bismark output and summary information to an extra file" />
193 <param name="isReportOutput" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Offer all report files concatenated in one file" />
194 <!--end output options -->
195 </when> <!-- full -->
196 </conditional> <!-- params -->
197 <!--
198 <param name="suppress_header" type="boolean" truevalue="..suppress-header" falsevalue="" checked="false" label="Suppress the header in the output SAM file" help="Bowtie produces SAM with several lines of header information by default." />
199 -->
200 </inputs>
201 <outputs>
202 <data format="txt" name="report_file" label="${tool.name} on ${on_string}: Report">
203 <filter>
204 ((
205 params['settingsType'] == "custom" and
206 params['isReportOutput'] is True
207 ))
208 </filter>
209 </data>
210 <data format="txt" name="output_stdout" label="${tool.name} on ${on_string}: Summary">
211 <filter>
212 ((
213 params['settingsType'] == "custom" and
214 params['bismark_stdout'] is True
215 ))
216 </filter>
217 </data>
218
219 <data format="bam" name="output" label="${tool.name} on ${on_string}: mapped reads">
220 <actions>
221 <conditional name="refGenomeSource.genomeSource">
222 <when value="indexed">
223 <action type="metadata" name="dbkey">
224 <option type="from_data_table" name="bowtie2_indexes" column="1" offset="0">
225 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
226 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
227 </option>
228 </action>
229 </when>
230 <when value="history">
231 <action type="metadata" name="dbkey">
232 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
233 </action>
234 </when>
235 </conditional>
236 </actions>
237 </data>
238
239 <data format="fastq" name="output_suppressed_reads_l" label="${tool.name} on ${on_string}: suppressed reads (L)">
240 <filter>
241 ((
242 params['settingsType'] == "custom" and
243 params['suppressed_read_file'] is True
244 ))
245 </filter>
246 <actions>
247 <conditional name="singlePaired.sPaired">
248 <when value="single">
249 <action type="format">
250 <option type="from_param" name="singlePaired.input_singles" param_attribute="ext" />
251 </action>
252 </when>
253 <when value="paired">
254 <action type="format">
255 <option type="from_param" name="singlePaired.mate_list[0].input_mate1" param_attribute="ext" />
256 </action>
257 </when>
258 </conditional>
259 </actions>
260 </data>
261
262 <data format="fastq" name="output_suppressed_reads_r" label="${tool.name} on ${on_string}: suppressed reads (R)">
263 <filter>singlePaired['sPaired'] == "paired"</filter>
264 <filter>params['settingsType'] == "custom"</filter>
265 <filter>params['supressed_read_file'] is True</filter>
266 <actions>
267 <conditional name="singlePaired.sPaired">
268 <when value="single">
269 <action type="format">
270 <option type="from_param" name="singlePaired.input_singles" param_attribute="ext" />
271 </action>
272 </when>
273 <when value="paired">
274 <action type="format">
275 <option type="from_param" name="singlePaired.mate_list[0].input_mate1" param_attribute="ext" />
276 </action>
277 </when>
278 </conditional>
279 </actions>
280 </data>
281
282 <!-- Outout unmapped reads -->
283 <data format="fastq" name="output_unmapped_reads_l" label="${tool.name} on ${on_string}: unmapped reads (L)">
284 <filter>
285 ((
286 params['settingsType'] == "custom" and
287 params['unmapped_read_file'] is True
288 ))
289 </filter>
290 <actions>
291 <conditional name="singlePaired.sPaired">
292 <when value="single">
293 <action type="format">
294 <option type="from_param" name="singlePaired.input_singles" param_attribute="ext" />
295 </action>
296 </when>
297 <when value="paired">
298 <action type="format">
299 <option type="from_param" name="singlePaired.mate_list[0].input_mate1" param_attribute="ext" />
300 </action>
301 </when>
302 </conditional>
303 </actions>
304 </data>
305 <data format="fastq" name="output_unmapped_reads_r" label="${tool.name} on ${on_string}: unmapped reads (R)">
306 <filter>singlePaired['sPaired'] == "paired"</filter>
307 <filter>params['settingsType'] == "custom"</filter>
308 <filter>params['unmapped_read_file'] is True</filter>
309 <actions>
310 <conditional name="singlePaired.sPaired">
311 <when value="single">
312 <action type="format">
313 <option type="from_param" name="singlePaired.input_singles" param_attribute="ext" />
314 </action>
315 </when>
316 <when value="paired">
317 <action type="format">
318 <option type="from_param" name="singlePaired.mate_list[0].input_mate1" param_attribute="ext" />
319 </action>
320 </when>
321 </conditional>
322 </actions>
323 </data>
324
325
326 </outputs>
327
328 <tests>
329 </tests>
330
331 <help>
332
333 **What it does**
334
335 Bismark_ is a bisulfite mapper and methylation caller. Bismark takes in FastA or FastQ files and aligns the
336 reads to a specified bisulfite genome. Sequence reads are transformed into a bisulfite converted forward strand
337 version (C->T conversion) or into a bisulfite treated reverse strand (G->A conversion of the forward strand).
338 Each of these reads are then aligned to bisulfite treated forward strand index of a reference genome
339 (C->T converted) and a bisulfite treated reverse strand index of the genome (G->A conversion of the
340 forward strand, by doing this alignments will produce the same positions). These 4 instances of Bowtie (1 or 2)
341 are run in parallel. The sequence file(s) are then read in again sequence by sequence to pull out the original
342 sequence from the genome and determine if there were any protected C's present or not.
343
344 .. _Bismark: http://www.bioinformatics.babraham.ac.uk/projects/bismark/
345
346 As of version 0.7.0 Bismark will only run 2 alignment threads for OT and OB in parallel, the 4 strand mode can be
347 re-enabled by using non_directional mode.
348
349 It is developed by Krueger F and Andrews SR. at the Babraham Institute. Krueger F, Andrews SR. (2011) Bismark: a flexible aligner and methylation caller for Bisulfite-Seq applications. Bioinformatics, 27, 1571-2.
350
351 ------
352
353 **Know what you are doing**
354
355 .. class:: warningmark
356
357 There is no such thing (yet) as an automated gearshift in short read mapping. It is all like stick-shift driving in San Francisco. In other words = running this tool with default parameters will probably not give you meaningful results. A way to deal with this is to **understand** the parameters by carefully reading the `documentation`__ and experimenting. Fortunately, Galaxy makes experimenting easy.
358
359 .. __: http://www.bioinformatics.babraham.ac.uk/projects/bismark/
360
361
362 .. class:: warningmark
363
364 Make sure all your input reads are in the correct and same format. If thats not the case please adjust/convert the filetype with galaxy's build-in converters.
365
366 ------
367
368 **Input formats**
369
370 Bismark accepts files in either Sanger FASTQ format (galaxy type *fastqsanger*), Illumina FASTQ format (galaxy type *fastqillumina*) or FASTA format (galaxy type *fasta*). Use the FASTQ Groomer to prepare your files.
371
372 ------
373
374 **A Note on Built-in Reference Genomes**
375
376 The default variant for all genomes is "Full", defined as all primary chromosomes (or scaffolds/contigs) including mitochondrial plus associated unmapped, plasmid, and other segments. When only one version of a genome is available in this tool, it represents the default "Full" variant. Some genomes will have more than one variant available. The "Canonical Male" or sometimes simply "Canonical" variant contains the primary chromosomes for a genome. For example a human "Canonical" variant contains chr1-chr22, chrX, chrY, and chrM. The "Canonical Female" variant contains the primary chromosomes excluding chrY.
377
378 ------
379
380 The final output of Bismark is in SAM format by default.
381
382 **Outputs**
383
384 The output is in SAM format, and has the following columns::
385
386 Column Description
387 -------- --------------------------------------------------------
388 1 QNAME seq-ID
389 2 FLAG this flag tries to take the strand a bisulfite read
390 originated from into account
391 (this is different from ordinary DNA alignment flags!)
392 3 RNAME chromosome
393 4 POS start position
394 5 MAPQ always 255
395 6 CIGAR extended CIGAR string
396 7 MRNM Mate Reference sequence NaMe ('=' if same as RNAME)
397 8 MPOS 1-based Mate POSition
398 9 ISIZE Inferred insert SIZE
399 10 SEQ query SEQuence on the same strand as the reference
400 11 QUAL Phred33 scale
401 12 NM-tag edit distance to the reference)
402 13 XX-tag base-by-base mismatches to the reference.
403 This does not include indels.
404 14 XM-tag methylation call string
405 15 XR-tag read conversion state for the alignment
406 16 XG-tag genome conversion state for the alignment
407
408
409 Each read of paired-end alignments is written out in a separate line in the above format.
410
411
412 It looks like this (scroll sideways to see the entire example)::
413
414 QNAME FLAG RNAME POS MAPQ CIAGR MRNM MPOS ISIZE SEQ QUAL OPT
415 HWI-EAS91_1_30788AAXX:1:1:1761:343 4 * 0 0 * * 0 0 AAAAAAANNAAAAAAAAAAAAAAAAAAAAAAAAAAACNNANNGAGTNGNNNNNNNGCTTCCCACAGNNCTGG hhhhhhh;;hhhhhhhhhhh^hOhhhhghhhfhhhgh;;h;;hhhh;h;;;;;;;hhhhhhghhhh;;Phhh
416 HWI-EAS91_1_30788AAXX:1:1:1578:331 4 * 0 0 * * 0 0 GTATAGANNAATAAGAAAAAAAAAAATGAAGACTTTCNNANNTCTGNANNNNNNNTCTTTTTTCAGNNGTAG hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhhhh;;h;;hhhh;h;;;;;;;hhhhhhhhhhh;;hhVh
417
418 -------
419
420 **Bismark settings**
421
422 All of the options have a default value. You can change any of them. If any Bismark function is missing please contact the tool author or your Galaxy admin.
423
424 ------
425
426 **Bismark parameter list**
427
428 This is an exhaustive list of Bismark options.
429
430 Input::
431
432 --singles A comma- or space-separated list of files containing the reads to be aligned (e.g.
433 lane1.fq,lane2.fq lane3.fq). Reads may be a mix of different lengths. Bismark will
434 produce one mapping result and one report file per input file.
435
436 -1 mates1 Comma-separated list of files containing the #1 mates (filename usually includes
437 "_1"), e.g. flyA_1.fq,flyB_1.fq). Sequences specified with this option must
438 correspond file-for-file and read-for-read with those specified in mates2.
439 Reads may be a mix of different lengths. Bismark will produce one mapping result
440 and one report file per paired-end input file pair.
441
442 -2 mates2 Comma-separated list of files containing the #2 mates (filename usually includes
443 "_2"), e.g. flyA_1.fq,flyB_1.fq). Sequences specified with this option must
444 correspond file-for-file and read-for-read with those specified in mates1.
445 Reads may be a mix of different lengths.
446
447 -q/--fastq The query input files (specified as mate1,mate2 or singles are FASTQ
448 files (usually having extension .fg or .fastq). This is the default. See also
449 --solexa-quals.
450
451 -f/--fasta The query input files (specified as mate1,mate2 or singles are FASTA
452 files (usually havin extension .fa, .mfa, .fna or similar). All quality values
453 are assumed to be 40 on the Phred scale.
454
455 -s/--skip INT Skip (i.e. do not align) the first INT reads or read pairs from the input.
456
457 -u/--upto INT Only aligns the first INT reads or read pairs from the input. Default: no limit.
458
459 --phred33-quals FASTQ qualities are ASCII chars equal to the Phred quality plus 33. Default: on.
460
461 --phred64-quals FASTQ qualities are ASCII chars equal to the Phred quality plus 64. Default: off.
462
463 --solexa-quals Convert FASTQ qualities from solexa-scaled (which can be negative) to phred-scaled
464 (which can't). The formula for conversion is:
465 phred-qual = 10 * log(1 + 10 ** (solexa-qual/10.0)) / log(10). Used with -q. This
466 is usually the right option for use with (unconverted) reads emitted by the GA
467 Pipeline versions prior to 1.3. Works only for Bowtie 1. Default: off.
468
469 --solexa1.3-quals Same as --phred64-quals. This is usually the right option for use with (unconverted)
470 reads emitted by GA Pipeline version 1.3 or later. Default: off.
471
472
473 Alignment::
474
475 -n/--seedmms INT The maximum number of mismatches permitted in the "seed", i.e. the first L base pairs
476 of the read (where L is set with -l/--seedlen). This may be 0, 1, 2 or 3 and the
477 default is 1. This option is only available for Bowtie 1 (for Bowtie 2 see -N).
478
479 -l/--seedlen The "seed length"; i.e., the number of bases of the high quality end of the read to
480 which the -n ceiling applies. The default is 28. Bowtie (and thus Bismark) is faster for
481 larger values of -l. This option is only available for Bowtie 1 (for Bowtie 2 see -L).
482
483 -e/--maqerr INT Maximum permitted total of quality values at all mismatched read positions throughout
484 the entire alignment, not just in the "seed". The default is 70. Like Maq, bowtie rounds
485 quality values to the nearest 10 and saturates at 30. This value is not relevant for
486 Bowtie 2.
487
488 --chunkmbs INT The number of megabytes of memory a given thread is given to store path descriptors in
489 --best mode. Best-first search must keep track of many paths at once to ensure it is
490 always extending the path with the lowest cumulative cost. Bowtie tries to minimize the
491 memory impact of the descriptors, but they can still grow very large in some cases. If
492 you receive an error message saying that chunk memory has been exhausted in --best mode,
493 try adjusting this parameter up to dedicate more memory to the descriptors. This value
494 is not relevant for Bowtie 2. Default: 512.
495
496 -I/--minins INT The minimum insert size for valid paired-end alignments. E.g. if -I 60 is specified and
497 a paired-end alignment consists of two 20-bp alignments in the appropriate orientation
498 with a 20-bp gap between them, that alignment is considered valid (as long as -X is also
499 satisfied). A 19-bp gap would not be valid in that case. Default: 0.
500
501 -X/--maxins INT The maximum insert size for valid paired-end alignments. E.g. if -X 100 is specified and
502 a paired-end alignment consists of two 20-bp alignments in the proper orientation with a
503 60-bp gap between them, that alignment is considered valid (as long as -I is also satisfied).
504 A 61-bp gap would not be valid in that case. Default: 500.
505
506
507
508 Output::
509
510 --non_directional The sequencing library was constructed in a non strand-specific manner, alignments to all four
511 bisulfite strands will be reported. Default: OFF.
512
513 (The current Illumina protocol for BS-Seq is directional, in which case the strands complementary
514 to the original strands are merely theoretical and should not exist in reality. Specifying directional
515 alignments (which is the default) will only run 2 alignment threads to the original top (OT)
516 or bottom (OB) strands in parallel and report these alignments. This is the recommended option
517 for sprand-specific libraries).
518
519 --sam-no-hd Suppress SAM header lines (starting with @). This might be useful when very large input files are
520 split up into several smaller files to run concurrently and the output files are to be merged.
521
522 --quiet Print nothing besides alignments.
523
524 --vanilla Performs bisulfite mapping with Bowtie 1 and prints the 'old' output (as in Bismark 0.5.X) instead
525 of SAM format output.
526
527 -un/--unmapped Write all reads that could not be aligned to a file in the output directory. Written reads will
528 appear as they did in the input, without any translation of quality values that may have
529 taken place within Bowtie or Bismark. Paired-end reads will be written to two parallel files with _1
530 and _2 inserted in their filenames, i.e. _unmapped_reads_1.txt and unmapped_reads_2.txt. Reads
531 with more than one valid alignment with the same number of lowest mismatches (ambiguous mapping)
532 are also written to _unmapped_reads.txt unless the option --ambiguous is specified as well.
533
534 --ambiguous Write all reads which produce more than one valid alignment with the same number of lowest
535 mismatches or other reads that fail to align uniquely to a file in the output directory.
536 Written reads will appear as they did in the input, without any of the translation of quality
537 values that may have taken place within Bowtie or Bismark. Paired-end reads will be written to two
538 parallel files with _1 and _2 inserted in theit filenames, i.e. _ambiguous_reads_1.txt and
539 _ambiguous_reads_2.txt. These reads are not written to the file specified with --un.
540
541 -o/--output_dir DIR Write all output files into this directory. By default the output files will be written into
542 the same folder as the input file(s). If the specified folder does not exist, Bismark will attempt
543 to create it first. The path to the output folder can be either relative or absolute.
544
545 --temp_dir DIR Write temporary files to this directory instead of into the same directory as the input files. If
546 the specified folder does not exist, Bismark will attempt to create it first. The path to the
547 temporary folder can be either relative or absolute.
548
549 </help>
550 </tool>