<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE pise PUBLIC "pise2.dtd" "pise2.dtd">
<pise>
	<head>
		<title>PREQUAL on XSEDE</title>
		<version>1.02</version>
		<description>PRE-alignment QUALity assessment on XSEDE</description>
		<authors>Simon Whelan</authors>
		<reference>Whelan, S., Irisarri, I., and Burki, F. (2018) PREQUAL: detecting non-homologous characters in sets of unaligned homologous sequences. Bioinformatics 34, 3929-3930 10.1093/bioinformatics/bty448</reference>
		<category>Phylogeny / </category>
<!--		<doclink>http://icwww.epfl.ch/~stamatak/index-Dateien/countManual7.0.0.php</doclink> -->
	</head>
	<command>prequal_xsede</command>
	
<parameters>
<!--          
command line tool using segment approach for examining a group of homologous sequences and filter (remove or mask)
characters or stretches within individual sequences that are unlikely to share a common ancestor

**********************************************************
        PREQUAL v.1.02  by Simon Whelan
**********************************************************

Options affecting the core region and filtering:
        -corerun X              : X number of high posterior residues at beginning and end before
                                        a core region is defined [DEFAULT 3]
        -nocore                 : No core region will be defined [DEFAULT uses core region]
        -removeall              : Remove all residues rather than those outside the core region
                                        [DEFAULT residues in core filtered with X]
        -corefilter X           : The character outputted in the core for the  filtered alignment [DEFAULT is X]
        -noremoverepeat         : Do not remove repeated regions of length >20. Repeats break PPs!

Options dealing with protein coding DNA sequences:
        -nodna                  : Enforces banning of dna sequences. The program will fail if only DNA is input.
        -forceuniversal         : Enforces the usage of the universal code. Internal stop codons will be replaced with X for other codes.

Options affecting output formats:
        -outsuffix X            : Output file will be the original name with X as a suffix [DEFAULT .filtered]
        -dosummary              : Output summary statistics to file suffixed with .summary
        -dodetail               : Output detailed statistics to file suffixed with .detail
        -noPP                   : Stop outputting the posterior probability matrix

Options affecting posterior probabilities and filtering:
        -pptype X [Y]           : Specify the algorithm used to calculate posterior probabilities
                                        X = all : for all against all sequence comparisons
                                        X = closest : for Y closest relatives [DEFAULT; Y = 10]
                                        X = longest : for comparing the Y longest sequences [Y = 10]
        -filterprop X           : Filter the sequences so that in total X proportion (range 0.0 - 1.0)
                                        of the sequences are maintained. This can be used to tune filtering.
        -filterthresh X         : Filter the sequences to the posterior probabilities threshold X [DEFAULT = 0.994]
                                        (range 0.0 - 1.0). DEFAULT filtering option with threshold
        -filterjoin X           : Extend filtering over regions of unfiltered sequence less than X [DEFAULT X = 10]
        -nofilterlist X         : Specify a file X that contains a list of taxa names that will
                                        not be filtered. In X one name per line.
        -nofilterword X         : Specify a file X that contains a list of words and sequence names that contain
                                        those words will not be filtered. In X one word per line.

Usage:
        ./prequal [options] input_file
        -h [all] for [full] options

Typical usage (should do a good job with most sequences):
         ./prequal input_file
 -->

<!-- Hidden parameters-->

<!-- Invoke the run  --> 
					<parameter ishidden="1" type="String">
						<name>invoke_run</name>
						<attributes>
							<format>
								<language>perl</language>
								<code>"/expanse/projects/ngbt/opt/expanse/prequal/prequal/prequal"</code>
							</format> 
							<group>0</group>
						</attributes>
					</parameter>	
		
<!-- Specify the input file -->	
					<parameter ismandatory="1" issimple="1" isinput="1" type="InFile">
						<name>infile</name>
						<attributes>
							<prompt>Fasta Sequences File</prompt>
							<format>
								<language>perl</language>
								<code>"infile.txt"</code>
							</format>
							<group>99</group>
							<filenames>infile.txt</filenames>
						</attributes>
					</parameter>
		
<!-- runs are on a single node -->		
	<!-- scheduler file -->
		<parameter type="String" ishidden="1" >
			<name>scheduler_input</name>
			<attributes>
				<paramfile>scheduler.conf</paramfile>
					<precond>
						<language>perl</language>
						<code>!defined $more_memory</code>
					</precond>
					<format>
						<language>perl</language>
						<code>
									"ChargeFactor=1.0\\n" .
									"nodes=1\\n" .
									"mem=8G\\n" .
									"node_exclusive=0\\n" .
									"threads_per_process=1\\n"
						</code>
					</format>
			</attributes>
		</parameter>
			
