<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pise PUBLIC "pise2.dtd" "pise2.dtd" >
<pise>
	<head>
		<title>PHMMER on XSEDE</title>
		<version>3.3.2</version>
		<description>Biological sequence analysis using profile hidden Markov models - run on XSEDE</description>
		<authors>Sean Eddy</authors>
		<reference>
			http://www.hmmer.org
		</reference>
		<category>Sequence Analysis</category>
	</head>
	
	<command>phmmer_xsede</command>
	   
<!-- Great - here is the command line.  We use it in Galaxy but our computational resources are limiting.  I attach the two example files. 

PHMMER search of Rhiso1_GeneCatalog_proteins_20131028.aa.fasta in Saccharomyces_cerevisiae_database.txt
phmmer [options] seqfile seqdb  

phmmer   -*tblout dataset_3039.dat  
		 -*domtblout dataset_3040.dat  
		 -*pfamtblout dataset_3041.dat       
		 -E 10.0 
		 -*domE 10.0 
		 
		 -*F1 0.02 -*F2 0.001 -*F3 1e-05 
		 -*EmL 200 -*EmN 200 -*EvL 200 -*EvN 200 -*EfL 100 -*EfN 200  -*Eft 0.04  
		 -*cpu ${GALAXY_SLOTS:-2} 
		 -*seed 42   
		 dataset_3037.dat (seqfile) dataset_2820.dat (seqdb) 
		 > dataset_3038.dat

#####################################################################################
Options Controlling Scoring System
The probability model in phmmer is constructed by inferring residue probabilities from a standard 20x20 substitution score matrix,
plus two additional parameters for position-independent gap open and gap extend probabilities.
-*popen <x> Set the gap open probability for a single sequence query model to <x>. The default is 0.02. <x> must be >= 0 and < 0.5.
-*pextend <x> Set the gap extend probability for a single sequence query model to <x>. The default is 0.4. <x> must be >= 0 and < 1.0.
-*mx <s> Obtain residue alignment probabilities from the built-in substitution matrix named <s>. Several standard matrices
are built-in, and do not need to be read from files. The matrix name <s> can be PAM30, PAM70, PAM120, PAM240,
BLOSUM45, BLOSUM50, BLOSUM62, BLOSUM80, or BLOSUM90. Only one of the -*mx and -*mxfile options may be used.
-*mxfile mxfile Obtain residue alignment probabilities from the substitution matrix in file mxfile. The default score matrix is 
BLOSUM62 (this matrix is internal to HMMER and does not have to be available as a file). The format of a substitution matrix 
mxfile is the standard format accepted by BLAST, FASTA, and other sequence analysis software. 
See ftp.ncbi.nlm.nih.gov/blast/matrices/ for example files. (The only exception: we require matrices to be square, so for DNA, 
use files like NCBI’s NUC.4.4, not NUC.4.2.)

####################Not supported yet ###################################################################
Options Controlling Inclusion Thresholds
Inclusion thresholds are stricter than reporting thresholds. They control which hits are included in any output multiple alignment
(the -A option) and which domains are marked as significant ("!") as opposed to questionable ("?") in domain output.
-*incE <x> Use an E-value of <= <x> as the per-target inclusion threshold. The default is 0.01, meaning that on average, about 1
false positive would be expected in every 100 searches with different query sequences.
-*incT <x> Instead of using E-values for setting the inclusion threshold, instead use a bit score of >= <x> as the per-target 
inclusion threshold. By default this option is unset.
-*incdomE <x> Use a conditional E-value of <= <x> as the per-domain inclusion threshold, in targets that have already satisfied the
overall per-target inclusion threshold. The default is 0.01.
-*incdomT <x> Instead of using E-values, use a bit score of >= <x> as the per-domain inclusion threshold. By default this option is
unset.

-->

<parameters> 

<!--  submission on expanse: the invocation line and any needed thread specification  -->
					<parameter ismandatory="1" ishidden="1" type="String">
						<name>phmmer_comet</name>
						<attributes>
							<format>
								<language>perl</language>		
								<code>"phmmerwrapper_3.3.2_comet"</code>
							</format>
							<group>0</group>
						</attributes>
					</parameter>							
																		
