<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE bix SYSTEM "rez/bix.dtd">
<!-- PUBLIC "http://iubio.bio.indiana.edu/grid/runner/docs//bix.dtd" -->
<!-- FIXME for bix dialog parser - any "choice" field should install runSwitch
	 from parlist options.  Now have to put each parlist.par runswitch into
	 action line -->
<bix>
<package>
<id>samplepack</id>

<env>expath=/bio/mb/bin/</env>
<env>filepath=/bio/mb/</env>
<env>datapath=/bio/mb/data/</env>
<env>TACGLIB=/bio/mb/data/</env>
<env>docpath=/bio/mb/docs/</env>
<env>stderr=childapp.stderr</env>
<env>stdout=childapp.stdout</env>

 <command>
<!-- package info -->
  <id>samplebix</id>
  <menu>About|Bio App Samples</menu>
  <parlist>
   <par>
    <id>TITLE</id>
    <value type="title">Bioinformatics Application samples</value>
   </par>
   <par>
    <id>INFO</id>
    <label>About</label>
    <value type="title">
<![CDATA[
This is a set of commonly used sample bioinformatics programs which have 
a command line interface, amenable to automated use from various other
programs.  The means to automate their use lies in a computable description
of program inputs, outputs and command options.  
]]>    
    </value>
   </par>
   <par>
    <id>HELP</id>
    <label>Help</label>
    <value type="url">http://iubio.bio.indiana.edu/grid/runner/</value>
   </par>
  </parlist>
 <action></action>
</command>

 <command>
  <id>bixinfo</id>
  <menu>About|Bix command language</menu>
  <parlist>
   <par>
    <id>TITLE</id>
    <value type="title">BIX - BioInformatics application/command Xml</value>
   </par>
   <par>
    <id>INFO</id>
    <label>About</label>
    <value type="title">
<![CDATA[
 sample.bix.xml
 d.gilbert, jan02
 XML doctype/magic string for this format is <bix>
 bix.DTD  - BioInformatics application/command Xml

 rewrite of clustal.command (BOP structure format)
 d.gilbert, dec97
 rewrite of clustal.html (seqpup) and clustalw.config (seqlab)
 as general parseable structure for specifying app parameters
 for use w/ a corba client=server interface  
 
 magic string for this format is "Content=type: biocompute/command"
 format 
  key = value
  key = { structured.value }
  newlines or ';' separate key=value pairs in a structure
  values that include white space need to be quoted with "" or ''

 see bopper.idl and ReadCommand.java for current key words  (these may change)
 key words match fields in the bopper.idl, and are case=insensitive 

 commandKeys = { "id", "transport", "action", "filepath", "parlist", "command" };
 parameterKeys = { "id", "label", "value", "ifelseRules", "runSwitch" };
 containerKeys = { "required", "parlist" };
 choiceKeys = { "multiple", "minToShow", "parlist" };
 dataKeys = { "datatype", "dataflow", "filename", "flavor", "data" };

 ID values are case=sensitive, unique strings.
 reference IDs and other variables as $ID 
 $serverurl, $tempdir, and $tempname are variables that are set 
   by server (remote or local) at runtime

 TITLE, INFO and HELP are special par ids 

]]>
    </value>
   </par>
   <par>
    <id>HELP</id>
    <label>Help</label>
    <value type="url">http://iubio.bio.indiana.edu/grid/runner/docs/bix.dtd</value>
   </par>
  </parlist>
 <action></action>
</command>


 <command>
  <id>clustalw</id>
  <menu>Sequence Alignment|Clustal multiple alignment</menu>
<!-- fpath = serverurl = filepath == replace as needed -->
<!--  server only config ======= -->
  <transport>local:</transport>
<!-- 
transport = bop:$IORnumber
transport = http:$serverurl -->
  <action>${expath}clustalw 
 $INFILE  $OUTFILE $ALIGN $TREE $QUICK $BOOT 
 $GAPEXT $GAPOPEN $200 $220 $100 $PAIRGAP $KTUP 
 $TOPDIAGS $WINDOW $PWGAPOPEN $PWGAPEXT $PWMATRIX 
 $300 $221 $211 $212 $213</action>
<!--  ====================== -->
  <parlist>
   <par>
    <id>TITLE</id>
    <value type="title">Clustal W Alignment</value>
   </par>
   <par>
    <id>INFO</id>
    <label>About Clustal W</label>
<!--  use .title instead of .string to flag non=edittable parameter !? -->
    <value type="title">Clustal W - for multiple sequence alignment 
