<tool name="NormalizeFasta" id="picard_NormalizeFasta" version="@TOOL_VERSION@.@WRAPPER_VERSION@">
  <description>normalize fasta datasets</description>
  <macros>
    <import>picard_macros.xml</import>
    <token name="@WRAPPER_VERSION@">1</token>
  </macros>
  <expand macro="requirements" />
  <command detect_errors="exit_code"><![CDATA[
    @java_options@

    ## Two lines below are due to the fact that picard likes fasta files to have extension .fa
    #import re
    #set escaped_element_identifier = re.sub('[^\w\-]', '_', str($inputFile.element_identifier))
    ln -f -s '$inputFile' '$escaped_element_identifier'.fa &&
    picard
    NormalizeFasta

    INPUT='$escaped_element_identifier'.fa
    OUTPUT="${outFile}"
    LINE_LENGTH="${line_length}"
    TRUNCATE_SEQUENCE_NAMES_AT_WHITESPACE="${truncate_sequence_names_at_whitespaces}"

    QUIET=true
    VERBOSITY=ERROR
    @TMPDIR_OPTION@

  ]]></command>
  <inputs>
    <param format="fasta" name="inputFile" type="data" label="FASTA dataset or dataset collection" help="If empty, upload or import a FASTA dataset" />
    <param name="line_length" type="integer" value="100" min="1" max="200" label="The line length to be used for the output fasta file" help="LINE_LENGTH; default=100"/>
    <param name="truncate_sequence_names_at_whitespaces" type="boolean" label="Truncate sequence names at first whitespace" help="TRUNCATE_SEQUENCE_NAMES_AT_WHITESPACE; default=False"/>
  </inputs>

  <outputs>
    <data format="fasta" name="outFile" label="${tool.name} on ${on_string}: Normalized FASTA dataset"/>
  </outputs>

  <tests>
    <test>
      <param name="inputFile" value="picard_NormalizeFasta_ref.fa" ftype="fasta"/>
      <param name="line_length" value="40"/>
      <param name="truncate_sequence_names_at_whitespaces" value="False"/>
      <output name="outFile" file="picard_NormalizeFasta_test1.fa" ftype="fasta"/>
    </test>
  </tests>


  <help>

**Purpose**

Takes any dataset that conforms to the fasta format and normalizes it so that all lines of sequence except the last line per named sequence are of the same length.

@dataset_collections@

@description@

  LINE_LENGTH=Integer           The line length to be used for the output fasta file.  Default value: 100.

  TRUNCATE_SEQUENCE_NAMES_AT_WHITESPACE=Boolean
                                Truncate sequence names at first whitespace.  Default value: false. Possible values: {true, false}

@more_info@

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