<!-- scheduler file -->
		<parameter type="String" ishidden="1" >
			<name>scheduler_input2</name>
			<attributes>
				<paramfile>scheduler.conf</paramfile>
					<precond>
						<language>perl</language>
						<code>defined $more_memory &amp;&amp; $more_memory &lt; 240</code>
					</precond>
					<format>
						<language>perl</language>
						<code>
									"ChargeFactor=1.0\\n" .
									"nodes=1\\n" .
									"mem=" . ($more_memory) . "G\\n" .
									"node_exclusive=0\\n" .
									"threads_per_process=1\\n"
						</code>
					</format>
			</attributes>
		</parameter>
		
<!-- scheduler file -->
		<parameter type="String" ishidden="1" >
			<name>scheduler_input3</name>
			<attributes>
				<paramfile>scheduler.conf</paramfile>
					<precond>
						<language>perl</language>
						<code>defined $more_memory &amp;&amp; $more_memory &gt; 240</code>
					</precond>
					<format>
						<language>perl</language>
						<code>
									"ChargeFactor=1.0\\n" .
									"nodes=1\\n" .
									"mem=243G\\n" .
									"node_exclusive=1\\n" .
									"threads_per_process=1\\n"
						</code>
					</format>
			</attributes>
			</parameter>
 						
<!-- retrun results -->
					<parameter type="Results">
						<name>all_outputfiles</name>
						<attributes>
						<filenames>*</filenames>
						</attributes>
					</parameter>
	
<!-- Parameters with visible controls start here -->
<!-- Begin Simple Parameters -->
<!-- Set Max hours -->
		<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.25</value>
				</vdef>
				<format>
					<language>perl</language>
					<code>"runhours=$value\\n"</code>
				</format>
				<ctrls>
					<ctrl>
						<message>Maximum Hours to Run must be less than 168</message>
						<language>perl</language>
						<code>$runtime &gt; 168</code>
					</ctrl>
					<ctrl>
						<message>Maximum Hours to Run must be greater than 0</message>
						<language>perl</language>
						<code>$runtime &lt; 0</code>
					</ctrl>
					<ctrl>
						<message>Please Enter a Value for Maximum Hours to Run</message>
						<language>perl</language>
						<code>!defined $runtime </code>
					</ctrl>
				</ctrls>
<!--  				<warns>
					<warn>
						<message>The job will run on 1 processor as configured. If it runs for the entire configured time, it will consume 1 x $runtime cpu hours</message>
						<language>perl</language>
						<code>$runtime &gt; 0 </code>
					</warn>
				</warns>		-->					
				<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 dependably 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>
		
		<parameter type="Excl" issimple="1">
			<name>more_memory</name>
			<attributes>
				<group>1</group>
				<prompt>Set a value for more memory</prompt>
				<vlist>
					<value>16</value>
					<label>16</label>
					<value>32</value>
					<label>32</label>
					<value>64</value>
					<label>64</label>
					<value>128</value>
					<label>128</label>
					<value>243</value>
					<label>243</label>
				</vlist>
  				<warns>
					<warn>
						<message>This job will require 128 cpus as configured, if it runs for the full time, it will consume $runtime x 128 cpu hours.</message>
						<language>perl</language>
						<code>defined $more_memory &amp;&amp;  $more_memory &gt; 128</code>
					</warn>
					<warn>
						<message>This job will require 8 cpus as configured, if it runs for the full time, it will consume $runtime x 8 cpu hours.</message>
						<language>perl</language>
						<code>defined $more_memory &amp;&amp; $more_memory == 16</code>
					</warn>
										<warn>
						<message>This job will require 16 cpus as configured, if it runs for the full time, it will consume $runtime x 16 cpu hours.</message>
						<language>perl</language>
						<code>defined $more_memory &amp;&amp; $more_memory == 32</code>
					</warn>
										<warn>
						<message>This job will require 32 cpus as configured, if it runs for the full time, it will consume $runtime x 32 cpu hours.</message>
						<language>perl</language>
						<code>defined $more_memory &amp;&amp; $more_memory == 64</code>
					</warn>
										<warn>
						<message>This job will require 64 cpus as configured, if it runs for the full time, it will consume $runtime x 64 cpu hours.</message>
						<language>perl</language>
						<code>defined $more_memory &amp;&amp; $more_memory == 128</code>
					</warn>
					<warn>
						<message>This job will require 4 cpu as configured, if it runs for the full time, it will consume 4 X $runtime cpu hours.</message>
						<language>perl</language>
						<code>!defined $more_memory</code>
					</warn>
				</warns>
			</attributes>
		</parameter>
				
		
