<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE pise PUBLIC "pise.dtd" "pise2.dtd"  >
<pise>
	<head>
		<title>Clearcut</title>
		<version>1.0.9</version>
		<description>Fast Implementation of Relaxed Neighbor Joining</description>
		<authors>Sheneman, L., Evans, J., Foster J.A.</authors>
		<reference>Sheneman, L., Evans, J., and Foster, J.A.. (2006) Clearcut: a fast implementation of relaxed neighbor joining. Bioinformatics 22(22):2823-2824.
		</reference>
		<category>Phylogeny / Alignment</category>
	</head>
	
	<command>clearcut</command>
	<parameters>

<!-- Clearcut created by mamiller 6/2/2009 -->

<!-- Usage: clearcut **in=<infilename> **out=<outfilename> [options]..-->
<!-- GENERAL OPTIONS:

  -v, **verbose      		More output. 								(Default: OFF)
  -q, **quiet        		Silent operation. 						(Default: ON)
  -s, **seed=<seed>  	Explicitly set the PRNG seed to a specific value.
  -r, **norandom     	Attempt joins deterministically.  	(Default: OFF)

  -S, **shuffle       Randomly shuffle the distance matrix.  (Default: OFF)
  -N, **neighbor     Use traditional Neighbor-Joining algorithm. (Default: OFF)

INPUT OPTIONS:

  -d, **distance     	Input file is a distance matrix. (Default: ON)
  -a, **alignment		Input file is a set of aligned sequences. (Default: OFF)
  -D, **DNA          	Input alignment are DNA sequences.
  -P, **protein      	Input alignment are protein sequences.

CORRECTION MODEL FOR COMPUTING DISTANCE MATRIX (Default: NO Correction):
  -j, **jukes        Use Jukes-Cantor correction for computing distance matrix.
  -k, **kimura     Use Kimura correction for distance matrix.

OUTPUT OPTIONS:
  -O, **stdout           		Output tree to STDOUT.
  -m, **matrixout=<file> 	Output distance matrix to specified file.
  -n, **ntrees=<n>       	Output n trees.  (Default: 1)
  -e, **expblen         		Exponential notation for branch lengths. (Default: OFF)
  -E, **expdist         		Exponential notation in distance output. (Default: OFF)

Will NOT implement
 -h, 	**help         Display this information.
 -V, 	**version     Print the version of this program.
 -I, 	**stdin        Read input from STDIN.
 -O, 	**stdout      Output tree to STDOUT.
-->
		<!-- command name -->
		<!-- EXAMPLES:
  Compute tree by supplying distance matrix via stdin:
  clearcut **distance < distances.txt > treefile.tre

  Compute tree by supplying an alignment of DNA sequences from a file:
  clearcut (group 0)  **alignment **DNA (group 30) **in=alignment.txt (group 40) **out=treefile.tre (group 50)  -->
  
			<parameter ishidden="1" type="String">
			<name>clearcut_inv</name>
			<attributes>
				<format>
					<language>perl</language>
					<code>"clearcut "</code>
				</format>
				<group>0</group>
			</attributes>
		</parameter>
		
		<parameter issimple="1" isinput="1" type="InFile">
			<name>infile</name>
			<attributes>
				<prompt>Alignment or a Distance Matrix</prompt>
				<group>40</group>
				<filenames>infile</filenames>
			</attributes>
		</parameter>
		
		<!-- scheduler file -->
		<parameter type="String" ishidden="1" >
			<name>scheduler_input</name>
			<attributes>
				<paramfile>scheduler.conf</paramfile>
					<format>
						<language>perl</language>
						<code>
									"ChargeFactor=1.0\\n" .
									"nodes=1\\n" .
									"node_exclusive=0\\n" .
									"threads_per_process=1\\n"
						</code>
					</format>
			</attributes>
		</parameter>
		
		<parameter ishidden="1" type="String">
			<name>input_file_spec</name>
			<attributes>
				<format>
					<language>perl</language>
					<code>"--in=infile"</code>
				</format>
				<group>40</group>
			</attributes>
		</parameter>
		