by Des Higgins and colleagues. Clustal W is a general purpose multiple 
alignment program for DNA or proteins.</value>
   </par>
   <par>
    <id>globalrules</id>
<!-- <if "$INFILE.seq=type == protein"> -->
    <value type="rules">-300,+200,+210,+220,+221,+211,+212,+213</value>
<!-- <else> -->
    <value type="rules">+300,-200,-210,-220,-221,-211,-212,-213</value>
<!-- <endif> -->
   </par>
   <par>
    <id>main</id>
    <label>Clustal W - A multiple sequence alignment program</label>
    <value type="container">
     <required>true</required>
     <parlist>
      <par>
       <id>HELP</id>
       <label>Help with Clustal W</label>
       <value type="url">http://www-igbmc.u-strasbg.fr/BioInfo/ClustalW/</value>
       <!-- there should be another clustal doc source ?? -->
      </par>
      <par>
       <id>ALIGN</id>
       <label>Do full multiple align</label>
       <value type="boolean">true</value>
       <runSwitch>-align</runSwitch>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>IOfiles</id>
    <label>Input/Output files</label>
    <value type="container">
     <required>false</required>
     <parlist>
      <par>
<!-- 
 this is messy == client has data in some form (file, array, etc)
 this par should only specify kind=input=sequence, type=bioseq/... -->
       <id>INFILE</id>
       <label>Input sequences</label>
       <value type="data">
        <dataflow>input</dataflow>
        <datatype>biosequence/nbrf</datatype>
        <filename>clustalw.pir</filename>
<!-- filename = $tempname -->
        <flavor>input</flavor>
       </value>
       <runSwitch>-infile=$value</runSwitch>
      </par>
      <par>
       <id>OUTFILE</id>
       <label>Output aligned sequences</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>biosequence/gcg</datatype>
        <filename>clustalw.msf</filename>
<!-- filename = $temp.outseq -->
        <flavor>output</flavor>
       </value>
       <runSwitch>-outfile=$value -output=GCG</runSwitch>
      </par>
      <par>
       <id>TreeFile</id>
       <label>Tree file</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>biotree/newick</datatype>
        <flavor>output</flavor>
        <filename>clustalw.dnd</filename>
       </value>
      </par>
      <par>
       <id>STDOUT</id>
       <label>Command output</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stdout</flavor>
        <filename>${stdout}</filename>
       </value>
      </par>
      <par>
       <id>STDERR</id>
       <label>Errors</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stderr</flavor>
        <filename>${stderr}</filename>
       </value>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>treeoptions</id>
    <label>Tree options</label>
    <value type="container">
     <required>false</required>
     <parlist>
      <par>
       <id>TREE</id>
       <label>Calculate NJ tree</label>
       <value type="boolean">false</value>
       <runSwitch>-tree</runSwitch>
      </par>
      <par>
       <id>BOOT</id>
       <label>Bootstrap NJ tree</label>
       <value type="boolean">false</value>
       <runSwitch>-bootstrap=$BOOTVAL</runSwitch>
      </par>
      <par>
       <id>BOOTVAL</id>
       <label>No. of boostraps</label>
       <value type="integer">1000</value>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>pairoptions</id>
    <label>Pairwise alignment options</label>
    <value type="container">
     <required>false</required>
     <parlist>
      <par>
       <id>100</id>
       <value type="choice">
        <multipleChoices>false</multipleChoices>
        <minToShow>2</minToShow>
        <parlist>
         <par>
          <id>QUICK</id>
          <label>Perform fast, approximate pair-wise alignments</label>
          <value type="boolean">false</value>
          <runSwitch>-quicktree</runSwitch>
          <ifelseRules>+KTUP,+WINDOW,+PAIRGAP,+TOPDIAGS,-PWMATRIX,-USERDEF</ifelseRules>
         </par>
         <par>
          <id>SLOW</id>
          <label>Perform slow, accurate pair-wise alignments</label>
          <value type="boolean">true</value>
          <runSwitch>-pairwise</runSwitch>
<!-- <if "$INFILE.seq=type == protein"> -->
          <ifelseRules>-KTUP,-WINDOW,-PAIRGAP,-TOPDIAGS,+PWMATRIX,+USERDEF</ifelseRules>
<!-- <else> -->
          <ifelseRules>-KTUP,-WINDOW,-PAIRGAP,-TOPDIAGS,-PWMATRIX,-USERDEF</ifelseRules>
