comparison deepTools_macros.xml @ 17:79bc5d836c75 draft

planemo upload for repository https://github.com/deeptools/deepTools/tree/master/galaxy/wrapper/ commit b1f975422b307927bbbe245d57609e9464d5d5c8-dirty
author bgruening
date Thu, 15 Feb 2018 15:06:39 -0500
parents 38b63f7f8f7a
children b357ab778a71
comparison
equal deleted inserted replaced
16:38b63f7f8f7a 17:79bc5d836c75
1 <macros> 1 <macros>
2 2
3 <token name="@THREADS@">--numberOfProcessors "\${GALAXY_SLOTS:-4}"</token> 3 <token name="@THREADS@">--numberOfProcessors "\${GALAXY_SLOTS:-4}"</token>
4 <token name="@WRAPPER_VERSION@">2.5.7</token> 4 <token name="@WRAPPER_VERSION@">3.0.0</token>
5 <xml name="requirements"> 5 <xml name="requirements">
6 <requirements> 6 <requirements>
7 <requirement type="package" version="2.5.7">deeptools</requirement> 7 <requirement type="package" version="3.0.0">deeptools</requirement>
8 <yield /> 8 <requirement type="package" version="1.7">samtools</requirement>
9 </requirements> 9 </requirements>
10 <expand macro="stdio" /> 10 <expand macro="stdio" />
11 <version_command>@BINARY@ --version</version_command> 11 <version_command>@BINARY@ --version</version_command>
12 </xml> 12 </xml>
13 13
98 98
99 99
100 <xml name="includeZeros"> 100 <xml name="includeZeros">
101 <param argument="--includeZeros" type="boolean" truevalue="--includeZeros" falsevalue="" 101 <param argument="--includeZeros" type="boolean" truevalue="--includeZeros" falsevalue=""
102 label="Include zeros" 102 label="Include zeros"
103 help="If set, then regions with zero counts for *all* BAM files are included. The default behavior is to ignore such regions." /> 103 help="If set, then regions with zero counts for *all* BAM/CRAM files are included. The default behavior is to ignore such regions." />
104 </xml> 104 </xml>
105 105
106 <xml name="zMin_zMax"> 106 <xml name="zMin_zMax">
107 <param argument="--zMin" type="text" value="" optional="true" label="Minimum value for the heatmap intensities" 107 <param argument="--zMin" type="text" value="" optional="true" label="Minimum value for the heatmap intensities"
108 help="If not specified the value is set automatically."/> 108 help="If not specified the value is set automatically."/>
236 </xml> 236 </xml>
237 237
238 <xml name="extendReads"> 238 <xml name="extendReads">
239 <conditional name="doExtendCustom"> 239 <conditional name="doExtendCustom">
240 <param name="doExtend" type="select" label="Extend reads to the given average fragment size." 240 <param name="doExtend" type="select" label="Extend reads to the given average fragment size."
241 help="(1) Single-end reads and singletons are extended to match this length. (2) Paired-end reads are extended to match the fragment size, regardless of what is set here. 241 help="If selected : Single-end reads and singletons are extended to match the given length and Paired-end reads are extended to match the fragment size.
242 By default *each* read mate is extended. 242 By default *each* read mate is extended.
243 This can be modified using the SAM flags (see --samFlagInclude and --samFlagExclude options) to keep only the first or the second mate. 243 This can be modified using the SAM flags (see --samFlagInclude and --samFlagExclude options) to keep only the first or the second mate.
244 Unmated reads, mate reads that map to different chromosomes or too far apart are extended to the given value. 244 Unmated reads, mate reads that map to different chromosomes or too far apart are extended to the given value.
245 Reads are only extended if --extendReads is set to a value greater than the read length. *NOTE*: For spliced-read data, this option is not 245 Reads are only extended if --extendReads is set to a value greater than the read length. *NOTE*: For spliced-read data, this option is not
246 recommended as it will extend reads over skipped regions, e.g. introns in RNA-seq data."> 246 recommended as it will extend reads over skipped regions, e.g. introns in RNA-seq data.">
310 </xml> 310 </xml>
311 311
312 <xml name="sortRegions"> 312 <xml name="sortRegions">
313 <param argument="--sortRegions" type="select" label="Sort regions" 313 <param argument="--sortRegions" type="select" label="Sort regions"
314 help="Whether the heatmap should present the regions sorted. The default is to sort in descending order based on the mean value per region."> 314 help="Whether the heatmap should present the regions sorted. The default is to sort in descending order based on the mean value per region.">
315 <option value="no">no ordering</option> 315 <option value="no">maintain the same ordering as the input files</option>
316 <option value="descend" selected="true">descending order</option> 316 <option value="descend" selected="true">descending order</option>
317 <option value="ascend">ascending order</option> 317 <option value="ascend">ascending order</option>
318 </param> 318 </param>
319 </xml> 319 </xml>
320 320
321 <xml name="minMappingQuality"> 321 <xml name="minMappingQuality">
322 <param argument="--minMappingQuality" type="integer" optional="true" value="1" min="0" 322 <param argument="--minMappingQuality" type="integer" optional="true" value="1" min="0"
323 label="Minimum mapping quality" 323 label="Minimum mapping quality"
324 help= "If set, only reads with a mapping quality score higher than this value are considered."/> 324 help= "If set, only reads with a mapping quality score at least this high are considered."/>
325 </xml> 325 </xml>
326 326
327 <xml name="skipZeros"> 327 <xml name="skipZeros">
328 <param argument="--skipZeros" type="boolean" truevalue="--skipZeros" falsevalue="" 328 <param argument="--skipZeros" type="boolean" truevalue="--skipZeros" falsevalue=""
329 label ="Skip zeros" 329 label ="Skip zeros"
330 help ="If set, then zero counts that happen for *all* BAM files given are ignored. This may result in fewer considered regions." /> 330 help ="If set, then zero counts that happen for *all* BAM/CRAM files given are ignored. This may result in fewer considered regions." />
331 </xml> 331 </xml>
332 332
333 <xml name="fragmentLength"> 333 <xml name="fragmentLength">
334 <param argument="--fragmentLength" type="integer" value="300" min="1" 334 <param argument="--fragmentLength" type="integer" min="1" optional="true"
335 label="Fragment length used for the sequencing" 335 label="Fragment length used for the sequencing"
336 help ="If paired-end reads are used, the fragment length is computed from the BAM file, so this is only needed for single-end data."/> 336 help ="If paired-end reads are used, the fragment length is computed from the BAM/CRAM file, so this is only needed for single-end data."/>
337 </xml> 337 </xml>
338 338
339 <xml name="scaleFactor"> 339 <xml name="scaleFactor">
340 <param argument="--scaleFactor" type="float" value="1" label="Scaling factor" 340 <param argument="--scaleFactor" type="float" value="1" label="Scaling factor"
341 help="The computed scaling factor will be multiplied by this (default 1)." /> 341 help="The computed scaling factor will be multiplied by this (default 1)." />
388 <param name="orderMatters" type="select" label="Sample order matters" help="By default, the order of samples given to the program is dependent on their order in your history. If the order of the samples is vital to you, select Yes below."> 388 <param name="orderMatters" type="select" label="Sample order matters" help="By default, the order of samples given to the program is dependent on their order in your history. If the order of the samples is vital to you, select Yes below.">
389 <option value="No" selected="true">No</option> 389 <option value="No" selected="true">No</option>
390 <option value="Yes">Yes</option> 390 <option value="Yes">Yes</option>
391 </param> 391 </param>
392 <when value="No"> 392 <when value="No">
393 <param argument="--bamfiles" type="data" format="bam" min="@MIN@" 393 <param argument="--bamfiles" type="data" format="bam,cram" min="@MIN@"
394 label="Bam file" multiple="true" 394 label="BAM/CRAM file" multiple="true"
395 help=""/> 395 help=""/>
396 </when> 396 </when>
397 <when value="Yes"> 397 <when value="Yes">
398 <repeat name="multibam_repeats" min="@MIN@" title="BAM Files"> 398 <repeat name="multibam_repeats" min="@MIN@" title="BAM/CRAM Files">
399 <param argument="--bamfiles" type="data" format="bam" label="BAM file" help="" /> 399 <param argument="--bamfiles" type="data" format="bam,cram" label="BAM/CRAM file" help="" />
400 </repeat> 400 </repeat>
401 </when> 401 </when>
402 </conditional> 402 </conditional>
403 </xml> 403 </xml>
404 404
405 <xml name="multiple_input_bigwigs" tokens="MIN,LABEL,TITLE"> 405 <xml name="multiple_input_bigwigs" tokens="MIN,LABEL,TITLE">
406 <conditional name="multibigwig_conditional"> 406 <conditional name="multibigwig_conditional">
407 <param name="orderMatters" type="select" label="Sample order matters" help="By default, the order of samples given to the program is dependent on their order in your history. If the order of the samples 407 <param name="orderMatters" type="select" label="Sample order matters" help="By default, the order of samples given to the program is dependent on their order in your history. If the order of the samples
408 is vital to you, select Yes below."> 408 is vital to you, select Yes below.">
409 <option value="No" selected="true">No</option> 409 <option value="No" selected="true">No</option>
410 <option value="Yes">Yes</option> 410 <option value="Yes">Yes</option>
411 </param> 411 </param>
412 <when value="No"> 412 <when value="No">
413 <param argument="--bigwigfiles" type="data" format="bigwig" multiple="True" min="@MIN@" 413 <param argument="--bigwigfiles" type="data" format="bigwig" multiple="True" min="@MIN@"
414 label="@LABEL@" 414 label="@LABEL@"
415 help="You can generate a bigWig file from a BAM file using the bamCoverage tool."/> 415 help="You can generate a bigWig file from a BAM/CRAM file using the bamCoverage tool."/>
416 </when> 416 </when>
417 <when value="Yes"> 417 <when value="Yes">
418 <repeat name="multibigwig_repeats" min="@MIN@" title="@TITLE@"> 418 <repeat name="multibigwig_repeats" min="@MIN@" title="@TITLE@">
419 <param argument="--bigwigfiles" type="data" format="bigwig" label="@LABEL@" help="You can generate a bigWig file from a BAM file using the bamCoverage tool."/> 419 <param argument="--bigwigfiles" type="data" format="bigwig" label="@LABEL@" help="You can generate a bigWig file from a BAM/CRAM file using the bamCoverage tool."/>
420 </repeat> 420 </repeat>
421 </when> 421 </when>
422 </conditional> 422 </conditional>
423 </xml> 423 </xml>
424 424
425 <xml name="plotTitle"> 425 <xml name="plotTitle">
426 <param argument="--plotTitle" type="text" value="" size="30" optional="True" 426 <param argument="--plotTitle" type="text" value="" size="30" optional="True"
427 label="Title of the plot" 427 label="Title of the plot"
428 help="Title of the plot, to be printed on top of the generated image." /> 428 help="Title of the plot, to be printed on top of the generated image." />
429 </xml>
430
431 <xml name="labelRotation">
432 <param argument="--labelRotation" type="integer" value="0"
433 label="Rotation of the X-axis labels (in degrees)"
434 help="The rotation of things like TSS or TES on the X-axis of profile plots in both plotHeatmap and plotProfile. The default is 0, positive values denome a counter-clockwise rotation." />
429 </xml> 435 </xml>
430 436
431 437
432 <token name="@multiple_input_bams@"> 438 <token name="@multiple_input_bams@">
433 <![CDATA[ 439 <![CDATA[
436 #import re 442 #import re
437 #if $multibam_conditional.orderMatters == "No": 443 #if $multibam_conditional.orderMatters == "No":
438 #for $counter, $bamfile in enumerate($multibam_conditional.bamfiles): 444 #for $counter, $bamfile in enumerate($multibam_conditional.bamfiles):
439 #set identifier = re.sub('[^\.\s\w\-]', '_', str($bamfile.element_identifier)) 445 #set identifier = re.sub('[^\.\s\w\-]', '_', str($bamfile.element_identifier))
440 ln -s "${bamfile}" "./${counter}.bam" && 446 ln -s "${bamfile}" "./${counter}.bam" &&
441 ln -s "${bamfile.metadata.bam_index}" "./${counter}.bam.bai" && 447 #if $bamfile.ext == 'bam':
442 #silent $files.append('%s.bam' % $counter) 448 ln -s '${bamfile.metadata.bam_index}' './${counter}.bam.bai' &&
449 #else:
450 ln -s '${bamfile.metadata.cram_index}' './${counter}.bam.crai' &&
451 #end if
452 #silent $files.append("'%s.bam'" % $counter)
443 #silent $labels.append("'%s'" % identifier) 453 #silent $labels.append("'%s'" % identifier)
444 #end for 454 #end for
445 #else: 455 #else:
446 #for $counter, $f in enumerate($multibam_conditional.multibam_repeats): 456 #for $counter, $f in enumerate($multibam_conditional.multibam_repeats):
447 #set identifier = re.sub('[^\.\s\w\-]', '_', str($f.bamfiles.element_identifier)) 457 #set identifier = re.sub('[^\.\s\w\-]', '_', str($f.bamfiles.element_identifier))
448 ln -s "${f.bamfiles}" "./${counter}.bam" && 458 ln -s "${f.bamfiles}" "./${counter}.bam" &&
449 ln -s "${f.bamfiles.metadata.bam_index}" "./${counter}.bam.bai" && 459 ln -s "${f.bamfiles.metadata.bam_index}" "./${counter}.bam.bai" &&
450 #silent $files.append('%s.bam' % $counter) 460 #if $f.bamfiles.ext == 'bam':
461 ln -s '${f.bamfiles.metadata.bam_index}' './${counter}.bam.bai' &&
462 #else:
463 ln -s '${f.bamfiles.metadata.cram_index}' './${counter}.bam.crai' &&
464 #end if
465 #silent $files.append("'%s.bam'" % $counter)
451 #silent $labels.append("'%s'" % $identifier) 466 #silent $labels.append("'%s'" % $identifier)
452 #end for 467 #end for
453 #end if 468 #end if
454 ]]> 469 ]]>
455 </token> 470 </token>
461 #import re 476 #import re
462 #if $multibigwig_conditional.orderMatters == "No": 477 #if $multibigwig_conditional.orderMatters == "No":
463 #for $counter, $bigwig in enumerate($multibigwig_conditional.bigwigfiles): 478 #for $counter, $bigwig in enumerate($multibigwig_conditional.bigwigfiles):
464 #set identifier = re.sub('[^\.\s\w\-]', '_', str($bigwig.element_identifier)) 479 #set identifier = re.sub('[^\.\s\w\-]', '_', str($bigwig.element_identifier))
465 ln -f -s "${bigwig}" "${identifier}_${counter}.bw" && 480 ln -f -s "${bigwig}" "${identifier}_${counter}.bw" &&
466 #silent $files.append('%s_%s.bw' % ($identifier, $counter)) 481 #silent $files.append("'%s_%s.bw'" % ($identifier, $counter))
467 #silent $labels.append("'%s'" % $identifier) 482 #silent $labels.append("'%s'" % $identifier)
468 #end for 483 #end for
469 #else: 484 #else:
470 #for $counter, $f in enumerate($multibigwig_conditional.multibigwig_repeats): 485 #for $counter, $f in enumerate($multibigwig_conditional.multibigwig_repeats):
471 #set identifier = re.sub('[^\.\s\w\-]', '_', str($f.bigwigfiles.element_identifier)) 486 #set identifier = re.sub('[^\.\s\w\-]', '_', str($f.bigwigfiles.element_identifier))
472 ln -f -s "${f.bigwigfiles}" "${identifier}_${counter}.bw" && 487 ln -f -s "${f.bigwigfiles}" "${identifier}_${counter}.bw" &&
473 #silent $files.append('%s_%s.bw' % ($identifier, $counter)) 488 #silent $files.append("'%s_%s.bw'" % ($identifier, $counter))
474 #silent $labels.append("'%s'" % $identifier) 489 #silent $labels.append("'%s'" % $identifier)
475 #end for 490 #end for
476 #end if 491 #end if
477 ]]> 492 ]]>
478 </token> 493 </token>
492 #end for 507 #end for
493 #if $blfiles != ["'None'"]: 508 #if $blfiles != ["'None'"]:
494 --blackListFileName #echo ' '.join($blfiles)# 509 --blackListFileName #echo ' '.join($blfiles)#
495 #end if 510 #end if
496 #end if 511 #end if
497 ]]> 512 ]]>
498 </token> 513 </token>
499 514
500 <xml name="multiple_bed"> 515 <xml name="multiple_bed">
501 <param argument="--BED" type="data" format="bed,gtf" min="1" multiple="true" 516 <param argument="--BED" type="data" format="bed,gtf" min="1" multiple="true"
502 label="Regions in BED/GTF format" 517 label="Regions in BED/GTF format"
513 #end for 528 #end for
514 #if len($files) > 0: 529 #if len($files) > 0:
515 --BED #echo ' '.join($files)# 530 --BED #echo ' '.join($files)#
516 --regionLabels #echo ' '.join($labels)# 531 --regionLabels #echo ' '.join($labels)#
517 #end if 532 #end if
518 ]]> 533 ]]>
519 </token> 534 </token>
520 535
521 <xml name="reference_genome_source"> 536 <xml name="reference_genome_source">
522 <conditional name="source"> 537 <conditional name="source">
523 <param name="ref_source" type="select" label="Reference genome"> 538 <param name="ref_source" type="select" label="Reference genome">
549 <xml name="effectiveGenomeSize"> 564 <xml name="effectiveGenomeSize">
550 <conditional name="effectiveGenomeSize"> 565 <conditional name="effectiveGenomeSize">
551 <param name="effectiveGenomeSize_opt" type="select" label="Effective genome size" 566 <param name="effectiveGenomeSize_opt" type="select" label="Effective genome size"
552 help="The effective genome size is the portion of the genome that is mappable. Large fractions of the genome are stretches of NNNN that should be discarded. 567 help="The effective genome size is the portion of the genome that is mappable. Large fractions of the genome are stretches of NNNN that should be discarded.
553 Also, if repetitive regions were not included in the mapping of reads, the effective genome size needs to be adjusted accordingly. 568 Also, if repetitive regions were not included in the mapping of reads, the effective genome size needs to be adjusted accordingly.
554 See Table 2 of http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0030377 or http://www.nature.com/nbt/journal/v27/n1/fig_tab/nbt.1518_T1.html for several effective genome sizes."> 569 We provide a table of useful sizes here: http://deeptools.readthedocs.io/en/latest/content/feature/effectiveGenomeSize.html">
555 <option value="93260000">ce10 (93260000)</option> 570 <option value="93260000">ce10 (93260000)</option>
556 <option value="121400000">dm3 (121400000)</option> 571 <option value="130428560">dm3 (130428560)</option>
557 <option value="2451960000" selected="true">hg19 (2451960000)</option> 572 <option value="125464728">dm6 (125464728)</option>
558 <option value="2150570000">mm9 (2150570000)</option> 573 <option value="2685511504" selected="true">hg19/GRCh37 (2685511504)</option>
574 <option value="2701495761">GRCh38/hg38 (2701495761)</option>
575 <option value="2304947926">GRCm37/mm9 (2304947926)</option>
576 <option value="2308125349">GRCm38/mm10 (2308125349)</option>
559 <option value="specific">user specified</option> 577 <option value="specific">user specified</option>
560 </param> 578 </param>
561 <when value="specific"> 579 <when value="specific">
562 <param argument="--effectiveGenomeSize" type="integer" value="" label="Effective genome size" 580 <param argument="--effectiveGenomeSize" type="integer" value="" label="Effective genome size"
563 help="e.g. ce10: 93260000, dm3: 121400000, hg19: 2451960000, mm9: 2150570000"/> 581 help="e.g. ce10: 93260000, dm3: 130428560, hg19: 2685511504, mm9: 2304947926"/>
564 </when> 582 </when>
565 <when value="2150570000" />
566 <when value="2451960000" />
567 <when value="121400000" />
568 <when value="93260000" /> 583 <when value="93260000" />
584 <when value="130428560" />
585 <when value="125464728" />
586 <when value="2685511504" />
587 <when value="2701495761" />
588 <when value="2304947926" />
589 <when value="2308125349" />
569 </conditional> 590 </conditional>
570 </xml> 591 </xml>
571 592
572 <xml name="skipNAs"> 593 <xml name="skipNAs">
573 <param argument="--skipNAs" type="boolean" truevalue="--skipNAs" falsevalue="" checked="False" 594 <param argument="--skipNAs" type="boolean" truevalue="--skipNAs" falsevalue="" checked="False"
594 </param> 615 </param>
595 <when value="no" /> 616 <when value="no" />
596 <when value="yes"> 617 <when value="yes">
597 <yield /> 618 <yield />
598 <param name="saveSortedRegions" type="boolean" 619 <param name="saveSortedRegions" type="boolean"
620 argument="--outFileSortedRegions"
599 label="Save the regions after skipping zeros or min/max threshold values" 621 label="Save the regions after skipping zeros or min/max threshold values"
600 help="The order of the regions in the file follows the sorting order selected. This is useful, 622 help="The order of the regions in the file follows the sorting order selected. This is useful,
601 for example, to generate other heatmaps keeping the sorting of the first heatmap."/> 623 for example, to generate other heatmaps keeping the sorting of the first heatmap."/>
602 </when> 624 </when>
603 </conditional> 625 </conditional>
604 </xml> 626 </xml>
605 627
606 628
607 <xml name="input_image_file_format"> 629 <xml name="input_image_file_format">
608 <param argument="--outFileFormat" type="select" label="Image file format"> 630 <param argument="--outFileFormat" type="select" label="Image file format" help="Note that the plotly output can be very large and not all options are supported.">
609 <option value="png" selected="true">png</option> 631 <option value="png" selected="true">png</option>
610 <option value="pdf">pdf</option> 632 <option value="pdf">pdf</option>
611 <option value="svg">svg</option> 633 <option value="svg">svg</option>
612 <option value="eps">eps</option> 634 <option value="eps">eps</option>
635 <option value="plotly">plotly</option>
613 </param> 636 </param>
614 </xml> 637 </xml>
615 638
616 <xml name="output_dpi"> 639 <xml name="output_dpi">
617 <param argument="--dpi" name="dpi" type="integer" value="200" size="3" optional="True" 640 <param argument="--dpi" name="dpi" type="integer" value="200" size="3" optional="True"
622 <data format="png" name="outFileName" label="${tool.name} image"> 645 <data format="png" name="outFileName" label="${tool.name} image">
623 <change_format> 646 <change_format>
624 <when input="output.outFileFormat" value="pdf" format="pdf" /> 647 <when input="output.outFileFormat" value="pdf" format="pdf" />
625 <when input="output.outFileFormat" value="svg" format="svg" /> 648 <when input="output.outFileFormat" value="svg" format="svg" />
626 <when input="output.outFileFormat" value="eps" format="eps" /> 649 <when input="output.outFileFormat" value="eps" format="eps" />
650 <when input="output.outFileFormat" value="plotly" format="html" />
627 </change_format> 651 </change_format>
628 </data> 652 </data>
629 </xml> 653 </xml>
630 654
631 <xml name="output_image_file_format_not_nested"> 655 <xml name="output_image_file_format_not_nested">
632 <data format="png" name="outFileName" label="${tool.name} image"> 656 <data format="png" name="outFileName" label="${tool.name} image">
633 <change_format> 657 <change_format>
634 <when input="outFileFormat" value="pdf" format="pdf" /> 658 <when input="outFileFormat" value="pdf" format="pdf" />
635 <when input="outFileFormat" value="svg" format="svg" /> 659 <when input="outFileFormat" value="svg" format="svg" />
636 <when input="outFileFormat" value="eps" format="eps" /> 660 <when input="outFileFormat" value="eps" format="eps" />
661 <when input="outFileFormat" value="plotly" format="html" />
637 </change_format> 662 </change_format>
638 </data> 663 </data>
639 </xml> 664 </xml>
640 665
641 <xml name="output_save_matrix_values"> 666 <xml name="output_save_matrix_values">
660 </data> 685 </data>
661 </xml> 686 </xml>
662 687
663 <xml name="colorMap"> 688 <xml name="colorMap">
664 <param name="colorMap" type="select" label="Color map to use for the heatmap" 689 <param name="colorMap" type="select" label="Color map to use for the heatmap"
665 help=" Available color map names can be found here: http://matplotlib.org/examples/color/colormaps_reference.html" 690 help=" Available color map names can be found here: http://matplotlib.org/examples/color/colormaps_reference.html">
666 multiple="true">
667 <option value="RdYlBu" selected="true">RdYlBu</option> 691 <option value="RdYlBu" selected="true">RdYlBu</option>
668 <option value="Accent">Accent</option> 692 <option value="Accent">Accent</option>
669 <option value="Spectral">Spectral</option> 693 <option value="Spectral">Spectral</option>
670 <option value="Set1">Set1</option> 694 <option value="Set1">Set1</option>
671 <option value="Set2">Set2</option> 695 <option value="Set2">Set2</option>