<!--		  -v, **verbose      		More output. 								(Default: OFF) -->

		<parameter ishidden="1" type="String">
			<name>input_file_spec</name>
			<attributes>
				<format>
					<language>perl</language>
					<code>"--verbose"</code>
				</format>
				<group>30</group>
			</attributes>
		</parameter>
		
		<!-- VISIBLE PARAMETERS -->	
		<!-- ==================================================================================================== -->


	<parameter type="Float" issimple="1" ismandatory="1" ishidden="0">
		<name>runtime</name> 
		<attributes>
			<group>1</group>
			<paramfile>scheduler.conf</paramfile>
			<prompt>Maximum Hours to Run (click here for help setting this correctly)</prompt>
			<vdef><value>1.0</value></vdef>
			<comment>
				<value>
					Estimate the maximum time your job will need to run (up to 72 hrs).  Your job will be killed if it doesn't finish within the time you specify, however jobs with shorter maximum run times, are often scheduled sooner than longer jobs. 
				</value>
			</comment>
			<ctrls>
				<ctrl>
					<message>Maximum Hours to Run must be between 0.1 - 72.0.</message>
					<language>perl</language>
					<code>$runtime &lt; 0.1 || $runtime &gt; 72.0</code>
				</ctrl>
			</ctrls>
			<format>
				<language>perl</language>
				<code>"runhours=$value\\n"</code>
			</format>	
		</attributes>
	</parameter>

<!--    -d, **distance     	Input file is a distance matrix. 			  (Default: ON)
		 -a, **alignment		Input file is a set of aligned sequences. (Default: OFF) -->
		 
					<parameter issimple="1" ismandatory="1" type="Switch">
						<name>alignment_or</name>
						<attributes>
							<prompt>My data is an alignment (no =distance matrix) </prompt>
							<vdef>
								<value>1</value>
							</vdef>
							<format>
								<language>perl</language>
								<code>($value) ? "--alignment":"--distance"</code>
							</format>
							<group>30</group>
						</attributes>
					</parameter>
					
<!--   -D, **DNA          Input alignment are DNA sequences.
		-P, **protein      	Input alignment are protein sequences. -->
		
					<parameter issimple="1" ismandatory="1" type="Excl">
						<name>datatype_is</name>
						<attributes>
							<prompt>Datatype:</prompt>
							<precond>
								<language>perl</language>
								<code>$alignment_or</code>
							</precond>
							<vdef>
								<value>DNA</value>
							</vdef>
							<format>
								<language>perl</language>
								<code>"--$value"</code>
							</format>
							<vlist>
								<value>DNA</value>
								<label>DNA</label>
								<value>protein</value>
								<label>Protein</label>
							</vlist>
							<group>30</group>
						</attributes>
					</parameter>
					
<!-- CORRECTION MODEL FOR COMPUTING DISTANCE MATRIX (Default: NO Correction):
  -j, **jukes        Use Jukes-Cantor correction for computing distance matrix.
  -k, **kimura     Use Kimura correction for distance matrix. -->

					<parameter issimple="1" ismandatory="1" type="Excl">
						<name>corr_model</name>
						<attributes>
							<prompt>Correction Model for Computing Distance Matrix</prompt>
							<precond>
								<language>perl</language>
								<code>!$alignment_or</code>
							</precond>
							<vdef>
								<value></value>
							</vdef>
							<format>
								<language>perl</language>
								<code>"$value"</code>
							</format>
							<vlist>
								<value></value>
								<label>None</label>
								<value>--jukes</value>
								<label>Jukes-Cantor</label>
								<value>--kimura</value>
								<label>Kimura</label>
							</vlist>
							<group>30</group>
						</attributes>
					</parameter>

		<parameter type="Paragraph">
			<paragraph>
				<name>adv_opts</name>
				<prompt>Advanced Options</prompt>
					<parameters>  
										
<!--   -N, **neighbor     Use traditional Neighbor-Joining algorithm. (Default: OFF) -->
					<parameter  type="Switch">
						<name>use_trad</name>
						<attributes>
							<prompt>Use traditional Neighbor-Joining algorithm. (-N) </prompt>
							<vdef>
								<value>0</value>
							</vdef>
							<format>
								<language>perl</language>
								<code>($value) ? "--neighbor":""</code>
							</format>
							<group>30</group>
						</attributes>
					</parameter>
					
<!--   -S, **shuffle    Randomly shuffle the distance matrix.  (Default: OFF) -->
					<parameter type="Switch">
						<name>shuff_matrix</name>
						<attributes>
							<prompt>Randomly shuffle the distance matrix. (-S) </prompt>
							<vdef>
								<value>0</value>
							</vdef>
							<format>
								<language>perl</language>
								<code>($value) ? "--shuffle":""</code>
							</format>
							<group>30</group>
						</attributes>
					</parameter>
					