<parameter type="Paragraph">
	<paragraph>
		<name>core_options</name>
		<prompt>Core options</prompt>
		<parameters>
<!-- 
Options affecting the core region and filtering:
        -corerun X              : X number of high posterior residues at beginning and end before
                                        a core region is defined [DEFAULT 3]
        -nocore                 : No core region will be defined [DEFAULT uses core region]
        -removeall              : Remove all residues rather than those outside the core region
                                        [DEFAULT residues in core filtered with X]
        -corefilter X           : The character outputted in the core for the  filtered alignment [DEFAULT is X]
        -noremoverepeat         : Do not remove repeated regions of length >20. Repeats break PPs! -->	
        			<parameter issimple="0" type="Switch">
						<name>specify_NoCore</name> 
						<attributes>
							<group>2</group>
							<prompt>Do not define a core region (-nocore)</prompt>
							<format>
								<language>perl</language>
								<code>($value) ? "-nocore":""</code>
							</format>
							<vdef>
								<value>0</value>
							</vdef>
							<comment>
								<value>
Prevents the program from defining a core region.				
								</value>
							</comment>
						</attributes>
					</parameter>
        
			<parameter issimple="0" type="Integer">
						<name>specify_HighPosterior</name> 
						<attributes>
							<group>2</group>
							<prompt>Number of high posterior residues at beginning and end of core region (-corerun)</prompt>
							<format>
								<language>perl</language>
								<code>(defined $value) ? "-corerun $value":""</code>
							</format>
							<vdef>
								<value>3</value>
							</vdef>
							<comment>
								<value>
Defines the number (X) of contiguous residues with high PP that are required to define a core region. Low values of X will make the program more generous at
defining the core, whereas high values will make the program more conservative.				
								</value>
							</comment>
						</attributes>
					</parameter>

<!--         -removeall              : Remove all residues rather than those outside the core region
                                        [DEFAULT residues in core filtered with X] -->					
					<parameter issimple="0" type="Switch">
						<name>specify_RemoveAll</name> 
						<attributes>
							<group>2</group>
							<prompt>Remove all residues rather than those outside the core region (-removeall)</prompt>
							<format>
								<language>perl</language>
								<code>($value) ? "-removeall":""</code>
							</format>
							<vdef>
								<value>0</value>
							</vdef>
							<comment>
								<value>
Means that all low PPs residues will be removed (not masked with X, but completely removed from the sequence). The authors recommend using this option with caution. 
Masking, rather than simply removing, low PP residues within the core region facilitates the inference
of the original positional homology among sequences. Complete removal can negatively affect multiple sequence alignment				
								</value>
							</comment>
						</attributes>
					</parameter>
<!-- -noremoverepeat         : Do not remove repeated regions of length >20. Repeats break PPs!  -->					
					<parameter issimple="0" type="Switch">
						<name>specify_NoMoverepeats</name> 
						<attributes>
							<group>2</group>
							<prompt>Do not remove repeated regions of length >20 (-noremoverepeat)</prompt>
							<format>
								<language>perl</language>
								<code>($value) ? "-noremoverepeat":""</code>
							</format>
							<vdef>
								<value>0</value>
							</vdef>
							<comment>
								<value>
By default PREQUAL will attempt to remove long identical repeats that can occur due to sequencing or assembly errors. When such a sequence is detected, a
warning will be generated. Choose this option to stop this functionality.			
								</value>
							</comment>
						</attributes>
					</parameter>

		</parameters>
	</paragraph>
</parameter>

<parameter type="Paragraph">
	<paragraph>
		<name>prob_options</name>
		<prompt>Prior and Posterior options</prompt>
		<parameters>