<!-- <endif> -->
         </par>
        </parlist>
       </value>
      </par>
      <par>
       <id>PAIRGAP</id>
       <label>Gap penalty</label>
<!-- <if "$INFILE.seq=type == protein"> -->
       <value type="intRange">3,1,500,1</value>
<!-- <else> -->
       <value type="intRange">5,1,50,1</value>
<!-- <endif> -->
       <runSwitch>-pairgap=$value</runSwitch>
      </par>
      <par>
       <id>KTUP</id>
       <label>Wordsize (ktuple)</label>
<!-- <if "$INFILE.seq=type == protein"> -->
       <value type="intRange">1,1,2,1</value>
<!-- <else> -->
       <value type="intRange">2,1,4,1</value>
<!-- <endif> -->
       <runSwitch>-ktuple=$value</runSwitch>
      </par>
      <par>
       <id>TOPDIAGS</id>
       <label>Number of best diagonals</label>
<!-- <if "$INFILE.seq=type == protein"> -->
       <value type="intRange">5,1,50,1</value>
<!-- <else> -->
       <value type="intRange">4,1,50,1</value>
<!-- <endif> -->
       <runSwitch>-topdiags=$value</runSwitch>
      </par>
      <par>
       <id>WINDOW</id>
       <label>Window size</label>
<!-- <if "$INFILE.seq=type == protein"> -->
       <value type="intRange">5,1,50,1</value>
<!-- <else> -->
       <value type="intRange">4,1,50,1</value>
<!-- <endif> -->
       <runSwitch>-window=$value</runSwitch>
      </par>
      <par>
       <id>PWGAPOPEN</id>
       <label>Window Gap penalty</label>
       <value type="floatRange">10.0,0,100,0.1</value>
       <runSwitch>-pwgapopen=$value</runSwitch>
      </par>
      <par>
       <id>PWGAPEXT</id>
       <label>Window Gap extension</label>
<!-- <if "$INFILE.seq=type == protein"> -->
       <value type="floatRange">0.1,0,10,0.1</value>
<!-- <else> -->
       <value type="floatRange">5.0,0,10,0.1</value>
<!-- <endif> -->
       <runSwitch>-pwgapext=$value</runSwitch>
      </par>
      <par>
       <id>PWMATRIX</id>
       <label>Pair-wise scoring matrix</label>
       <value type="choice">
        <multipleChoices>false</multipleChoices>
        <minToShow>6</minToShow>
        <parlist>
         <par>
          <id>1</id>
          <label>BLOSUM30</label>
          <value type="boolean">true</value>
          <runSwitch>-pwmatrix=blosum</runSwitch>
         </par>
         <par>
          <id>2</id>
          <label>PAM350</label>
          <value type="boolean">false</value>
          <runSwitch>-pwmatrix=pam</runSwitch>
         </par>
         <par>
          <id>3</id>
          <label>Gonnet250</label>
          <value type="boolean">false</value>
          <runSwitch>-pwmatrix=gonnet</runSwitch>
         </par>
         <par>
          <id>4</id>
          <label>Identity Matrix</label>
          <value type="boolean">false</value>
          <runSwitch>-pwmatrix=id</runSwitch>
         </par>
         <par>
          <id>5</id>
          <label>User Defined</label>
          <value type="boolean">false</value>
          <runSwitch>-matrix=$USERDEF</runSwitch>
         </par>
         <par>
          <id>USERDEF</id>
          <label>Scoring Matrix file name</label>
         </par>
        </parlist>
       </value>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>multalign</id>
    <label>Multiple sequence alignment options</label>
    <value type="container">
     <required>false</required>
     <parlist>
      <par>
       <id>GAPOPEN</id>
       <label>Gap opening penalty</label>
       <value type="floatRange">10.0,0,100,1.0</value>
       <runSwitch>-gapopen=$value</runSwitch>
      </par>
      <par>
       <id>GAPEXT</id>
       <label>Gap extension penalty</label>
<!-- <if "$INFILE.seq=type == protein"> -->
       <value type="floatRange">0.05,0,10,0.1</value>
<!-- <else> -->
       <value type="floatRange">5.0,0,10,0.1</value>
