<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE pise PUBLIC "pise2.dtd" "pise2.dtd" >
<pise>
	<head>
		<title>Guidance2 on XSEDE</title>
		<version>2.02</version>
		<description>Accurate detection of unreliable alignment regions - run on XSEDE.</description>
		<authors></authors>
		<reference>
		</reference>
		<category>Phylogeny / Alignment</category>
	</head>
	
	<command>guidance2_xsede</command>
<!--
Guidance.v2.02/www/Guidance>perl guidance.pl
USAGE: -*seqFile <seqFile> -*msaProgram <MAFFT|PRANK|CLUSTALW|MUSCLE|PAGAN> -*seqType <aa|nuc|codon> -*outDir <full path outDir>
Optional parameters:
  -*program <GUIDANCE|HoT|GUIDANCE2> default=GUIDANCE2
  -*bootstraps <number of bootstrap iterations> default=100
  -*genCode <option value> default=1
                <option value=1>  Nuclear Standard
                <option value=15> Nuclear Blepharisma
                    <option value=6>  Nuclear Ciliate
                <option value=10> Nuclear Euplotid
                <option value=2>  Mitochondria Vertebrate
                <option value=5>  Mitochondria Invertebrate
                <option value=3>  Mitochondria Yeast
                <option value=13> Mitochondria Ascidian
                <option value=9>  Mitochondria Echinoderm
                <option value=14> Mitochondria Flatworm
                <option value=4>  Mitochondria Protozoan
  -*outOrder <aligned|as_input> default=aligned
  -*msaFile <msaFile> - not recommended, see documentation online guidance.tau.ac.il
  -*seqCutoff <confidence cutoff between 0 to 1> default=0.6
  -*colCutoff <confidence cutoff between 0 to 1> default=0.93
not used -*Z_Seq_Cutoff <Z score as additional criteria to filter sequences> EXPERIMENTAL, default=NA (not active)
not used   -*Z_Col_Cutoff <Z score as additional criteria to filter position> EXPERIMENTAL, default=NA (not active)
not used  -*mafft <path to mafft executable> default=mafft
   -*prank <path to prank executable> default=prank
not used  -*clustalw <path to clustalw executable> default=clustalw
  -*muscle <path to muscle executable> default=muscle
not used  -*pagan <path to pagan executable> default=pagan
not used   -*ruby <path to ruby executable> default=ruby
 -*dataset Unique name for the Dataset - will be used as prefix to outputs (default=MSA)
   -*MSA_Param passing parameters for the alignment program. To pass parameter containing '-' in it, add \ before each '-' e.g. \-F for PRANK
  -*proc_num <num of processors to use> default=1 
-->
	<parameters>
	
<!-- invocation -->
		<parameter ismandatory="1" ishidden="1" type="String">
			<name>invocation_string</name>
			<attributes>
				<group>0</group>
				<format>
					<language>perl</language>
					<code> "guidance2_expanse_2.0.2"</code>
				</format>
			</attributes>
		</parameter>


<!-- required input file, this is selected outside the parameters gui -->
		<parameter ismandatory="1" issimple="1" isinput="1" type="InFile">
			<name>infile</name>
			<attributes>
				<prompt>Alignment or sequence file (phylip)</prompt>
				<group>2</group>
				<filenames>infile.phy</filenames>
			</attributes>
		</parameter>

<!-- when it is an msa file  
		<parameter ismandatory="1" ishidden="1" type="String">
			<name>infile_msa</name>
			<attributes>
				<prompt>Alignment file (phylip)</prompt>
				<group>1</group>
				<precond>
					<language>perl</language>
					<code>$use_msafile</code>
				</precond>
				<format>
					<language>perl</language>
					<code> "-*msaFile infile.phy"</code>
				</format>
			</attributes>
		</parameter> -->	

<!-- when it is not an msa file  -->		
	<parameter ismandatory="1" ishidden="1"  type="String">
			<name>infile_msa</name>
			<attributes>
				<prompt>Sequence file (phylip)</prompt>
				<group>1</group>
<!-- 				<precond>
					<language>perl</language>
					<code>!$use_msafile</code>
				</precond>  -->
				<format>
					<language>perl</language>
					<code> "--seqFile infile.phy"</code>
				</format>
			</attributes>
		</parameter> 	
		