<!-- 
Options affecting output formats:
Options affecting posterior probabilities and filtering:
        -pptype X [Y]           : Specify the algorithm used to calculate posterior probabilities
                                        X = all : for all against all sequence comparisons
                                        X = closest : for Y closest relatives [DEFAULT; Y = 10]
                                        X = longest : for comparing the Y longest sequences [Y = 10]
        -filterprop X           : Filter the sequences so that in total X proportion (range 0.0 - 1.0)
                                        of the sequences are maintained. This can be used to tune filtering.
        -filterthresh X         : Filter the sequences to the posterior probabilities threshold X [DEFAULT = 0.994]
                                        (range 0.0 - 1.0). DEFAULT filtering option with threshold
        -filterjoin X           : Extend filtering over regions of unfiltered sequence less than X [DEFAULT X = 10]
        -nofilterlist X         : Specify a file X that contains a list of taxa names that will
                                        not be filtered. In X one name per line.
        -nofilterword X         : Specify a file X that contains a list of words and sequence names that contain
                                        those words will not be filtered. In X one word per line. -->	
			<parameter issimple="0" ismandatory="1" type="Excl">
						<name>specify_PPAlgorithm</name> 
						<attributes>
							<group>2</group>
							<prompt>Specify the algorithm used to calculate posterior probabilities (-pptype)</prompt>
							<vlist>
								<value>all</value>
								<label>All</label>
								<value>closest</value>
								<label>Closest</label>
								<value>longest</value>
								<label>Longest</label>
							</vlist>
							<vdef>
								<value>closest</value>
							</vdef>
							<ctrls>
								<ctrl>
									<message>Please specify the number of closest relatives</message>
									<language>perl</language>
									<code>$specify_PPAlgorithm eq "closest" &amp;&amp; !defined $specify_Closest</code>
								</ctrl>
								<ctrl>
									<message>Please specify the number of longest sequences</message>
									<language>perl</language>
									<code>$specify_PPAlgorithm eq "longest" &amp;&amp; !defined $specify_Longest</code>
								</ctrl>
							</ctrls>
							<comment>
								<value>
Specifies the algorithm to choose the subset of sequences to use when calculating PPs for each individual sequence. The default option is -pptype closest, which
compares each sequence against the 10 closest sequences defined by Kmer distance and also has mild coverage criteria. In some cases, you may wish to
raise the default number of closest relatives Y to improve the accuracy of the PPs (e.g. -pptype closest 20). In other cases, -pptype longest might work better,
which instead of evolutionary divergence choses the 10 longest sequences (the number of longest sequences may also be changed as above). We recommend to
use this option with caution, because the longest sequences are often those containing the most errors. Finally, the option -pptype all will use all sequences.
This option might be very slow, especially for data sets consisting of many sequences.			
								</value>
							</comment>
						</attributes>
					</parameter>
					
					<parameter issimple="0" type="Integer">
						<name>specify_Closest</name> 
						<attributes>
							<group>2</group>
							<prompt>Compare each sequence of how many closest sequences?</prompt>
							<precond>
								<language>perl</language>
								<code>$specify_PPAlgorithm eq "closest"</code>
							</precond>
							<vdef>
								<value>10</value>
							</vdef>
							<comment>
								<value>
Default is 10.			
								</value>
							</comment>
						</attributes>
					</parameter>			
					
					<parameter issimple="0" type="Integer">
						<name>specify_Longest</name> 
						<attributes>
							<group>2</group>
							<prompt>Compare each sequence of how many longest sequences?</prompt>
							<precond>
								<language>perl</language>
								<code>$specify_PPAlgorithm eq "longest"</code>
							</precond>
							<vdef>
								<value>10</value>
							</vdef>
							<comment>
								<value>
Default is 10.			
								</value>
							</comment>
						</attributes>
					</parameter>			

			<parameter ishidden="1" type="String">
						<name>specify_PPAlgorithmhidden</name> 
						<attributes>
							<group>2</group>
							<precond>
								<language>perl</language>
								<code>$specify_PPAlgorithm eq "closest"</code>
							</precond>
							<format>
								<language>perl</language>
								<code>"-pptype closest $specify_Closest"</code>
							</format>
						</attributes>
					</parameter>
					
					<parameter ishidden="1" type="String">
						<name>specify_PPAlgorithmhidden2</name> 
						<attributes>
							<group>2</group>
							<precond>
								<language>perl</language>
								<code>$specify_PPAlgorithm eq "longest"</code>
							</precond>
							<format>
								<language>perl</language>
								<code>"-pptype longest $specify_Longest"</code>
							</format>
						</attributes>
					</parameter>
					
  					<parameter ishidden="1" type="String">
						<name>specify_PPAlgorithmhidden3</name> 
						<attributes>
							<group>2</group>
							<precond>
								<language>perl</language>
								<code>$specify_PPAlgorithm eq "all"</code>
							</precond>
							<format>
								<language>perl</language>
								<code>"-pptype all"</code>
							</format>
						</attributes>
					</parameter>
													