<!-- <endif> -->
       <runSwitch>-gapext=$value</runSwitch>
      </par>
      <par>
       <id>300</id>
       <label>Do NOT Weight Transitions</label>
       <value type="boolean">false</value>
       <runSwitch>-transitions</runSwitch>
      </par>
      <par>
       <id>220</id>
       <label>Delay divergent sequences</label>
       <value type="intRange">40,0,100,1</value>
       <runSwitch>-maxdiv=$value</runSwitch>
      </par>
      <par>
       <id>221</id>
       <label>Use a negative matrix</label>
       <value type="boolean">false</value>
       <runSwitch>-negative</runSwitch>
      </par>
      <par>
       <id>200</id>
       <label>Protein scoring matrices</label>
       <value type="choice">
        <multipleChoices>false</multipleChoices>
        <parlist>
         <par>
          <id>6</id>
          <label>BLOSUM</label>
          <value type="boolean">true</value>
          <runSwitch>-matrix=blosum</runSwitch>
         </par>
         <par>
          <id>7</id>
          <label>Identity Matrix</label>
          <value type="boolean">false</value>
          <runSwitch>-matrix=id</runSwitch>
         </par>
         <par>
          <id>8</id>
          <label>PAM</label>
          <value type="boolean">false</value>
          <runSwitch>-matrix=pam</runSwitch>
         </par>
         <par>
          <id>9</id>
          <label>User Defined</label>
          <value type="boolean">false</value>
          <runSwitch>-matrix=$210</runSwitch>
         </par>
         <par>
          <id>210</id>
          <label>Scoring Matrix file name</label>
         </par>
        </parlist>
       </value>
      </par>
      <par>
       <id>211</id>
       <label>Turn Off Residue-Specific Gap Penalties</label>
       <value type="boolean">false</value>
       <runSwitch>-nopgap</runSwitch>
      </par>
      <par>
       <id>212</id>
       <label>Turn Off Hydrophilic Gap Penalties</label>
       <value type="boolean">false</value>
       <runSwitch>-nohgap</runSwitch>
      </par>
      <par>
       <id>213</id>
       <label>List of Hydrophilic Residues</label>
       <value type="string">GPSNDQEKR</value>
       <runSwitch>-hgapresidues=$value</runSwitch>
<!-- 
 ?? what are these
Toggle = True
Toggledefault = = -->
      </par>
     </parlist>
    </value>
   </par>
  </parlist>
<!--  end parameters -->
 </command>
<!--  end command -->

<!-- 
 cap.command
 d.gilbert, jan 98
 child app command for use with seqpup [java] -->
 <command>
  <id>cap</id>
  <menu>Sequence Alignment|CAP contig assembly</menu>
  <transport>local:</transport>
  <action>${expath}cap $INFILE $OUTFILE $MIN_OVERLAP $PERCENT_MATCH </action>
  <parlist>
   <par>
    <id>TITLE</id>
    <value type="title">CAP Contig Assembly</value>
   </par>
   <par>
    <id>INFO</id>
    <label>About CAP</label>
    <value type="title"> A gel Contig Assembly Program by Xiaoqiu Huang</value>
   </par>
   <par>
    <id>main</id>
    <label>CAP contig assembly</label>
    <value type="container">
     <required>true</required>
     <parlist>
<!--
      <par>
       <id>HELP</id>
       <label>Help with CAP</label>
       <value type="url">file://$filepath/cap-help.txt</value>
      </par>
-->
      <par>
       <id>MIN_OVERLAP</id>
       <label>Minimum base overlap for contig alignment</label>
       <value type="integer">20</value>
       <runSwitch>$value</runSwitch>
      </par>
      <par>
       <id>PERCENT_MATCH</id>
       <label>Percent match for alignment</label>
<!-- value.integer = 85 -->
       <value type="intrange">85,0,100,1</value>
       <runSwitch>$value</runSwitch>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>IOfiles</id>
    <label>Input/Output files</label>
    <value type="container">
     <required>false</required>
     <parlist>
      <par>
       <id>INFILE</id>
       <label>Input sequences</label>
       <value type="data">
        <dataflow>input</dataflow>
        <flavor>input</flavor>
        <datatype>biosequence/fasta</datatype>
        <filename>cap-data.fasta</filename>
       </value>
       <runSwitch>$value</runSwitch>
      </par>
      <par>
       <id>OUTFILE</id>
       <label>Output aligned sequences</label>
       <value type="data">
        <dataflow>output</dataflow>
        <flavor>output</flavor>
        <datatype>biosequence/fasta</datatype>
        <filename>cap-out.fasta</filename>
       </value>
       <runSwitch>$value</runSwitch>
      </par>
      <par>
       <id>STDOUT</id>
       <label>Command output</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stdout</flavor>
        <filename>${stdout}</filename>
       </value>
      </par>
      <par>
       <id>STDERR</id>
       <label>Errors</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stderr</flavor>
        <filename>${stderr}</filename>
       </value>
      </par>
     </parlist>
    </value>
   </par>
  </parlist>