<!--  submission on comet: the invocation line and any needed thread specification  -->
<!--  					<parameter ismandatory="1" ishidden="1" type="String">
						<name>beast1_nobeagle_comet</name>
						<attributes>
							<precond>
								<language>perl</language>
								<code>$no_beagle &amp;&amp; $which_beast eq "1"</code>		
							</precond>
							<format>
								<language>perl</language>		
								<code>"<![CDATA[beastonlywrapper_1.8.1]]>"</code>
							</format>
							<group>0</group>
						</attributes>
					</parameter> -->
							
					

<!-- command line -->				
<!-- 				<parameter issimple="1" ishidden="1" type="String">
					<name>partitions_codonp</name>
					<attributes>
						<precond>
							<language>perl</language>
							<code>$which_beast &lt; 3 &amp;&amp; $codon_partitioning &amp;&amp; $nu_partitions &lt; 4 &amp;&amp; !$no_beagle  &amp;&amp; !$datatype</code>
						</precond>
						<format>
							<language>perl</language>
							<code> "-threads $nu_partitions -beagle_SSE -beagle_instances 1"</code>
						</format>
						<group>4</group>
					</attributes>
				</parameter>  -->
				
<!-- scheduler.conf -->									
				<parameter type="String" ishidden="1" >
					<name>number_nodes</name>
					<attributes>
						<group>2</group>
						<paramfile>scheduler.conf</paramfile>
						<format>
							<language>perl</language>
							<code>
									"ChargeFactor=1.0\\n" .
									"nodes=1\\n" .
									"node_exclusive=0\\n" .
									"threads_per_process=$num_cores\\n"
							</code>
						</format>
					</attributes>
				</parameter>
				
<!-- use when use_mpi = 1 -->				
				<parameter type="String" ishidden="1" >
					<name>mpi_run</name>
					<attributes>
						<group>2</group>
						<paramfile>scheduler.conf</paramfile>
	  					<precond>
							<language>perl</language>
							<code>$run_mpi</code>
						</precond>
						<format>
							<language>perl</language>
							<code>
									"run_type=mpi\\n"
							</code>
						</format>
					</attributes>
				</parameter>
				
		
<!-- input file specification -->
<!-- the input file to be operated on ends the command line -->
		<parameter issimple="1" ismandatory="1" isinput="1" type="Sequence">
			<name>infile_seq</name>
			<attributes>
				<prompt>Input File (the query sequence file)</prompt>
				<format>
					<language>perl</language>
					<code>"seqfile.txt"</code>
				</format>
				<group>98</group>
<!-- this file designator be the penultimate entry in the command string, so we set it for 98 currently -->
				<filenames>seqfile.txt</filenames>
			</attributes>
		</parameter>
		
<!-- Results section. To start we return all results files available-->

		<parameter ishidden="1" type="Results">
			<name>all_results</name>
			<attributes>
				<filenames>*</filenames>
			</attributes>
		</parameter>
		
<!-- This section provides visible queries that help configure the interface  -->

<!--when there are more versions
			<parameter issimple="1" ismandatory="1" type="Excl">
			<name>which_phmmer</name>
			<attributes>
				<prompt>Which Version of PHMMER do you wish to run?</prompt>
				<vlist>
					<value>0</value>
  					<label>Version 1.8.0</label>
 					<value>1</value>
					<label>Version 1.8.1</label>
				</vlist>
				<vdef>
					<value></value>				
				</vdef>
				<ctrls>
					<ctrl>
						<message>Please choose a version</message>
						<language>perl</language>
						<code>!defined $which_phmmer</code>
					</ctrl>
				</ctrls>
				<group>4</group>
				<comment>
<value></value>
				</comment>
			</attributes>
		</parameter> -->
		
<!-- this sets the run time -->
				<parameter type="Float" issimple="1" ismandatory="1">
					<name>runtime</name> 
					<attributes>
						<group>1</group>
						<paramfile>scheduler.conf</paramfile>
						<prompt>Maximum Hours to Run (up to 168 hours for non-gpu; 120 for gpu jobs)</prompt>
						<vdef>
							<value>0.5</value>
						</vdef>
						<ctrls>
