<!--
  ~ Copyright (C) 2009-2010 Institute for Computational Biomedicine,
  ~                    Weill Medical College of Cornell University
  ~
  ~  This program is free software; you can redistribute it and/or modify
  ~  it under the terms of the GNU General Public License as published by
  ~  the Free Software Foundation; either version 3 of the License, or
  ~  (at your option) any later version.
  ~
  ~  This program is distributed in the hope that it will be useful,
  ~  but WITHOUT ANY WARRANTY; without even the implied warranty of
  ~  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  ~  GNU General Public License for more details.
  ~
  ~  You should have received a copy of the GNU General Public License
  ~  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  -->

<jsap>
    <parameters>
        <unflaggedOption>
            <id>input</id>
            <required>true</required>
            <greedy>true</greedy>
            <help>The compact alignment file(s) to read as input.</help>
        </unflaggedOption>
        <flaggedOption>
            <id>output</id>
            <shortFlag>o</shortFlag>
            <longFlag>output</longFlag>
            <required>false</required>
            <help>The basename of the output counts.</help>
        </flaggedOption>
        <flaggedOption>
            <id>include-reference-names</id>
            <shortFlag>r</shortFlag>
            <longFlag>include-reference-names</longFlag>
            <required>false</required>
            <help>When provided, only write counts for reference identifiers listed in this comma separated list. To
                process only counts for chromosome 19 and 1, if sequences are identified by 1 and 19, use:
                --include-reference-names 1,19
            </help>
        </flaggedOption>
        <flaggedOption>
            <id>full-genome</id>
            <longFlag>full-genome</longFlag>
            <defaults>
                <string>true</string>
            </defaults>
            <stringParser>
                <classname>BooleanStringParser</classname>
            </stringParser>
            <help>Indicates that the query sequences were aligned to a full genome. When this argument is true, counts
                are calculated along each reference sequence and the full count histogram is output in compressed format
                (basename ".counts"). When this argument is false, the alignment is assumed to have been done to many
                short reference sequences, and counts are output in a tab delimited format, one for each reference
                sequence identifier.
            </help>
        </flaggedOption>
        <switch>
            <id>start-only</id>
            <longFlag>start-only</longFlag>
            <help>When this switch is provided, will only accumulate start positions in the specified strand.</help>
        </switch>
        <flaggedOption>
            <id>strand-choice</id>
            <shortFlag>s</shortFlag>
            <longFlag>strand-choice</longFlag>
            <required>false</required>
            <defaults>
                <string>both</string>
            </defaults>
            <help>When provided with the --start argument, consider only start positions on the specified strand. Valid
                strand choices include {positive/forward, negative/reverse, both/either}.
            </help>
        </flaggedOption>
        <flaggedOption>
            <id>use-weights</id>
            <shortFlag>w</shortFlag>
            <longFlag>use-weights</longFlag>
            <required>false</required>
            <defaults>
                <string>false</string>
            </defaults>
            <help>When the flag is set to anything but "false" this mode will attemtpt to load a file containing weights
                which are used to adjust the read count for annotations. The file loaded will be named using the
                basename with the extension of this parameter appended with the string"-weights"
            </help>
        </flaggedOption>
        <flaggedOption>
            <id>adjust-gc-bias</id>
            <longFlag>adjust-gc-bias</longFlag>
            <required>false</required>
            <stringParser>
                <classname>StringStringParser</classname>
            </stringParser>
            <defaults>
                <string>false</string>
            </defaults>
            <help>When other than false, the identifier of a formula to reweight counts (requires use-weights gc). If
                false, no reweighting is done. This option is available since Goby 1.7.
            </help>
        </flaggedOption>
        <flaggedOption>
            <id>filter-ambiguous-reads</id>
            <longFlag>filter-ambiguous-reads</longFlag>
            <required>true</required>
            <help>If true, the reads that match more locations than the ambiguity threshold are not used to construct
                the histogram output. When false, all reads are considered. Please note that prior to Goby 1.9.7.1, this
                mode used false. The default for Goby 1.9.7.1+ is true.
            </help>
            <stringParser>
                <classname>BooleanStringParser</classname>
            </stringParser>
            <defaults>
                <string>true</string>
            </defaults>
        </flaggedOption>
    </parameters>
</jsap>