<!--  end parameters -->
 </command>
<!--  end command -->

<!-- 
 fastdnaml.command
 d.gilbert, jan 98
 child app command for use with seqpup [java] -->
 <command>
  <id>fastdnaml</id>
  <menu>Phylogeny|FastDNAml</menu>
  <transport>local:</transport>
  <action>${expath}fastDNAml $TREEFILE </action>
  <parlist>
   <par>
    <id>TITLE</id>
    <value type="title">FastDNAml</value>
   </par>
   <par>
    <id>INFO</id>
    <label>About FastDNAml</label>
    <value type="title">A faster DNA maximum likelihood phylogeny estimator.
 fastDNAml is a program derived from Joseph Felsenstein  version 3.3 DNAML
 (part of his PHYLIP package).  Users should consult the documentation for
 DNAML before using this program.
 Produced by Gary Olsen, Hideo Matsuda, Ray Hagstrom, and Ross Overbeek.</value>
   </par>
   <par>
    <id>main</id>
    <label>fastDNAml phylogeny analysis</label>
    <value type="container">
     <required>true</required>
     <parlist>
      <par>
       <id>HELP</id>
       <label>Help with FastDNAml</label>
       <value type="url">http://geta.life.uiuc.edu/~gary/programs/fastDNAml.html</value>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>IOfiles</id>
    <label>Input/Output files</label>
    <value type="container">
     <required>false</required>
     <parlist>
<!-- 
 !! need way to stuff parameters into data files (stdin)
 phylip (others?) take all params from top of data input file -->
      <par>
       <id>STDIN</id>
       <label>Input</label>
       <value type="data">
        <dataflow>input</dataflow>
        <datatype>biosequence/phylip</datatype>
        <flavor>stdin</flavor>
        <filename>fastdnaml.phylip</filename>
       </value>
      </par>
      <par>
       <id>STDOUT</id>
       <label>Output</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stdout</flavor>
        <filename>${stdout}</filename>
       </value>
      </par>
<!-- ?? -->
      <par>
       <id>TREEFILE</id>
       <label>Tree file</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>biotree/newick</datatype>
        <flavor>output</flavor>
        <filename>$filepath/treefile.0</filename>
       </value>
      </par>
      <par>
       <id>STDERR</id>
       <label>Errors</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stderr</flavor>
        <filename>${stderr}</filename>
       </value>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>Options</id>
    <label>Options</label>
    <value type="container">
     <required>false</required>
     <parlist>
<!-- 
 !! need way to stuff parameters into data files (stdin)
 phylip (others?) take all params from top of data input file -->
      <par>
       <id>optNotice</id>
       <label>NOTICE</label>
       <value type="title">These option selections are not yet implemented in the local versions of seqpup</value>
      </par>
      <par>
       <id>bootstrap</id>
<!-- ?? runSwitch = "echo $first_line B; echo B $bootseed;" -->
       <value type="boolean">false</value>
       <label>bootstrap</label>
      </par>
      <par>
       <id>bootseed</id>
<!-- value.randint -->
       <value type="integer">987</value>
       <label>bootstrap seed</label>
      </par>
      <par>
       <id>categories</id>
<!-- ?? runSwitch = "echo $first_line C; echo C $catnum $catlist;" -->
       <value type="boolean">false</value>
       <label>use categories</label>
      </par>
      <par>
       <id>catnum</id>
       <value type="integer">1</value>
       <label>Number of categories</label>
      </par>
      <par>
       <id>catlist</id>
       <label>category values for each site</label>
      </par>
      <par>
       <id>frequencies</id>
<!-- ?? runSwitch = "echo $first_line F; echo F $freqlist;" -->
       <value type="boolean">false</value>
       <label>use frequencies</label>
      </par>
      <par>
       <id>freqlist</id>
       <value type="string">0.24 0.28 0.27 0.21</value>
       <label>empirical base frequencies (A,C,G,T)</label>
      </par>
      <par>
       <id>global</id>
<!-- ?? runSwitch = "echo $first_line G; echo G $Global1 $Global2;" -->
       <value type="boolean">false</value>
       <label>Global rearrangements</label>
      </par>
      <par>
       <id>Global1</id>
       <value type="string"></value>
       <label>Global1: the number of branches to cross in rearrangements of the completed tree</label>
      </par>
      <par>
       <id>Global2</id>
       <value type="string"></value>
       <label>Global2: the number of branches to cross in testing rearrangements</label>
      </par>
      <par>
       <id>jumble</id>