<!--   -r, **norandom     	Attempt joins deterministically.  	(Default: OFF) -->
					<parameter type="Switch">
						<name>join_det</name>
						<attributes>
							<prompt>Attempt joins deterministically. (-r) </prompt>
							<vdef>
								<value>0</value>
							</vdef>
							<format>
								<language>perl</language>
								<code>($value) ? "--norandom":""</code>
							</format>
							<group>30</group>
						</attributes>
					</parameter>
<!--   -s, **seed=<seed>  	Explicitly set the PRNG seed to a specific value. -->
					<parameter type="Switch">
						<name>spec_seed</name>
						<attributes>
							<prompt>Explicitly set the PRNG seed to a specific value. (-s) </prompt>
							<vdef>
								<value>0</value>
							</vdef>
						</attributes>
					</parameter>
					
					<parameter type="Integer">
						<name>seed_val</name>
						<attributes>
							<precond>
								<language>perl</language>
								<code>$spec_seed</code>
							</precond>
							<format>
								<language>perl</language>
								<code>($value) ? "--seed=$value":""</code>
							</format>
							<ctrls>
								<ctrl>
									<message>Please enter a seed value</message>
									<language>perl</language>
									<code>$spec_seed &amp;&amp; !defined $seed_val</code>
								</ctrl>
							</ctrls>
							<group>30</group>
						</attributes>
					</parameter>
					
				</parameters>
			</paragraph>
	</parameter>

		<parameter type="Paragraph">
			<paragraph>
				<name>output_opts</name>
				<prompt>Output Options</prompt>
					<parameters>  
					
<!-- OUTPUT OPTIONS:

  -m, **matrixout=<file> 	Output distance matrix to specified file.
  -n, **ntrees=<n>       	Output n trees.  (Default: 1)
  -e, **expblen         		Exponential notation for branch lengths. (Default: OFF)
  -E, **expdist         		Exponential notation in distance output. (Default: OFF)
-->
					<parameter type="Switch">                
						<name>matrix_out</name>
						<attributes>
							<prompt>Output a Distance Matrix</prompt>
							<format>
								<language>perl</language>
								<code>($value) ? "-m matrixout.txt":""</code>
							</format>
							<vdef>
									<value>0</value>
							</vdef>
							<group>30</group>
						</attributes>
					</parameter>
					
					<parameter ishidden="1" type="String">                
						<name>tree_out</name>
						<attributes>
							<format>
								<language>perl</language>
								<code>"-o outtree.tre"</code>
							</format>
							<group>50</group>
						</attributes>
					</parameter>

					<parameter type="Integer">                
						<name>ntrees_out</name>
						<attributes>
						<prompt>Number of trees to write out</prompt>
							<format>
								<language>perl</language>
								<code>"--ntrees=$value"</code>
							</format>
							<vdef>
								<value>1</value>
							</vdef>
							<group>50</group>
						</attributes>
					</parameter>

					<parameter type="Switch">
						<name>exp_dist</name>
						<attributes>
							<prompt>Exponential notation in distance output (-E) </prompt>
							<vdef>
								<value>0</value>
							</vdef>
							<format>
								<language>perl</language>
								<code>"--expdist"</code>
							</format>
							<group>30</group>
						</attributes>
					</parameter>
					
					<parameter type="Switch">
						<name>exp_brl</name>
						<attributes>
							<prompt>Exponential notation for branch lengths (-e) </prompt>
							<vdef>
								<value>0</value>
							</vdef>
							<format>
								<language>perl</language>
								<code>"--expblen "</code>
							</format>
							<group>30</group>
						</attributes>
					</parameter>

<!-- return results 
		<parameter type="Results">
			<name>tree_results</name>
			<attributes>
				<filenames>outtree.tre</filenames>
			</attributes>
		</parameter>
		
				<parameter type="Results">
			<name>matrix_results</name>
			<attributes>
				<filenames>matrixout.txt</filenames>
			</attributes>
		</parameter>
		
				<parameter type="Results">
			<name>commandline</name>
			<attributes>
				<filenames>COMMANDLINE</filenames>
			</attributes>
		</parameter>
		
				<parameter type="Results">
			<name>job_info</name>
			<attributes>
				<filenames>_JOBINFO.TXT </filenames>
			</attributes>
		</parameter>-->
		
		<parameter type="Results">
			<name>all_results</name>
			<attributes>
				<filenames>*</filenames>
			</attributes>
		</parameter>


	</parameters>
</paragraph>
</parameter>
</parameters>
</pise>