<!--         -filterprop X           : Filter the sequences so that in total X proportion (range 0.0 - 1.0)
                                        of the sequences are maintained. This can be used to tune filtering.
        -filterthresh X         : Filter the sequences to the posterior probabilities threshold X [DEFAULT = 0.994]
                                        (range 0.0 - 1.0). DEFAULT filtering option with threshold
        -filterjoin X           : Extend filtering over regions of unfiltered sequence less than X [DEFAULT X = 10]
        -nofilterlist X         : Specify a file X that contains a list of taxa names that will
                                        not be filtered. In X one name per line.
        -nofilterword X         : Specify a file X that contains a list of words and sequence names that contain
                                        those words will not be filtered. In X one word per line. -->					
					<parameter issimple="0" type="Float">
						<name>specify_FilterProp</name> 
						<attributes>
							<group>2</group>
							<prompt>Fraction of the sequences are maintained. (-filterprop)</prompt>
							<format>
								<language>perl</language>
								<code>(defined $value) ? "-filterprop $value":""</code>
							</format>
							<ctrls>
								<ctrl>
									<message>Sorry the fraction of sequences maintained must be between 0 and 1</message>
									<language>perl</language>
									<code>$value &gt; 1 || $value &lt; 0 </code>
								</ctrl>
							</ctrls>
							<comment>
								<value>
Instead of filtering sequences by Posterior Probability, the user can choose a proportion of the original data (X%) that is willing to lose in the filtering, and PREQUAL will
adjust the filtering threshold accordingly. In practice, PREQUAL will often filter a little higher proportion of data because of the way regions of low confidence are
joined together and how N- and C-termini are dealt with. This is the second of two main filtering approaches available in PREQUAL.				
								</value>
							</comment>
						</attributes>
					</parameter>			
					
					<parameter issimple="0" type="Float">
						<name>specify_FilterThresh</name> 
						<attributes>
							<group>2</group>
							<prompt>Postrerior probability threshold (-filterthresh)</prompt>
							<format>
								<language>perl</language>
								<code>(defined $value) ? "-filterthresh $value":""</code>
							</format>
							<ctrls>
								<ctrl>
									<message>Sorry the posterior probability threshold must be between 0 and 1</message>
									<language>perl</language>
									<code>$value &gt; 1 || $value &lt; 0 </code>
								</ctrl>
							</ctrls>
							<comment>
								<value>
Specify a PP threshold for filtering. By default, every residue with PP less than0.994 will be filtered. The most stringent threshold would be a threshold of 1.0, which will
keep only the residues with absolutely only the highest confidence. The most liberal threshold of zero would not filter any residue. The default threshold of
0.994 was experimentally shown to perform well for a wide range of input data. This is the first of two main filtering approaches available in PREQUAL.	
								</value>
							</comment>
						</attributes>
					</parameter>		
						
<!--         -filterjoin X           : Extend filtering over regions of unfiltered sequence less than X [DEFAULT X = 10] -->					
					<parameter issimple="0" type="Integer">
						<name>specify_FilterJoin</name> 
						<attributes>
							<group>2</group>
							<prompt>Extend filtering over regions of unfiltered sequence less than (-filterjoin)</prompt>
							<format>
								<language>perl</language>
								<code>(defined $value) ? "-filterjoin $value":""</code>
							</format>
							<comment>
								<value>
PREQUAL joins together low PP residues according to X in this threshold (default is 10). If there are fewer than X residues between two residues with low PPs,
PREQUAL will filter all residues between them. Low values of X are more generous and will keep more data, whereas high values of X are more stringent
and will filter more data.				
								</value>
							</comment>
						</attributes>
					</parameter>
 
 <!--         -nofilterlist X         : Specify a file X that contains a list of taxa names that will
                                        not be filtered. In X one name per line.
              -nofilterword X         : Specify a file X that contains a list of words and sequence names that contain
                                        those words will not be filtered. In X one word per line. -->
 					<parameter issimple="0" type="InFile">
						<name>specify_TaxonNames</name> 
						<attributes>
							<group>2</group>
							<prompt>Select a file that contains a list of taxa names that will not be filtered (-nofilterlist)</prompt>
							<format>
								<language>perl</language>
								<code>(defined $value) ? "-nofilterlist filterlist.txt":""</code>
							</format>
							<filenames>nofilterlist.txt</filenames>
							<comment>
								<value>