<!-- ?? runSwitch = "echo $first_line J; echo J $jumbleseed;" -->
       <value type="boolean">false</value>
       <label>Jumble</label>
      </par>
      <par>
       <id>jumbleseed</id>
<!-- value.randint -->
       <value type="integer">987 </value>
       <label>jumble seed</label>
      </par>
      <par>
       <id>outgroup</id>
<!-- ?? runSwitch = "echo $first_line O; echo O $outval;" -->
       <value type="boolean">false</value>
       <label>use outgroup</label>
      </par>
      <par>
       <id>outval</id>
       <value type="integer">1</value>
       <label>outgroup number</label>
      </par>
      <par>
       <id>quickadd</id>
<!-- ?? runSwitch = "echo $first_line Q; " -->
       <value type="boolean">false</value>
       <label>use Quickadd option</label>
      </par>
      <par>
       <id>transitions</id>
<!-- ?? runSwitch = "echo $first_line T; echo T $transval;" -->
       <value type="boolean">false</value>
       <label>use transitions/transversion ratio</label>
      </par>
      <par>
       <id>transval</id>
       <value type="float">2.0</value>
       <label>transition/transversion ratio</label>
      </par>
<!-- 
 usertree
 userlengths -->
      <par>
       <id>weights</id>
<!-- ?? runSwitch = "echo $first_line W; echo $weightlist;" -->
       <value type="boolean">false</value>
       <label>use weights</label>
      </par>
      <par>
       <id>weightlist</id>
       <value type="string"></value>
       <label>weighting values per site</label>
      </par>
     </parlist>
    </value>
   </par>
  </parlist>
<!--  end parameters -->
 </command>
<!--  end command -->

<!-- 
 tacg.command
 d.gilbert, dec 97
 for use of Harry Mangalam tacg restriction mapping program
 updated for tacg version 3, feb02
 this is a hasty, not final, selection of tagc command options
 -->
 <command>
  <id>tacg</id>
  <menu>Restriction Map/tacg</menu>
  <action>${expath}tacg $REBASE $orderout $REselect $circular $linear 
$codon.u $codon.v $codon.d $codon.sc $codon.sp $codon.nc $codon.hp $codon.c 
$fragunsort $fragsort $frag3 $gelmap $laddermap $linearmap $summary $sites </action>

  <parlist>
   <par>
    <id>TITLE</id>
    <value type="title">tacg restriction map</value>
   </par>
   <par>
    <id>HELP</id>
    <label>Help with tacg</label>
    <value type="url">file:${docpath}tacg3.main.html</value>  
<!-- this is v3: http://tacg.sourceforge.net/ -->
<!-- <value type="url">http://tacg.sourceforge.net/</value> -->
   </par>
   <par>
    <id>INFO</id>
    <label>About tacg</label>
    <value type="title">tacg analyzes a DNA sequence for restriction enzyme sites, 