<!-- no beagle all -->
						<ctrl>
								<message>The maximum runtime for a job can be no more than 168 hours</message>
								<language>perl</language>
								<code>$runtime &gt; 168.0</code>
							</ctrl>
						</ctrls>
						<format>
							<language>perl</language>
							<code>"runhours=$value\\n"</code>
						</format>
						<warns>
							<warn>
								<message>The job will run on $num_cores processors as configured. If it runs for the entire configured time, it will consume $num_cores X $runtime cpu hours</message>
								<language>perl</language>
								<code>$runtime &gt; 0 &amp;&amp; defined $num_cores</code>
							</warn>
							<warn>
								<message>The job will run on $num_cores processors as configured. If it runs for the entire configured time, it will consume $num_cores X $runtime cpu hours</message>
								<language>perl</language>
								<code>$runtime &gt; 0 &amp;&amp; $run_mpi</code>
							</warn>
						</warns>
						<comment>
<value>Estimate the maximum time your job will need to run. We recommend testing 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>

<!-- ##########################################################################################
Other Options
-*nonull2 Turn off the null2 score corrections for biased composition.

-Z <x> Assert that the total number of targets in your searches is <x>, for the purposes of per-sequence E-value calculations,
rather than the actual number of targets seen.

-*domZ <x> Assert that the total number of targets in your searches is <x>, for the purposes of per-domain conditional E-value
calculations, rather than the number of targets that passed the reporting thresholds.

-*qformat <s> Assert that input seqfile is in format <s>, bypassing format autodetection. Common choices for <s> include: 
fasta, embl, genbank. Alignment formats also work; common choices include: stockholm, a2m, afa, psiblast, clustal, phylip. 
phmmer always uses a single sequence query to start its search, so when the input seqfile is an alignment, phmmer reads it 
one unaligned query sequence at a time, not as an alignment. For more information, and for codes for some less common formats, 
see main documentation. The string <s> is case-insensitive (fasta or FASTA both work). 

-*tformat <s> Assert that target sequence database seqdb is in format <s>, bypassing format autodetection. See -*qformat above for list of accepted format codes for
<s>.

-*stall For debugging the MPI master/worker version: pause after start, to enable the developer to attach debuggers to the running
master and worker(s) processes. Send SIGCONT signal to release the pause. (Under gdb: (gdb) signal SIGCONT) (Only available if 
optional MPI support was enabled at compiletime.) -->	

<!-- -*cpu <n> Set the number of parallel worker threads to <n>. On multicore machines, the default is 2. You can also control this
number by setting an environment variable, HMMER_NCPU. There is also a master thread, so the actual number of threads that
HMMER spawns is <n>+1. This option is not available if HMMER was compiled with POSIX threads support turned off. -->
				<parameter issimple="1" ismandatory="1" type="Integer">
					<name>num_cores</name>
					<attributes>
						<prompt>How many cores do you need?</prompt>
						<format>
							<language>perl</language>
							<code> "--cpu $value"</code>
						</format>
						<vdef>
							<value>2</value>
						</vdef>
						<group>20</group>
						<ctrls>
							<ctrl>
								<message>Please enter an integer for the number of cores.</message>
								<language>perl</language>
								<code>!defined $num_cores</code>
							</ctrl>
							<ctrl>
								<message>Sorry you cant use mpi and cpu commands</message>
								<language>perl</language>
								<code>defined $num_cores &amp;&amp; $run_mpi</code>
							</ctrl>
						</ctrls>
						<comment>
							<value>This option will help the application determine how to run the job</value>
						</comment>
					</attributes>
				</parameter>
				
<!-- -*mpi Run under MPI control with master/worker parallelization (using mpirun, for example, or equivalent). Only available if
optional MPI support was enabled at compile-time. -->
<!-- we an add this if we need to 
				<parameter issimple="1" type="Switch">
					<name>run_mpi</name>
					<attributes>
						<prompt>Use MPI</prompt>
						<format>
							<language>perl</language>
							<code>$value ? "-*mpi":"" </code>
						</format>
						<vdef>
							<value>0</value>
						</vdef>
						<group>20</group>
						<comment>
							<value>This option will help the application determine how to run the job</value>
						</comment>
					</attributes>
				</parameter> -->