<!-- /projects/ps-ngbt/opt/comet/muscle/3.8.1551/muscle 
		<parameter type="String" ishidden="1" >
			<name>muscle_string</name>
			<attributes>
				<group>90</group>
				<precond>
					<language>perl</language>
					<code>$select_msaprogram eq "MUSCLE"</code>
				</precond>
				<format>
					<language>perl</language>
					<code>"-*muscle"</code>
				</format>
			</attributes>
		</parameter> -->

<!--  
		<parameter type="String" ishidden="1" >
			<name>clustal_string</name>
			<attributes>
				<group>90</group>
				<precond>
					<language>perl</language>
					<code>$select_msaprogram eq "CLUSTALW"</code>
				</precond>
				<format>
					<language>perl</language>
					<code>"-*clustalw"</code>
				</format>
			</attributes>
		</parameter> -->
		
<!-- 
		<parameter type="String" ishidden="1" >
			<name>mafft_string</name>
			<attributes>
				<group>90</group>
				<precond>
					<language>perl</language>
					<code>$select_msaprogram eq "MAFFT"</code>
				</precond>
				<format>
					<language>perl</language>
					<code>"-*mafft"</code>
				</format>
			</attributes>
		</parameter>  -->
		
<!-- prank 
		<parameter type="String" ishidden="1" >
			<name>prank_string</name>
			<attributes>
				<group>90</group>
				<precond>
					<language>perl</language>
					<code>$select_msaprogram eq "PRANK"</code>
				</precond>
				<format>
					<language>perl</language>
					<code>"-*prank /projects/ps-ngbt/opt/comet/prank/prank-msa/src/prank"</code>
				</format>
			</attributes>
		</parameter> -->
		
<!-- -*outDir -->
		<parameter type="String" ishidden="1" >
			<name>output_string</name>
			<attributes>
				<group>99</group>
				<format>
					<language>perl</language>
					<code>"--outDir  ./"</code>
				</format>
			</attributes>
		</parameter> 
	
<!-- guidance2 is serial -->	
<!--scheduler.conf -->
<!-- runs are on a single node -->		
		<parameter type="Integer" ishidden="1" >
			<name>onenode</name>
			<attributes>
				<group>1</group>
				<paramfile>scheduler.conf</paramfile>
				<format>
					<language>perl</language>
					<code>"nodes=1 \\n"</code>
				</format>
			</attributes>
		</parameter> 

<!--   -*proc_num <num of processors to use> default=1  -->	
	    <parameter type="String" ishidden="1" >
			<name>cores_used</name>
			<attributes>
				<group>1</group>
				<paramfile>scheduler.conf</paramfile>
				<format>
					<language>perl</language>
					<code>
						"mem=" . (int($specify_procnum*(248/32))) . "G\\n" .
						"threads_per_process=$specify_procnum\\n" 
					</code>
				</format>
			</attributes>
		</parameter> 

<!-- now set the value of mpi_processes in scheduler.conf -->		
<!-- If bootstrapreps = 0, set mpi_processes=searchreps -->	
<!-- when the cponf file is created here -->	  	
	    <parameter type="String" ishidden="1" >
			<name>node_exclusive</name>
			<attributes>
				<group>1</group>
				<paramfile>scheduler.conf</paramfile>
				<format>
					<language>perl</language>
					<code>
						"node_exclusive=0\\n" 
					</code>
				</format>
			</attributes>
		</parameter> 				

<!-- Output for Guidance -->		
<!-- return all results when testing -->
		<parameter type="Results">
			<name>all_results</name>
			<attributes>
				<filenames>*</filenames>
			</attributes>
		</parameter>
		
<!-- visible parameters  -->	

<!-- visible parameters -->
<!-- wall time can be 0.1 - 168 hrs -->
		<parameter type="Float" issimple="1" ismandatory="1">
			<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>0.5</value></vdef>
				<ctrls>
					<ctrl>
						<message>Maximum Hours to Run must be between 0.1 - 168.0.</message>
						<language>perl</language>
						<code>$runtime &lt; 0.1 || $runtime &gt; 168.0</code>
					</ctrl>
				</ctrls>
				<warns>
					<warn>
						<message>The job will run on $specify_procnum processors as configured. If it runs for the entire configured time, it will consume $specify_procnum X $runtime cpu hours</message>
						<language>perl</language>
						<code>defined $runtime </code>
					</warn>
				</warns>
				<format>
					<language>perl</language>
					<code>"runhours=$value\\n"</code>
				</format>
				<comment>