nucleic acid patterns version 3, by Harry Mangalam</value>
   </par>
   <par>
    <id>IOfiles</id>
    <label>Input/Output files</label>
    <value type="container">
     <required>false</required>
     <parlist>

      <par>
       <id>STDIN</id>
       <label>Input</label>
       <value type="data">
        <dataflow>input</dataflow>
        <datatype>biosequence/fasta</datatype>
        <flavor>stdin</flavor>
        <filename>globin.gb</filename>
       </value>
      </par>
      <par>
       <id>STDOUT</id>
       <label>Output</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stdout</flavor>
        <filename>${stdout}</filename>
       </value>
      </par>
      <par>
       <id>STDERR</id>
       <label>Errors</label>
       <value type="data">
        <dataflow>output</dataflow>
        <datatype>text/plain</datatype>
        <flavor>stderr</flavor>
        <filename>${stderr}</filename>
       </value>
      </par>

      <par>
       <id>REBASE</id>
       <label>Restrict. Enzyme table</label>
       <value type="data">
        <dataflow>input</dataflow>
        <datatype>text/gcg</datatype>
        <flavor>serverlocal</flavor>
        <filename>$datapath/rebase.data</filename>
       </value>
       <runSwitch>-R $value</runSwitch>
      </par>

      
     </parlist>
    </value>
   </par>
   
   <par>
    <id>Options</id>
    <label>Options</label>
    <value type="container">
     <required>false</required>
     <parlist>
      <par>
       <id>orderout</id>
       <runSwitch>-c</runSwitch>
       <value type="boolean">false</value>
       <label>order the output by # of cuts/fragments by each RE, and thence alphabetic</label>
      </par>
      <par>
       <id>laddermap</id>
       <runSwitch>-l</runSwitch>
       <value type="boolean">true</value>
       <label>a 'ladder' map of selected enzymes</label>
      </par>
      <par>
       <id>linearmap</id>
       <runSwitch>-L</runSwitch>
       <value type="boolean">false</value>
       <label>if you WANT a linear map. This spews the most output</label>
      </par>
      <par>
       <id>summary</id>
       <runSwitch>-s</runSwitch>
       <value type="boolean">true</value>
       <label>print the summary of site information</label>
      </par>
      <par>
       <id>sites</id>
       <runSwitch>-S</runSwitch>
       <value type="boolean">false</value>
       <label>print the the actual cut sites in tabular form</label>
      </par>
      <par>
       <id>98</id>
       <label>Print/Sort Fragments</label>
       <value type="choice">
        <multipleChoices>false</multipleChoices>
        <parlist>
         <par>
          <id>988</id>
          <label>Omit</label>
          <value type="boolean">true</value>
         </par>
         <par>
          <id>fragunsort</id>
          <label>Print unsorted</label>
          <value type="boolean">false</value>
          <runSwitch>-F1</runSwitch>
         </par>
         <par>
          <id>fragsort</id>
          <label>Print sorted</label>
          <value type="boolean">true</value>
          <runSwitch>-F2</runSwitch>
         </par>
         <par>
          <id>frag3</id>
          <label>Print sorted &amp; unsorted</label>
          <value type="boolean">false</value>
          <runSwitch>-F3</runSwitch>
         </par>
        </parlist>
       </value>
      </par>
      <par>
       <id>96</id>
       <label>pseudo-gel map graphic</label>
       <value type="container">
        <required>false</required>
        <parlist>
         <par>
          <id>gelmap</id>
          <label>do map</label>
          <value type="boolean">false</value>
          <runSwitch>-g$gelmapval</runSwitch>
         </par>
         <par>
          <id>gelmapval</id>
          <label>map val</label>
          <value type="int">10</value>
         </par>
        </parlist>
       </value>
      </par>
      <par>
       <id>99</id>
       <label>form (or topology) of DNA </label>
       <value type="choice">
        <multipleChoices>false</multipleChoices>
        <parlist>
         <par>
          <id>circular</id>
          <label>Circular</label>
          <value type="boolean">false</value>
          <runSwitch>-f0</runSwitch>
         </par>
         <par>
          <id>linear</id>
          <label>Linear</label>
          <value type="boolean">true</value>
          <runSwitch>-f1</runSwitch>
         </par>
        </parlist>
       </value>
      </par>
      <par>
       <id>100</id>
       <label>Codon usage</label>
       <value type="choice">
        <multipleChoices>false</multipleChoices>
        <parlist>
         <par>
          <id>codon.u</id>
          <label>Standard</label>
          <value type="boolean">true</value>
          <runSwitch>-C0</runSwitch>
         </par>
         <par>
          <id>codon.v</id>
          <label>Vert_Mito</label>
          <value type="boolean">false</value>
          <runSwitch>-C1</runSwitch>
         </par>
         <par>
          <id>codon.d</id>
          <label>Yeast_Mito</label>
          <value type="boolean">false</value>
          <runSwitch>-C2</runSwitch>
         </par>
         <par>
          <id>codon.sc</id>
          <label>Mold_Mito</label>
          <value type="boolean">false</value>
          <runSwitch>-C3 </runSwitch>
         </par>
         <par>
          <id>codon.sp</id>
          <label>Invert_Mito</label>
          <value type="boolean">false</value>
          <runSwitch>-C4</runSwitch>
         </par>
         <par>
          <id>codon.nc</id>
          <label>Ciliate_Mito</label>
          <value type="boolean">false</value>
          <runSwitch>-C5</runSwitch>
         </par>
         <par>
          <id>codon.hp</id>
          <label>Echino_Mito</label>
          <value type="boolean">false</value>
          <runSwitch>-C6</runSwitch>
         </par>
         <par>
          <id>codon.c</id>
          <label>Euplotid_Nuclear</label>
          <value type="boolean">false</value>
          <runSwitch>-C7</runSwitch>
         </par>
         <par>
          <id>codon.b</id>
          <label>Bacterial</label>
          <value type="boolean">false</value>
          <runSwitch>-C8</runSwitch>
         </par>
         <par>
          <id>codon.alty</id>
          <label>Alt_Yeast</label>
          <value type="boolean">false</value>
          <runSwitch>-C9</runSwitch>
         </par>
         <par>
          <id>codon.ascm</id>
          <label>Ascidian_Mito</label>
          <value type="boolean">false</value>
          <runSwitch>-C10</runSwitch>
         </par>
         <par>
          <id>codon.flat</id>
          <label>Flatworm</label>
          <value type="boolean">false</value>
          <runSwitch>-C11</runSwitch>
         </par>
         <par>
          <id>codon.blep</id>
          <label>Blepharisma</label>
          <value type="boolean">false</value>
          <runSwitch>-C12</runSwitch>
         </par>


        </parlist>
       </value>
      </par>
     </parlist>
    </value>
   </par>
   <par>
    <id>REnzymes</id>
    <label>Restriction Enzymes</label>
    <value type="container">
     <required>false</required>
     <parlist>
      <par>
       <id>REselect</id>
       <label>Select specific r. enzymes</label>
       <runSwitch>-r $RElist</runSwitch>
       <value type="boolean">false</value>
      </par>
      <par>
       <id>RElist</id>
       <label>List of enzymes to select</label>
       <value type="list">AarI|AatII|Acc65I|AccI|AciI|AclI|AfeI|AflII|AflIII|AgeI|