<!-- -*seed <n> Seed the random number generator with <n>, an integer >= 0. If <n> is >0, any stochastic simulations will be reproducible;
the same command will give the same results. If <n> is 0, the random number generator is seeded arbitrarily, and
stochastic simulations will vary from run to run of the same command. The default seed is 42.-->
		<parameter issimple="1" ishidden="0" type="String">
			<name>seed_val</name>
			<attributes>
				<prompt>Enter the seed value here</prompt>
				<precond>
					<language>perl</language>
					<code>$spec_seed</code>
				</precond>
				<format>
					<language>perl</language>
					<code> "--seed $value"</code>
				</format>
				<vdef>
					<value>42</value>				
				</vdef>
				<group>20</group>
			</attributes>
		</parameter>
		
		<parameter issimple="1" type="InFile">
			<name>select_database</name>
			<attributes>
				<prompt>Enter the database file here</prompt>
				<filenames>user_dataset.txt</filenames>
				<format>
					<language>perl</language>
					<code> "user_dataset.txt"</code>
				</format>
				<group>99</group>
			</attributes>
		</parameter>

<parameter type="Paragraph">
	<paragraph>
		<name>scoring_options</name>
		<prompt>Options Controlling Scoring System</prompt>
		<parameters>
<!-- ################################################################################################# -->	
<!-- Options Controlling Scoring System
The probability model in phmmer is constructed by inferring residue probabilities from a standard 20x20 substitution score matrix,
plus two additional parameters for position-independent gap open and gap extend probabilities. -->
<!-- ################################################################################################# -->

<!-- -*popen <x> Set the gap open probability for a single sequence query model to <x>. The default is 0.02. <x> must be >= 0 and < 0.5. -->		
		<parameter type="Float">
			<name>set_gapvalue</name>
			<attributes>
				<prompt>Gap open probability for a single sequence query model (--popen)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "--popen $value":""</code>
				</format>
				<vdef>
					<value>0.02</value>
				</vdef>
				<ctrls>
					<ctrl>
						<message>Please choose a gap probability value greater than 0 and less than 0.5 </message>
						<language>perl</language>
						<code>$set_gapvalue &lt;= 0 || $set_gapvalue &gt; 0.5</code>
					</ctrl>
				</ctrls>
				<group>25</group>
			</attributes>
		</parameter>

<!-- -*pextend <x> Set the gap extend probability for a single sequence query model to <x>. The default is 0.4. <x> must be >= 0 and < 1.0. -->		
		<parameter type="Float">
			<name>set_gapextendvalue</name>
			<attributes>
				<prompt>Gap extend probability for a single sequence query model (--pextend)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "--pextend $value":""</code>
				</format>
				<vdef>
					<value>0.4</value>
				</vdef>
				<group>25</group>
				<ctrls>
					<ctrl>
						<message>Please choose a gap probability value greater than 0 and less than 0.5 </message>
						<language>perl</language>
						<code>$set_gapextendvalue &lt; 0 || $set_gapextendvalue &gt;= 1.0</code>
					</ctrl>
				</ctrls>
			</attributes>
		</parameter>

<!-- -*mx <s> Obtain residue alignment probabilities from the built-in substitution matrix named <s>. Several standard matrices
are built-in, and do not need to be read from files. The matrix name <s> can be PAM30, PAM70, PAM120, PAM240,
BLOSUM45, BLOSUM50, BLOSUM62, BLOSUM80, or BLOSUM90. Only one of the -*mx and -*mxfile options may be used. -->		
		<parameter type="Excl">
			<name>specify_alignprobs</name>
			<attributes>
				<prompt>Obtain residue alignment probabilities from this substitution matrix (--mx)</prompt>
				<vlist>
					<value>PAM30</value>
					<label>PAM30</label>
					<value>PAM70</value>
					<label>PAM70</label>
					<value>PAM120</value>
					<label>PAM120</label>
					<value>PAM240</value>
					<label>PAM240</label>
					<value>BLOSUM45</value>
					<label>BLOSUM45</label>
					<value>BLOSUM50</value>
					<label>BLOSUM50</label>
					<value>BLOSUM62</value>
					<label>BLOSUM62</label>
					<value>BLOSUM80</value>
					<label>BLOSUM80</label>
					<value>BLOSUM90</value>
					<label>BLOSUM90</label>
				</vlist>
				<format>
					<language>perl</language>
					<code> $value ? "--mx $value":""</code>
				</format>
				<group>25</group>
			</attributes>
		</parameter>