<value>Estimate the maximum time your job will need to run. We recommend testimg initially with a &lt; 0.5hr test run because Jobs set for 0.5 h or less depedendably run immediately in the "debug" queue. 
Once you are sure the configuration is correct, you then increase the time. The reason is that jobs &gt; 0.5 h are submitted to the "normal" queue, where jobs configured for 1 or a few hours times may
run sooner than jobs configured for the full 168 hours. 
</value>
				</comment>	
			</attributes>
		</parameter>
		
<!-- -*msaFile <msaFile> - not recommended, see documentation online guidance.tau.ac.il 	-->
		<parameter  issimple="1" type="Switch">
			<name>use_msafile</name>
			<attributes>
				<prompt>My Input file is a sequence alignment (--msaFile)</prompt>
				<group>7</group>
			</attributes>
		</parameter> 	
		
<!-- -*program <GUIDANCE|HoT|GUIDANCE2> default=GUIDANCE2 -->		
		<parameter  issimple="1" ismandatory="1" type="Excl">
			<name>select_program</name>
			<attributes>
				<prompt>Select program (--program)</prompt>
				<group>3</group>
				<vlist>
					<value>GUIDANCE</value>
					<label>GUIDANCE</label>
					<value>GUIDANCE2</value>
					<label>GUIDANCE2</label>
					<value>HoT</value>
					<label>HoT</label>
				</vlist>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--program $value":""</code>
				</format>
			</attributes>
		</parameter> 
		
<!-- -*msaProgram <MAFFT|PRANK|CLUSTALW|MUSCLE|PAGAN> 	 -->		
		<parameter  issimple="1" ismandatory="1" type="Excl">
			<name>select_msaprogram</name>
			<attributes>
				<prompt>Select the MSA program that created your dataset (--msaProgram)</prompt>
				<group>3</group>
				<vlist>
					<value>MAFFT</value>
					<label>MAFFT</label>
					<value>CLUSTALW</value>
					<label>CLUSTALW</label>
					<value>MUSCLE</value>
					<label>MUSCLE</label>
<!-- 				<value>PAGAN</value>
					<label>PAGAN</label>  -->
				</vlist>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--msaProgram $value":""</code>
				</format>
				<ctrls>
					<ctrl>
						<message>Sorry you cant use MUSCLE with Guidance2, use Guidance instead</message>
						<language>perl</language>
						<code>$select_msaprogram eq "MUSCLE" &amp;&amp; $select_program eq "GUIDANCE2" </code>
					</ctrl>
					<ctrl>
						<message>Sorry you cant use PAGAN with Guidance2, use Guidance instead</message>
						<language>perl</language>
						<code>$select_msaprogram eq "PAGAN" &amp;&amp; $select_program eq "GUIDANCE2" </code>
					</ctrl>
				</ctrls>
			</attributes>
		</parameter>
		
<!--  -*seqType <aa|nuc|codon> -->
		<parameter  issimple="1" ismandatory="1" type="Excl">
			<name>select_seqtype</name>
			<attributes>
				<prompt>Select the Sequence type (-seqType)</prompt>
				<group>3</group>
				<vlist>
					<value>aa</value>
					<label>Amino Acid</label>
					<value>nuc</value>
					<label>Nucleotide</label>
					<value>codon</value>
					<label>Codon</label>
				</vlist>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "-seqType $value":""</code>
				</format>
			</attributes>
		</parameter>

<!--   -*bootstraps <number of bootstrap iterations> default=100 -->
		<parameter type="Integer">
			<name>specify_bootstraps</name>
			<attributes>
				<prompt>Specify the number of bootstraps (--bootstraps)</prompt>
				<group>3</group>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--bootstraps $value":""</code>
				</format>
				<vdef>
					<value>100</value>
				</vdef>
			</attributes>
		</parameter>