AhdI|AloI|AluI|AlwI|AlwNI|ApaI|ApaLI|ApoI|AscI|AseI|
AvaI|AvaII|AvrII|BaeI|BamHI|BanI|BanII|BbeI|BbsI|BbvCI|
BbvI|BceAI|BcgI|BciVI|BclI|BfaI|BfrBI|BglI|BglII|BlpI|
Bme1580I|BmrI|BplI|BpmI|Bpu10I|BsaAI|BsaBI|BsaHI|BsaI|BsaJI|
BsaWI|BsaXI|BseMII|BseRI|BsgI|BsiEI|BsiHKAI|BsiWI|BslI|BsmAI|
BsmBI|BsmFI|BsmI|Bsp1286I|BspCNI|BspEI|BspHI|BspMI|BsrBI|BsrDI|
BsrFI|BsrGI|BsrI|BssHII|BssKI|BssSI|BstAPI|BstBI|BstEII|BstF5I|
BstKTI|BstNI|BstUI|BstXI|BstYI|BstZ17I|Bsu36I|BtgI|BtrI|BtsI|
Cac8I|ClaI|Csp6I|CviJI|DdeI|DpnI|DraI|DraIII|DrdI|EaeI|
EagI|EarI|EciI|Ecl136II|Eco57I|Eco57MI|EcoNI|EcoO109I|EcoRI|EcoRV|
FalI|FatI|FauI|Fnu4HI|FokI|FseI|FspAI|FspI|HaeII|HaeIII|
HgaI|HhaI|Hin4I|HinP1I|HincII|HindIII|HinfI|HpaI|HpaII|HphI|
Hpy188I|Hpy188III|Hpy8I|Hpy99I|HpyCH4III|HpyCH4IV|HpyCH4V|KasI|KpnI|MaeIII|
MboI|MboII|MfeI|MluI|MlyI|MnlI|MscI|MseI|MslI|MspA1I|
MwoI|NaeI|NarI|NciI|NcoI|NdeI|NgoMIV|NheI|NlaIII|NlaIV|
NotI|NruI|NsiI|NspI|OliI|PacI|PciI|PflMI|PleI|PmeI|
PmlI|PpiI|Ppu10I|PpuMI|PshAI|PsiI|PspGI|PspOMI|PsrI|PstI|
PvuI|PvuII|RsaI|RsrII|SacI|SacII|SalI|SanDI|SapI|Sau96I|
SbfI|ScaI|ScrFI|SexAI|SfaNI|SfcI|SfiI|SfoI|SgfI|SgrAI|
SmaI|SmlI|SnaBI|SpeI|SphI|SrfI|SspI|StuI|StyI|SwaI|
TaqI|TaqII|TatI|TauI|TfiI|TscI|TseI|Tsp45I|Tsp509I|TspGWI|
TspRI|Tth111I|XbaI|XcmI|XhoI|XmaI|XmnI|ZraI</value>
      </par>
     </parlist>
    </value>
   </par>
  </parlist>
<!--  end parameters -->
 </command>
<!--  end command -->
</package>
</bix>