<!-- -*mxfile mxfile Obtain residue alignment probabilities from the substitution matrix in file mxfile. The default score matrix is 
BLOSUM62 (this matrix is internal to HMMER and does not have to be available as a file). The format of a substitution matrix 
mxfile is the standard format accepted by BLAST, FASTA, and other sequence analysis software. 
See ftp.ncbi.nlm.nih.gov/blast/matrices/ for example files. (The only exception: we require matrices to be square, so for DNA, 
use files like NCBI’s NUC.4.4, not NUC.4.2 -->					
		<parameter type="InFile">
			<name>custom_mxfile</name>
			<attributes>
				<prompt>Obtain residue alignment probabilities from custom substitution matrix (--mxfile)</prompt>
				<format>
					<language>perl</language>
					<code> defined $dombitscore ? "--mxfile custom_submatrix.txt":""</code>
				</format>
				<filenames>custom_submatrix.txt</filenames>
				<group>25</group>
			</attributes>
		</parameter>
												
		</parameters>	
	</paragraph>
</parameter>

<parameter type="Paragraph">
	<paragraph>
		<name>reporting_options</name>
		<prompt>Options Controlling Reporting Thresholds</prompt>
		<parameters>
<!-- Options Controlling Reporting Thresholds
Reporting thresholds control which hits are reported in output files (the main output,
-*tblout, and -*domtblout). Sequence hits and domain hits are ranked by statistical
significance (E-value) and output is generated in two sections called per-target and
per-domain output. In per-target output, by default, all sequence hits with an E-value
<= 10 are reported. In the per-domain output, for each target that has passed pertarget
reporting thresholds, all domains satisfying per-domain reporting thresholds
are reported. By default, these are domains with conditional E-values of <= 10. The
following options allow you to change the default E-value reporting thresholds, or to
use bit score thresholds instead. -->

<!-- -E <x> In the per-target output, report target sequences with an E-value of <= <x>. The default is 10.0, meaning that on
average, about 10 false positives will be reported per query, so you can see the top of the noise and decide for yourself if
it’s really noise. -->		
		<parameter type="Float">
			<name>set_evalue</name>
			<attributes>
				<prompt>Report target sequences with an E-value of (-E)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "-E $value":""</code>
				</format>
				<vdef>
					<value>10.0</value>
				</vdef>
				<group>5</group>
			</attributes>
		</parameter>

<!-- -T <x> Instead of thresholding per-profile output on E-value, instead report target sequences with a bit score of >= <x>.. -->		
		<parameter type="Float">
			<name>specify_bitscore</name>
			<attributes>
				<prompt>Report target sequences with a bit score of (-T)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_bitscore ? "-T $specify_bitscore":""</code>
				</format>
				<group>10</group>
				<ctrls>
					<ctrl>
						<message>Sorry you cant specify both -T and -domE</message>
						<language>perl</language>
						<code>defined $specify_bitscore &amp;&amp; defined $set_evalue</code>
					</ctrl>
				</ctrls>
			</attributes>
		</parameter>

<!-- -*domE <x> In the per-domain output, for target sequences that have already satisfied the per-profile reporting threshold, report
individual domains with a conditional E-value of <= <x>. The default is 10.0. A conditional E-value means the expected
number of additional false positive domains in the smaller search space of those comparisons that already satisfied the
per-target reporting threshold (and thus must have at least one homologous domain already). -->		
		<parameter type="Float">
			<name>specify_domevalue</name>
			<attributes>
				<prompt>Conditional E-value for individual domains (--domE)</prompt>
				<format>
					<language>perl</language>
					<code> $value ? "--domE $value":""</code>
				</format>
				<vdef>
					<value>10.0</value>
				</vdef>
				<group>8</group>
			</attributes>
		</parameter>

<!-- -*domT <x> Instead of thresholding per-domain output on E-value, instead report domains with a bit score of >= <x>. -->					
		<parameter type="Float">
			<name>specify_dombitscore</name>
			<attributes>
				<prompt>Report domains with bit score value of (--domT)</prompt>
				<format>
					<language>perl</language>
					<code> defined $dombitscore ? "--domT $value":""</code>
				</format>
				<group>10</group>
				<ctrls>
					<ctrl>
						<message>Sorry you cant specify both -domT and -domE</message>
						<language>perl</language>
						<code>defined $specify_dombitscore &amp;&amp; defined $set_domevalue</code>
					</ctrl>
				</ctrls>
			</attributes>
		</parameter>
												
		</parameters>	
	</paragraph>
</parameter>


<parameter type="Paragraph">
	<paragraph>
		<name>output_options</name>
		<prompt>Options Controlling Output</prompt>
		<parameters>
		
<!-- Options Controlling Output
-o <f> Direct the main human-readable output to a file <f> instead of the default stdout.
 -->
		<parameter type="String">
			<name>output_file</name>
			<attributes>
				<prompt>Write output to this file (-o)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "-o $output_file":""</code>
				</format>
				<group>40</group>
			</attributes>
		</parameter>
		
<!-- -A <f> Save a multiple alignment of all significant hits (those satisfying inclusion thresholds)
 to the file <f> in Stockholm format. -->		
		<parameter type="String">
			<name>multialignment_file</name>
			<attributes>
				<prompt>Save a multiple alignment of all significant hits (-A)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "-A $multialignment_file":""</code>
				</format>
				<group>40</group>
			</attributes>
		</parameter>
		
<!-- -*tblout <f> Save a simple tabular (space-delimited) file summarizing the per-target output, with one data line per homologous target
sequence found. -->
		<parameter type="String">
			<name>tblout_file</name>
			<attributes>
				<prompt>Save simple tabular file summarizing per-target output (-tblout)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "--tblout $tblout_file":""</code>
				</format>
				<group>2</group>
			</attributes>
		</parameter>
		
<!-- -*domtblout <f> Save a simple tabular (space-delimited) file summarizing the per-domain output, with one data line per homologous
domain detected in a query sequence for each homologous model.
 -->
		<parameter type="String">
			<name>domtblout_file</name>
			<attributes>
				<prompt>Save a simple tabular file summarizing the per-domain output (-domtblout)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "--domtblout $domtblout_file":""</code>
				</format>
				<group>3</group>
			</attributes>
		</parameter>

<!--  -*pfamtblout <f> Save an especially succinct tabular (space-delimited) file summarizing the per-target output, with one data line per homologous target model found.  -->	
		<parameter type="String">
			<name>pfamtblout_file</name>
			<attributes>
				<prompt>Save tabular file summarizing the per-target output (-pfamtblout)</prompt>
				<format>
					<language>perl</language>
					<code> defined $value ? "--pfamtblout $pfamtblout_file":""</code>
				</format>
				<group>4</group>
			</attributes>
		</parameter>
		    	
<!-- -*acc Use accessions instead of names in the main output, where available for profiles and/or sequences.hmmer user’s guide 139 -->	
		<parameter type="Switch">
			<name>use_accessions</name>
			<attributes>
				<prompt>Use accessions instead of names in the main output (--acc)</prompt>
				<format>
					<language>perl</language>
					<code> $value ? "--acc":""</code>
				</format>
				<group>10</group>
			</attributes>
		</parameter>	
		
<!-- -*noali Omit the alignment section from the main output. This can greatly reduce the output volume. -->	
		<parameter type="Switch">
			<name>omit_alignment</name>
			<attributes>
				<prompt>Omit the alignment section from the main output. (--noali)</prompt>
				<format>
					<language>perl</language>
					<code> $value ? "--noali":""</code>
				</format>
				<group>10</group>
			</attributes>
		</parameter>	
		
<!-- -*notextw Unlimit the length of each line in the main output. The default is a limit of 120 characters per line, which helps in 
displaying the output cleanly on terminals and in editors, but can truncate target profile description lines. -->		
		<parameter type="Switch">
			<name>unlimit_length</name>
			<attributes>
				<prompt>Unlimit the length of each line in the main output (--notextw)</prompt>
				<format>
					<language>perl</language>
					<code> $value ? "--notextw":""</code>
				</format>
				<group>10</group>
			</attributes>
		</parameter>
				
<!-- -*textw <n> Set the main output’s line length limit to <n> characters per line. The default is 120. -->
		<parameter type="Integer">
			<name>setlimit_length</name>
			<attributes>
				<prompt>Limit the main output’s line length (--textw)</prompt>
				<format>
					<language>perl</language>
					<code> defined $unlimit_length ? "--textw $value":""</code>
				</format>
				<group>10</group>
			</attributes>
		</parameter>
				
		</parameters>	
	</paragraph>
</parameter>


<!-- #######################################################################################################
Options Controlling H3 Parameter Estimation Methods
H3 uses three short random sequence simulations to estimating the location parameters
for the expected score distributions for MSV scores, Viterbi scores, and Forward
scores. These options allow these simulations to be modified.
 
-*EmL 200 Sets the sequence length in simulation that estimates the location parameter mu for MSV E-values. Default is 200.
 
-*EmN 200 Sets the number of sequences in simulation that estimates the location parameter mu for MSV E-values. Default is 200.
 
-*EvL 200 Sets the sequence length in simulation that estimates the location parameter mu for Viterbi E-values. Default is 200.
 
-*EvN 200 Sets the number of sequences in simulation that estimates the location parameter mu for Viterbi E-values. Default is 200.
 
-*EfL 100 Sets the sequence length in simulation that estimates the location parameter tau for Forward E-values. Default is 100.
 
-*EfN 200 Sets the number of sequences in simulation that estimates the location parameter tau for Forward E-values. Default is 200.
 
-*Eft 0.04 Sets the tail mass fraction to fit in the simulation that estimates the location parameter tau for Forward evalues. Default
is 0.04. -->
<parameter type="Paragraph">
	<paragraph>
		<name>h3parameter_estimation</name>
		<prompt>Options Controlling H3 Parameter Estimation</prompt>
		<parameters>

<!-- -*EmL 200 Sets the sequence length in simulation that estimates the location parameter mu for MSV E-values. Default is 200. -->		
		<parameter type="Integer">
			<name>specify_seqlength</name>
			<attributes>
				<prompt>Specify the sequence length in simulation (--EmL)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_seqlength ? "--EmL $value":""</code>
				</format>
				<vdef>
					<value>200</value>
				</vdef>
				<group>15</group>
			</attributes>
		</parameter>

<!-- -*EmN 200 Sets the number of sequences in simulation that estimates the location parameter mu for MSV E-values. Default is 200. -->		
		<parameter type="Integer">
			<name>specify_seqnum</name>
			<attributes>
				<prompt>Sets the number of sequences to estimate mu for MSV (--EmN)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_seqlength ? "--EmN $value":""</code>
				</format>
				<vdef>
					<value>200</value>
				</vdef>
				<group>15</group>
			</attributes>
		</parameter>

<!-- -*EvL 200 Sets the sequence length in simulation that estimates the location parameter mu for Viterbi E-values. Default is 200. -->		
		<parameter type="Integer">
			<name>specify_seqlength2</name>
			<attributes>
				<prompt>Length of sequence to estimate mu for Viterbi (--EvL)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_seqlength2 ? "--EvL $value":""</code>
				</format>
				<vdef>
					<value>200</value>
				</vdef>
				<group>15</group>
			</attributes>
		</parameter>

<!-- -*EvN 200 Sets the number of sequences in simulation that estimates the location parameter mu for Viterbi E-values. Default is 200. -->					
		<parameter type="Integer">
			<name>specify_seqnum2</name>
			<attributes>
				<prompt>Number of sequences to estimate mu for Viterbi (--EvN)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_seqnum2 ? "--EvN $value":""</code>
				</format>
				<vdef>
					<value>200</value>
				</vdef>
				<group>15</group>
			</attributes>
		</parameter>
		
<!-- -*EfL 100 Sets the sequence length in simulation that estimates the location parameter tau for Forward E-values. Default is 100. -->
		<parameter type="Integer">
			<name>specify_seqlength3</name>
			<attributes>
				<prompt>Sequence length to estimate tau (--EfL)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_seqlength3 ? "--EfL $value":""</code>
				</format>
				<vdef>
					<value>100</value>
				</vdef>
				<group>15</group>
			</attributes>
		</parameter>
						
<!-- -*EfN 200 Sets the number of sequences in simulation that estimates the location parameter tau for Forward E-values. Default is 200. -->
		<parameter type="Integer">
			<name>specify_seqnum3</name>
			<attributes>
				<prompt>Sequence number to estimate tau (--EfN)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_seqnum3 ? "--EfN $value":""</code>
				</format>
				<vdef>
					<value>200</value>
				</vdef>
				<group>15</group>
			</attributes>
		</parameter>
					
<!-- -*Eft 0.04 Sets the tail mass fraction to fit in the simulation that estimates the location parameter tau for Forward evalues. Default
is 0.04. -->
		<parameter type="Float">
			<name>specify_tailmassfr</name>
			<attributes>
				<prompt>Sets the tail mass fraction (--Eft)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_seqnum3 ? "--Eft $value":""</code>
				</format>
				<vdef>
					<value>0.04</value>
				</vdef>
				<group>15</group>
			</attributes>
		</parameter>
												
		</parameters>	
	</paragraph>
</parameter>

<!-- #######################################################################################
Options Controlling the Acceleration Pipeline
HMMER3 searches are accelerated in a three-step filter pipeline: the MSV filter, the
Viterbi filter, and the Forward filter. The first filter is the fastest and most approximate;
the last is the full Forward scoring algorithm, slowest but most accurate. There
is also a bias filter step between MSV and Viterbi. Targets that pass all the steps in
the acceleration pipeline are then subjected to postprocessing -* domain identification
and scoring using the Forward/Backward algorithm. Essentially the only free
parameters that control HMMER’s heuristic filters are the P-value thresholds controlling
the expected fraction of nonhomologous sequences that pass the filters. Setting
the default thresholds higher will pass a higher proportion of nonhomologous
sequence, increasing sensitivity at the expense of speed; conversely, setting lower Pvalue
thresholds will pass a smaller proportion, decreasing sensitivity and increasing
speed. Setting a filter’s P-value threshold to 1.0 means it will passing all sequences,
and effectively disables the filter. Changing filter thresholds only removes or includes
targets from consideration; changing filter thresholds does not alter bit scores, Evalues,
or alignments, all of which are determined solely in postprocessing. -->

<parameter type="Paragraph">
	<paragraph>
		<name>pipeline_options</name>
		<prompt>Options Controlling the Acceleration Pipeline</prompt>
		<parameters>

<!-- -*max  Turn off all filters, including the bias filter, and run full Forward/Backward postprocessing on every target. This increases
sensitivity somewhat, at a large cost in speed. -->		
		<parameter type="Switch">
			<name>disable_filters</name>
			<attributes>
				<prompt>Turn off all filters (--max)</prompt>
				<format>
					<language>perl</language>
					<code> $value ? "--max":""</code>
				</format>
				<vdef>
					<value>0</value>
				</vdef>
				<group>27</group>
			</attributes>
		</parameter>

<!-- -*F1 0.02 Set the P-value threshold for the MSV filter step. The default is 0.02, meaning that roughly 2% of the highest scoring
nonhomologous targets are expected to pass the filter. -->		
		<parameter type="Float">
			<name>specify_pvalue</name>
			<attributes>
				<prompt>Set the P-value threshold for the MSV filter step (--F1)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_pvalue ? "--F1 $value":""</code>
				</format>
				<vdef>
					<value>0.02</value>
				</vdef>
				<group>10</group>
			</attributes>
		</parameter>

<!-- -*F2 0.001 Set the P-value threshold for the Viterbi filter step. The default is 0.001. -->		
		<parameter type="Float">
			<name>specify_pvalue2</name>
			<attributes>
				<prompt>Set the P-value threshold for the Viterbi filter step (--F2)</prompt>
				<format>
					<language>perl</language>
					<code> $specify_pvalue2 ? "--F2 $specify_pvalue2":""</code>
				</format>
				<vdef>
					<value>0.001</value>
				</vdef>
				<group>10</group>
			</attributes>
		</parameter>

<!-- -*F3 1e-05 Set the P-value threshold for the Forward filter step. The default is 1e-5.  -->					
		<parameter type="Float">
			<name>specify_pvalue3</name>
			<attributes>
				<prompt>Set the P-value threshold for the Forward filter step (--F3)</prompt>
				<format>
					<language>perl</language>
					<code> defined $specify_pvalue3 ? "--F3 $specify_pvalue3":""</code>
				</format>
				<vdef>
					<value>0.00001</value>
				</vdef>
				<group>10</group>
			</attributes>
		</parameter>
												
		</parameters>	
	</paragraph>
</parameter>

</parameters>
</pise>


