<!--
  ~ 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>groups</id>
            <shortFlag>g</shortFlag>
            <longFlag>groups</longFlag>
            <required>false</required>
            <help>Define groups for multi-group comparisons. The syntax of the groups arguments is id-1=basename1,basename2/id-2=basename4,basename5 Where id-1 is the id of the first group, defined to consist of samples basename1 and basename2. basename1 must refer to a basename provided as input on the command line (see input). Multiple groups are separated by forward slashes (/).</help>
        </flaggedOption>
        <flaggedOption>
            <id>compare</id>
            <longFlag>compare</longFlag>
            <required>false</required>
            <help>Compare transcript counts between groups of samples. The compare flag must be followed by group ids separated by slashes. For instance, if groups group-A and group-B have been defined (see --groups option), --compare group-A/group-B will evaluate statistical tests of different count representation between samples in groups A and B.</help>
        </flaggedOption>
        <flaggedOption>
            <id>normalization-methods</id>
            <longFlag>normalization-methods</longFlag>
            <required>false</required>
              <defaults>
                <string>aligned-count,bullard-upper-quartile</string>
            </defaults>
            <help>Comma separated list of the normalization methods to apply. Method currently supported include (AC=aligned-count) normalization by aligned sample count, or (BUQ=bullard-upper-quartile) Bullard Upper Quantile normalization. By default both options are evaluated. This option is available since goby 1.5.</help>
         </flaggedOption>
                <flaggedOption>
            <id>stats</id>
            <shortFlag>s</shortFlag>
            <longFlag>stats</longFlag>
            <required>false</required>
            <defaults>
                <string>comparison-stats.tsv</string>
            </defaults>
            <help>The filename where statistics will be written (for group comparisons). These files are tab delimited.</help>
        </flaggedOption>
        <flaggedOption>
             <id>use-weights</id>
             <shortFlag>w</shortFlag>
             <longFlag>use-weights</longFlag>
             <required>false</required>
             <stringParser>
                <classname>StringStringParser</classname>
             </stringParser>
             <defaults>
                <string>false</string>
             </defaults>
             <help>Whether weights should be used to adjust read counts. When the flag is true, this mode will try to load a weights file associated with each input basename ('basename'.weight). If found, the weights are used to adjust the read count for annotations. This option is available since Goby 1.7.</help>
        </flaggedOption>
        <flaggedOption>
             <id>eval</id>
             <shortFlag>t</shortFlag>
             <longFlag>eval</longFlag>
             <required>false</required>
             <stringParser>
                <classname>StringStringParser</classname>
            </stringParser>
             <defaults>
                <string>samples,fold-change,fold-change-magnitude,log2-fold-change,group-averages,t-test,fisher-r,BH</string>
            </defaults>
                   <help>Name the statistics to evaluate. The complete list of valid statistics names is "samples,fold-change,fold-change-magnitude,log2-fold-change,group-averages,t-test,fisher,fisher-r,chi-square,Bonferroni,BH". This option is available since Goby 1.7.</help>
        </flaggedOption>
        <switch>
            <id>parallel</id>
            <longFlag>parallel</longFlag>
            <help>Run some computations in parallel. You can tune the number of processors used by setting the property pj.nt. For instance, -Dpj.nt=5 will use 5 parallel threads. When --parallel is specified, one thread per processing core of the machine will be used unless specified otherwise (with pj.nt).</help>
        </switch>
    </parameters>
</jsap>
