<tool name="AddOrReplaceReadGroups" id="picard_AddOrReplaceReadGroups" version="@TOOL_VERSION@.@WRAPPER_VERSION@">
  <description>add or replaces read group information</description>
  <macros>
    <import>picard_macros.xml</import>
    <import>read_group_macros.xml</import>
    <token name="@WRAPPER_VERSION@">1</token>
  </macros>
  <expand macro="requirements" />
  <command detect_errors="exit_code"><![CDATA[
    @define_read_group_helpers@
    #set $rg_auto_name = $read_group_name_default($inputFile)
    @set_read_group_vars@
    @java_options@
    @symlink_element_identifier@
    picard
      AddOrReplaceReadGroups
      INPUT='$escaped_element_identifier'
      $format_read_group("RGLB=", $rg_lb, '"')
      $format_read_group("RGPL=", $rg_pl, '"')
      $format_read_group("RGPU=", $rg_pu, '"')
      $format_read_group("RGSM=", $rg_sm, '"')
      $format_read_group("RGID=", $rg_id, '"')
      $format_read_group("RGDS=", $rg_ds, '"')
      $format_read_group("RGPI=", $rg_pi, '"')
      $format_read_group("RGDT=", $rg_dt, '"')
      VALIDATION_STRINGENCY="${validation_stringency}"
      QUIET=true
      VERBOSITY=ERROR
      @TMPDIR_OPTION@
      OUTPUT="${outFile}"

  ]]></command>

  <inputs>
    <param format="bam,sam" name="inputFile" type="data" label="Select SAM/BAM dataset or dataset collection" help="If empty, upload or import a SAM/BAM dataset" />
    <expand macro="read_group_inputs_picard" />
    <expand macro="VS" />

  </inputs>

  <outputs>
    <data name="outFile" format="bam" label="${tool.name} on ${on_string}: BAM with replaced/modified readgroups"/>
  </outputs>


  <tests>
    <test>
      <param name="inputFile" value="picard_ARRG.bam" />
      <param name="LB" value="tumor-a" />
      <param name="PL" value="ILLUMINA" />
      <param name="PU" value="run-1" />
      <param name="SM" value="sample-a" />
      <param name="ID" value="id-1" />
      <output name="outFile" file="picard_ARRG_test1.bam" ftype="bam" />
    </test>
  </tests>
  <help>

.. class:: infomark

**Purpose**

Add or Replace Read Groups in an input BAM or SAM file.

@dataset_collections@

@RG@

@description@

  INPUT=File
  I=File                  Input file (bam or sam).  Required.

  OUTPUT=File
  O=File                  Output file (bam or sam).  Required.

  SORT_ORDER=SortOrder
  SO=SortOrder            Optional sort order to output in. If not supplied OUTPUT is in the same order as INPUT.
                          Default value: null. Possible values: {unsorted, queryname, coordinate}

  RGID=String
  ID=String               Read Group ID  Default value: 1. This option can be set to 'null' to clear the default
                          value.

  RGLB=String
  LB=String               Read Group Library  Required.

  RGPL=String
  PL=String               Read Group platform (e.g. illumina, solid)  Required.

  RGPU=String
  PU=String               Read Group platform unit (eg. run barcode)  Required.

  RGSM=String
  SM=String               Read Group sample name  Required.

  RGCN=String
  CN=String               Read Group sequencing center name  Default value: null.

  RGDS=String
  DS=String               Read Group description  Default value: null.

  RGDT=Iso8601Date
  DT=Iso8601Date          Read Group run date  Default value: null.

  RGPI=Integer
  PI=Integer              Read Group predicted insert size  Default value: null.

@more_info@
  </help>
  <expand macro="citations" />
</tool>