Specify a file X that contains a list of taxa names that will not be filtered. In X one name per line.			
								</value>
							</comment>
						</attributes>
					</parameter>			
					
					<parameter issimple="0" type="InFile">
						<name>specify_WordsSeqs</name> 
						<attributes>
							<group>2</group>
							<prompt>Number of high posterior residues at beginning and end of core region (-corerun)</prompt>
							<format>
								<language>perl</language>
								<code>(defined $value) ? "-nofilterword nofilterword.txt":""</code>
							</format>
							<filenames>nofilterword.txt</filenames>
							<comment>
								<value>
Specify a file X that contains a list of words and sequence names that contain those words will not be filtered. In X one word per line.				
								</value>
							</comment>
						</attributes>
					</parameter>
		</parameters>
	</paragraph>
</parameter>
						
<parameter type="Paragraph">
	<paragraph>
		<name>output_options</name>
		<prompt>Output options</prompt>
		<parameters>
<!-- 
Options affecting output formats:
        -outsuffix X            : Output file will be the original name with X as a suffix [DEFAULT .filtered]
        -dosummary              : Output summary statistics to file suffixed with .summary
        -dodetail               : Output detailed statistics to file suffixed with .detail
        -noPP                   : Stop outputting the posterior probability matrix -->	
        			<parameter issimple="0" type="String">
						<name>specify_Outsuffix</name> 
						<attributes>
							<group>2</group>
							<prompt>Specify a suffix for output files (-outsuffix)</prompt>
							<format>
								<language>perl</language>
								<code>(defined $value) ? "-outsuffix $value":""</code>
							</format>
							<vdef>
								<value>filtered</value>
							</vdef>
							<comment>
								<value>
Output file will be the original name with X as a suffix [DEFAULT .filtered].				
								</value>
							</comment>
						</attributes>
					</parameter>

<!--           -dosummary              : Output summary statistics to file suffixed with .summary -->					
					<parameter issimple="0" type="Switch">
						<name>specify_Dosummary</name> 
						<attributes>
							<group>2</group>
							<prompt>Output summary statistics to file (-dosummary)</prompt>
							<format>
								<language>perl</language>
								<code>($value) ? "-dosummary":""</code>
							</format>
							<vdef>
								<value>1</value>
							</vdef>
							<comment>
								<value>
Output a broad summary file about your filtering, including information about the proportion of individual sequences removed and the amount of individual
sequences defined as core region. This information will be output to a file suffixed .summary		
								</value>
							</comment>
						</attributes>
					</parameter>
					
<!-- Output detailed statistics to file suffixed with .detail -->					
					<parameter issimple="0" type="Switch">
						<name>specify_DoDetail</name> 
						<attributes>
							<group>2</group>
							<prompt>Output detailed statistics to file (-dodetail)</prompt>
							<format>
								<language>perl</language>
								<code>($value) ? "-dodetail":""</code>
							</format>
							<vdef>
								<value>0</value>
							</vdef>
							<comment>
								<value>
Generate a detailed summary file about your filtering. The output displays the PP for each residue and sequence, arranged into four columns:
[Residue_number]Amino_acid : Indexing starts at 0 : Posterior_probability : Range (0,1) : Whether_the_residue_is_removed : 0 = FALSE; 1 = TRUE : Whether_the_residue_is_in_the_code : 0 = FALSE; 1 = TRUE			
								</value>
							</comment>
						</attributes>
					</parameter>
					
<!-- -noPP                    -->					
					<parameter issimple="0" type="Switch">
						<name>specify_NoPPoutput</name> 
						<attributes>
							<group>2</group>
							<prompt>Stop outputting the posterior probability matrix (--noPP)</prompt>
							<format>
								<language>perl</language>
								<code>($value) ? "-noPP":""</code>
							</format>
							<vdef>
								<value>0</value>
							</vdef>
							<comment>
								<value>
Do not output the posterior probability file. This will also force PREQUAL to recalculate PPs every run, in contrast to the default behaviour or reading in the corresponding .PP file if available.			
								</value>
							</comment>
						</attributes>
					</parameter>

		</parameters>
	</paragraph>
</parameter>
			
	</parameters>
</pise>