<!--   -*genCode <option value> default=1
                <option value=1>  Nuclear Standard
                <option value=15> Nuclear Blepharisma
                    <option value=6>  Nuclear Ciliate
                <option value=10> Nuclear Euplotid
                <option value=2>  Mitochondria Vertebrate
                <option value=5>  Mitochondria Invertebrate
                <option value=3>  Mitochondria Yeast
                <option value=13> Mitochondria Ascidian
                <option value=9>  Mitochondria Echinoderm
                <option value=14> Mitochondria Flatworm
                <option value=4>  Mitochondria Protozoan  -->

		<parameter ismandatory="1" type="Excl">
			<name>specify_geneticcode</name>
			<attributes>
				<prompt>Specify the Genetic Code (--genCode)</prompt>
				<group>3</group>
				<precond>
					<language>perl</language>
					<code>$select_seqtype eq "codon"</code>
				</precond>
				<vlist>
					<value>1</value>
					<label>Nuclear Standard</label>
					<value>15</value>
					<label>Nuclear Blepharisma</label>
					<value>6</value>
					<label>Nuclear Ciliate</label>
					<value>10</value>
					<label>Nuclear Euplotid</label>
					<value>2</value>
					<label>Mitochondria Vertebrate</label>
					<value>5</value>
					<label>Mitochondria Invertebrate</label>
					<value>3</value>
					<label>Mitochondria Yeast</label>
					<value>13</value>
					<label>Mitochondria Ascidian</label>
					<value>9</value>
					<label>Mitochondria Echinoderm</label>
					<value>14</value>
					<label>Mitochondria Flatworm</label>
					<value>4</value>
					<label>Mitochondria Protozoan</label>
				</vlist>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--genCode $value":""</code>
				</format>
				<vdef>
					<value>1</value>
				</vdef>
			</attributes>
		</parameter>
		
<!--  -*seqCutoff <confidence cutoff between 0 to 1> default=0.6
  -*colCutoff <confidence cutoff between 0 to 1> default=0.93 -->		
		<parameter type="Float">
			<name>specify_seqcutoff</name>
			<attributes>
				<prompt>Sequence Confidence cutoff (default is 0.6)</prompt>
				<group>3</group>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--seqCutoff $value":""</code>
				</format>
				<vdef>
					<value>0.6</value>
				</vdef>
				<ctrls>
					<ctrl>
						<message>The confidence cutoff must be between 0 and 1</message>
						<language>perl</language>
						<code>$value &gt;= 1 &amp;&amp; $value &lt;= 0</code>
					</ctrl>
				</ctrls>
			</attributes>
		</parameter>
		
		<parameter type="Float">
			<name>specify_colcutoff</name>
			<attributes>
				<prompt>Column Confidence cutoff (default is 0.93)</prompt>
				<group>3</group>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--colCutoff $value":""</code>
				</format>
				<vdef>
					<value>0.93</value>
				</vdef>
				<ctrls>
					<ctrl>
						<message>The confidence cutoff must be between 0 and 1</message>
						<language>perl</language>
						<code>$value &gt;= 1 &amp;&amp; $value &lt;= 0</code>
					</ctrl>
				</ctrls>
			</attributes>
		</parameter>
		
<!--    -*MSA_Param passing parameters for the alignment program. To pass parameter containing '-' in it, add \ before each '-' e.g. \-F for PRANK -->
		<parameter issimple="1" type="String">
			<name>specify_msaparam</name>
			<attributes>
				<prompt>Pass a parameter to the alignment program (-F for PRANK)</prompt>
				<group>6</group>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--MSA_Param \/$value ":""</code>
				</format>
			</attributes>
		</parameter>
		
<!--   -*proc_num <num of processors to use> default=1  -->	
		<parameter issimple="1" type="Integer">
			<name>specify_procnum</name>
			<attributes>
				<prompt>Number of processors (--proc_num). Max 12.</prompt>
				<group>3</group>
				<format>
					<language>perl</language>
					<code>(defined $value) ? "--proc_num $value":""</code>
				</format>
				<vdef>
					<value>1</value>
				</vdef>
			</attributes>
		</parameter>
		
<!--  -*outOrder <aligned|as_input> default=aligned -->
		<parameter type="Switch">
			<name>specify_outorder</name>
			<attributes>
				<prompt>Output order = Input Order (default is aligned)</prompt>
				<group>3</group>
				<format>
					<language>perl</language>
					<code>($value) ? "--outOrder as_input":""</code>
				</format>
				<vdef>
					<value>0</value>
				</vdef>
			</attributes>
		</parameter>

</parameters>
</pise>


