<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE pise SYSTEM "PARSER/pise.dtd">

<pise>

  <head>
    <title>BAMBE</title>
    <version>2.03b</version>
    <description>Bayesian Analysis in Molecular Biology and Evolution</description>
    <authors>Simon, Larget</authors>
    <reference>Larget, B. and D. Simon (1999). Markov chain Monte Carlo algorithms for the Bayesian analysis of phylogenetic trees. Molecular Biology and Evolution 16:750-759.</reference>
    <reference>Simon, D. and B. Larget. 1998. Bayesian analysis in molecular biology and evolution (BAMBE), version 1.01 beta. Department of Mathematics and Computer Science, Duquesne University.</reference>
    <category>phylogeny</category>
  </head>

  <command>bambe</command>

  <parameters>

    <parameter iscommand="1" ishidden="1" type="String">
      <name>bambe</name>
      <attributes>
	<format>
	  <language>perl</language>
	  <code>"bambe &lt; bamberc"</code>
	</format>
	<group>0</group>
      </attributes>
    </parameter>

    <parameter type="Results">
      <name>rcfile</name>
      <attributes>
	<filenames>bamberc</filenames>
      </attributes>
    </parameter>
  
    <parameter issimple="1" type="Sequence">
      <name>data_file</name>
      <attributes>
	<prompt>Alignment file (data-file)</prompt>
	<format>
	  <language>perl</language>
	  <code>"data-file=$value\\n"</code>
	</format>
	<paramfile>bamberc</paramfile>
	<group>6</group>
	<pipe>
	  <pipetype>readseq_ok_alig</pipetype>
	  <language>perl</language>
	  <code>1</code>
	</pipe>
      </attributes>
    </parameter>

    <parameter issimple="1" type="Switch">
      <name>bambe_format</name>
      <attributes>
	<prompt>Alignement file in BAMBE format ?</prompt>
	<format>
	  <language>perl</language>
	  <code>($value) ? "" : "cp $data_file $data_file.orig; fmtseq -f21 -p &lt; $data_file.orig &gt; $data_file; "</code>
	</format>
	<vdef><value>0</value></vdef>
	<group>-10</group>
      </attributes>
    </parameter>


    <parameter type="Paragraph">
      <paragraph>
	<name>run_options</name>
	<prompt>Run characteristics</prompt>
	<group>1</group>
	<parameters>

	  <parameter type="Integer">
	    <name>seed</name>
	    <attributes>
	      <prompt>Seed for random number generator (seed)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "seed=$value\\n" : ""</code>
	      </format>
	      <vdef><value>194024933</value></vdef>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Integer">
	    <name>cycles</name>
	    <attributes>
	      <prompt>Number of cycles to run the main algorithm (cycles)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "cycles=$value\\n" : ""</code>
	      </format>
	      <vdef><value>6000</value></vdef>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Excl">
	    <name>main_algorithm</name>
	    <attributes>
	      <prompt>Algorithm to run during production cycles (main-algorithm)</prompt>
	      <format>
		<language>perl</language>
		<code>($value &amp;&amp; $value ne $vdef)? "main-algorithm=$value\\n" : ""</code>
	      </format>
	      <vdef><value>local</value></vdef>
	      <vlist>
		<value>global</value>
		<label>global</label>
		<value>local</value>
		<label>local</label>
	      </vlist>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>
	  
	  <parameter type="Integer">
	    <name>burn</name>
	    <attributes>
	      <prompt>Number of cycles to run the burn algorithm (burn)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "burn=$value\\n" : ""</code>
	      </format>
	      <vdef><value>1000</value></vdef>
	      <comment>
		<value>Parameter values are not updated during burn. User should discard these cycles and the initial cycles of the main algorithm before inference.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>
	  
	  <parameter type="Excl">
	    <name>burn_algorithm</name>
	    <attributes>
	      <prompt>Algorithm to run during burn (burn-algorithm)</prompt>
	      <format>
		<language>perl</language>
		<code>($value &amp;&amp; $value ne $vdef)? "burn-algorithm=$value\\n" : ""</code>
	      </format>
	      <vdef><value>global</value></vdef>
	      <vlist>
		<value>global</value>
		<label>global</label>
		<value>local</value>
		<label>local</label>
	      </vlist>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>


	  <parameter type="Switch">
	    <name>use_beta</name>
	    <attributes>
	      <prompt>Use scaled beta distribution modification of the local algorithm (use-beta)</prompt>
	      <format>
		<language>perl</language>
		<code>($value) ? "use-beta=true\\n" : ""</code>
	      </format>
	      <vdef><value>0</value></vdef>
	      <paramfile>bamberc</paramfile>
	      <precond>
		<language>perl</language>
		<code>$main_algorithm eq "local" || $burn_algorithm eq "local"</code>
	      </precond>
	    </attributes>
	  </parameter>

	</parameters>
      </paragraph>
    </parameter>
    
    <parameter type="Paragraph">
      <paragraph>
	<name>model_options</name>
	<prompt>Model specification</prompt>
	<group>2</group>
	<parameters>

	  <parameter type="Switch">
	    <name>molecular_clock</name>
	    <attributes>
	      <prompt>Use a molecular clock (molecular-clock)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "" : "molecular-clock=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Excl">
	    <name>likelihood_model</name>
	    <attributes>
	      <prompt>Likelihood model (molecular-clock)</prompt>
	      <format>
		<language>perl</language>
		<code>($value &amp;&amp; $value ne $vdef) ? "likelihood-model=$value\\n" : ""</code>
	      </format>
	      <vdef><value>HKY85</value></vdef>
	      <vlist>
		<value>HKY85</value>
		<label>HKY85: Hasegawa, Kishino, Yano (1985)</label>
		<value>F84</value>
		<label>F84: Felsenstein's PHYLIP (1984)</label>
		<value>TN93</value>
		<label>TN93: Tamura-Nei (1993)</label>
	      </vlist>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>category_list</name>
	    <attributes>
	      <prompt>A valid category list (category-list)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "category-list=$value\\n" : ""</code>
	      </format>
	      <comment>
		<value>Each category has its own set of	parameters. Each category is denoted by a positive integer between 1 and 10. A comma-separated list gives the categories of the sites in order, e.g., 1,2,3,1,3 means that the first site is in category 1, the second in 2, the third in 3, the fourth in 1, and the fifth site is in category 3.</value>
		<value>A repeat count is indicated by a caret (^). For example, 1^20,2^5,3^2 means that the first twenty sites are in category 1, the next five sites are in 2, and the next two sites are in category 3.</value> 
		<value>Parentheses may be used to group sites together with a common repeat count, i.e., (1,2)^5 is the same as 1,2,1,2,1,2,1,2,1,2. Repeat counts may be nested, e.g., (1^3,2)^2 is the same as 1,1,1,2,1,1,1,2.</value> 
		<value>Repetition to the end of the list of sites is indicated by an asterisk (*). For example, 1^5,2* means that the first five sites are in category 1, and all the remaining sites are in category 2. Parentheses may also be used in conjunction with the asterisk, e.g., (1,2)* is the same as 1,2,1,2,1,2,.... The category list may contain at most one asterisk and it must be associated with the last category or group in the list. In other words, an asterisk may appear only at the end of the list.</value>
		<value>Examples</value>
		<value>1* - all sites are the same category. (default)</value> 
		<value>(1,2,3)* - all sites are partitioned by codon position.</value> 
		<value>1^99,2^50,3^9 - the sites are divided over three genes. Each gene has its own set of parameters used by all sites in that gene. The first gene is composed of the first ninety-nine sites, the next by the next fifty sites, and the last by nine sites.</value> 
	      </comment>
	      <paramfile>bamberc</paramfile>
	      <size>20</size>
	    </attributes>
	  </parameter>

	  <parameter type="Switch">
	    <name>single_kappa</name>
	    <attributes>
	      <prompt>Single kappa (single-kappa)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "single-kappa=true\\n" : ""</code>
	      </format>
	      <vdef><value>0</value></vdef>
	      <comment>
		<value>If true, the same kappa parameter is used for all site categories. If false, there are different values for different site categories. It has no effect if there is only one rate category.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_kappa</name>
	    <attributes>
	      <prompt>Comma separated list of positive kappa values (initial-kappa)</prompt>
	      <format>
		<language>perl</language>
		<code>($value &amp;&amp; $value ne $vdef)? "initial-kappa=$value\\n" : ""</code>
	      </format>
	      <vdef><value>2.0,2.0,2.0</value></vdef>
	      <comment>
		<value>If single-kappa is true, a warning is given if more than one value is specified. The first value will be used. If single-kappa is false, a value must be specified for each category in use.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	      <size>20</size>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_theta</name>
	    <attributes>
	      <prompt>Comma separated list of positive theta values (initial-theta)</prompt>
	      <format>
		<language>perl</language>
		<code>($value &amp;&amp; $value ne $vdef)? "initial-theta=$value\\n" : ""</code>
	      </format>
	      <vdef><value>1.0,1.0,1.0</value></vdef>
	      <comment>
		<value>The weighted average of these values should be 1, with weights given by the proportion of sites in each site category. (Renormalization is automatic and a warning given if the condition fails.) If there are an equal number of sites in each category, for example, the numbers should average to 1.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	      <size>20</size>
	    </attributes>
	  </parameter>
	  
	  <parameter type="Switch">
	    <name>estimate_pi</name>
	    <attributes>
	      <prompt>Use empirical relative frequencies (estimate-pi)</prompt>
	      <format>
		<language>perl</language>
		<code>($value) ? "" : "estimate-pi=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <comment>
		<value>If ture, the initial stationary probabilities for each base in each category are estimated by the relative frequencies with which they appear in the data.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_pia</name>
	    <attributes>
	      <prompt>Comma separated list of initial stationary probability of base A (initial-pia)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef) ? "initial-pia=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.25,0.25,0.25</value></vdef>
	      <precond>
		<language>perl</language>
		<code>! $estimate_pi</code>
	      </precond>
	      <size>20</size>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_pig</name>
	    <attributes>
	      <prompt>>Comma separated list of initial stationary probability of base G (initial-pig)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef) ? "initial-pig=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.25,0.25,0.25</value></vdef>
	      <precond>
		<language>perl</language>
		<code>! $estimate_pi</code>
	      </precond>
	      <size>20</size>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_pic</name>
	    <attributes>
	      <prompt>>Comma separated list of initial stationary probability of base C (initial-pia)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef) ? "initial-pic=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.25,0.25,0.25</value></vdef>
	      <precond>
		<language>perl</language>
		<code>! $estimate_pi</code>
	      </precond>
	      <size>20</size>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_pit</name>
	    <attributes>
	      <prompt>>Comma separated list of initial stationary probability of base T (initial-pia)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef) ? "initial-pit=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.25,0.25,0.25</value></vdef>
	      <precond>
		<language>perl</language>
		<code>! $estimate_pi</code>
	      </precond>
	      <size>20</size>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_ttp</name>
	    <attributes>
	      <prompt>Comma separated list of positive transition/transversion parameter values (TN93 model) (initial-ttp)</prompt>
	      <format>
		<language>perl</language>
		<code>($value &amp;&amp; $value ne $vdef)? "initial-ttp=$value\\n" : ""</code>
	      </format>
	      <vdef><value>1.0,1.0,1.0</value></vdef>
	      <size>20</size>
	      <precond>
		<language>perl</language>
		<code>$likelihood_model eq "TN93"</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This is used only with TN93. There must be a value specified for each site-category used if TN93 is the chosen model.</value>
	      </comment>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>initial_gamma</name>
	    <attributes>
	      <prompt>Comma separated list of positive gamma values ((TN93 model) (initial-gamma)</prompt>
	      <format>
		<language>perl</language>
		<code>($value &amp;&amp; $value ne $vdef)? "initial-gamma=$value\\n" : ""</code>
	      </format>
	      <vdef><value>1.0,1.0,1.0</value></vdef>
	      <precond>
		<language>perl</language>
		<code>$likelihood_model eq "TN93"</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <size>20</size>
	      <comment>
		<value>This is used only with TN93. There must be a value specified for each site-category used if TN93 is the chosen model.</value>
	      </comment>
	    </attributes>
	  </parameter>

	</parameters>
      </paragraph>
    </parameter>

    <parameter type="Paragraph">
      <paragraph>
	<name>param_update</name>
	<prompt>Parameter updating</prompt>
	<group>4</group>
	<parameters>

	  <parameter type="Integer">
	    <name>parameter_update_interval</name>
	    <attributes>
	      <prompt>Parameter update interval (parameter-update-interval)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "parameter-update-interval=$value\\n" : ""</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <comment>
		<value>During the main algorithm, any 'on' parameters are updated at each cycle divisible by this value. Use zero for no paramter updating.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Switch">
	    <name>update_kappa</name>
	    <attributes>
	      <prompt>Update kappa value (update-kappa)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "" : "update-kappa=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Switch">
	    <name>update_theta</name>
	    <attributes>
	      <prompt>Update theta value (update-theta)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "" : "update-theta=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Switch">
	    <name>update_pi</name>
	    <attributes>
	      <prompt>Update pi value (update-pi)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "" : "update-pi=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>


	  <parameter type="Switch">
	    <name>update_ttp</name>
	    <attributes>
	      <prompt>Update tpp value (TN93 model) (update-ttp)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "" : "update-ttp=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <paramfile>bamberc</paramfile>
	      <precond>
		<language>perl</language>
		<code>$likelihood_model eq "TN93"</code>
	      </precond>
	    </attributes>
	  </parameter>


	  <parameter type="Switch">
	    <name>update_gamma</name>
	    <attributes>
	      <prompt>Update gamma value for (TN93 model) (update-gamma)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "" : "update-gamma=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <paramfile>bamberc</paramfile>
	      <precond>
		<language>perl</language>
		<code>$likelihood_model eq "TN93"</code>
	      </precond>
	    </attributes>
	  </parameter>
	  
	</parameters>
      </paragraph>
    </parameter>

   
    <parameter type="Paragraph">
      <paragraph>
	<name>tuning_options</name>
	<prompt>Tuning parameters</prompt>
	<group>5</group>
	<parameters>

	  <parameter type="Integer">
	    <name>tune_interval</name>
	    <attributes>
	      <prompt>Tune interval (tune-interval)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "tune-interval=$value\\n" : ""</code>
	      </format>
	      <vdef><value>200</value></vdef>
	      <comment>
		<value>While running global during the burn, if the acceptance rate for tree proposal falls below 15% during this interval, delta is halved.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>


	  <parameter type="Float">
	    <name>global_tune</name>
	    <attributes>
	      <prompt>Half-window width for global (global-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "global-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.01</value></vdef>
	      <comment>
		<value>This tuning parameter is only used with the global algorithm during burn. The smaller its value, the greater the tree acceptance rate will be.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	      <precond>
		<language>perl</language>
		<code>$burn_algorithm =~ /^global/</code>
	      </precond>
	    </attributes>
	  </parameter>

	  
	  <parameter type="Float">
	    <name>local_tune</name>
	    <attributes>
	      <prompt>Stretch parameter for local (local-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef) ? "local-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.19</value></vdef>
	      <precond>
		<language>perl</language>
		<code>$burn_algorithm =~ /^global/ || $main_algorithm =~ /^global/</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This tuning parameter is only used with the local algorithm. It modulates the size of a maximal stretch. The smaller the value, the greater the tree acceptance rate will be.</value>
	      </comment>
	    </attributes>
	  </parameter>


	  <parameter type="Float">
	    <name>theta_tune</name>
	    <attributes>
	      <prompt>Dirichlet parameter for theta update (theta-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "theta-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>2000.0</value></vdef>
	      <comment>
		<value>Tuning parameter used during update of theta value(s). The larger its value, the more likely proposals are to be accepted.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>


	  <parameter type="Float">
	    <name>pi_tune</name>
	    <attributes>
	      <prompt>Dirichlet parameter for pi update (pi-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "pi-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>2000.0</value></vdef>
	      <comment>
		<value>Tuning parameter used during update of pi values. The larger its value, the more likely proposals are to be accepted.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Float">
	    <name>kappa_tune</name>
	    <attributes>
	      <prompt>Halft window width for kappa update (kappa-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "kappa-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.1</value></vdef>
	      <precond>
		<language>perl</language>
		<code>$parameter_update_interval > 0 &amp;&amp; $update_kappa</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This tuning parameter is only used when 'parameter-update-interval' is positive and 'update-kappa' is true. The smaller its value, the greater the parameter acceptance rate will be.</value>
	      </comment>
	    </attributes>
	  </parameter>

	  
	  <parameter type="Float">
	    <name>ttp_tune</name>
	    <attributes>
	      <prompt>Halft window width for tpp update (TN93 model) (tpp-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "tpp-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.1</value></vdef>
	      <precond>
		<language>perl</language>
		<code>$parameter_update_interval > 0 &amp;&amp; $update_tpp</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This tuning parameter is only used when 'parameter-update-interval' is positive and 'update-tpp' is true. The smaller its value, the greater the parameter acceptance rate will be.</value>
	      </comment>
	    </attributes>
	  </parameter>


	  <parameter type="Float">
	    <name>gamma_tune</name>
	    <attributes>
	      <prompt>Half window width for gamma update (TN93 model) (gamma-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef) ? "gamma-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.1</value></vdef>
	      <precond>
		<language>perl</language>
		<code>$parameter_update_interval > 0 &amp;&amp; $update_gamma</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This tuning parameter is only used when 'parameter-update-interval' is positive and 'update-gamma' is true. The smaller its value, the greater the parameter acceptance rate will be.</value>
	      </comment>
	    </attributes>
	  </parameter>

	  
	  <parameter type="Float">
	    <name>beta_tune</name>
	    <attributes>
	      <prompt>Beta parameter for local update (beta-tune)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "beta-tune=$value\\n" : ""</code>
	      </format>
	      <vdef><value>10.0</value></vdef>
	      <precond>
		<language>perl</language>
		<code>$use_beta</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This tuning parameter is only used if the 'use-beta' is true. The larger its value, the greater the parameter acceptance rate will be.</value>
	      </comment>
	    </attributes>
	  </parameter>

	</parameters>
      </paragraph>
    </parameter>

    <parameter type="Paragraph">
      <paragraph>
	<name>output_options</name>
	<prompt>Output options</prompt>
	<group>2</group>
	<parameters>

	  <parameter type="Integer">
	    <name>sample_interval</name>
	    <attributes>
	      <prompt>Sample interval (sample-interval)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "sample-interval=$value\\n" : ""</code>
	      </format>
	      <vdef><value>200</value></vdef>
	      <comment>
		<value>During burn and main algorithms, the tree topology, log likelihoods, and parameters are written to files at each cycle divisible by this value.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>	  

	  <parameter type="Switch">
	    <name>newick_format</name>
	    <attributes>
	      <prompt>Newick format of tree file (newick-format)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "" : "newick-format=false\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <comment>
		<value>Indicates the format of the tree to read (if not random) and the format of the tree to print after the run.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>


	  
	</parameters>
      </paragraph>
    </parameter>

    <parameter type="Results">
      <name>results_files</name>
      <attributes>
	<filenames>results.lpd results.par results.out</filenames>
      </attributes>
    </parameter>

    <parameter type="Results">
      <name>result_tree</name>
      <attributes>
	<filenames>results.tre</filenames>
	<pipe>
	  <pipetype>phylip_tree</pipetype>
	  <language>perl</language>
	  <code>$newick_format</code>
	</pipe>
      </attributes>
    </parameter>

    <parameter type="Results">
      <name>top_file</name>
      <attributes>
	<filenames>results.top</filenames>
      </attributes>
    </parameter>

    <parameter ishidden="1" type="String">
      <name>file_root</name>
      <attributes>
	<format>
	  <language>perl</language>
	  <code>"file-root=results\\n"</code>
	</format>
	<group>6</group>
	<paramfile>bamberc</paramfile>
      </attributes>
    </parameter>

    <parameter type="Paragraph">
      <paragraph>
	<name>input_options</name>
	<prompt>Input options</prompt>
	<group>7</group>
	<parameters>

	  <parameter type="Integer">
	    <name>outgroup</name>
	    <attributes>
	      <prompt>Outgroup</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "outgroup=$value\\n" : ""</code>
	      </format>
	      <vdef><value>1</value></vdef> 
	      <precond>
		<language>perl</language>
		<code>! $molecular-clock</code>
	      </precond>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This is ignored if a molecular clock is assumed. In the absence of a clock, trees and tree topologies are printed with the outgroup emerging directly from the root.</value>
	      </comment>
	    </attributes>
	  </parameter>

	  <parameter type="InFile">
	    <name>tree_file</name>
	    <attributes>
	      <prompt>Tree file (tree-file)</prompt>
	      <format>
		<language>perl</language>
		<code>($value)? "tree-file=$value\\n" : ""</code>
	      </format>
	      <comment>
		<value>If no tree file is given, the program generates a random tree from a flat distribution where each labeled history is equally likely.</value>
	      </comment>
	      <paramfile>bamberc</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Excl">
	    <name>init_tree_type</name>
	    <attributes>
	      <prompt>Initial tree type (initial-tree-type)</prompt>
	      <vdef><value>random</value></vdef>
	      <vlist>
		<value>random</value>
		<label>random</label>
		<value>upgma</value>
		<label>upgma</label>
		<value>neighbor-joining</value>
		<label>neighbor-joining</label>
		<value>newick</value>
		<label>newick</label>
		<value>bambe</value>
		<label>bambe</label>
	      </vlist>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>. random select a tree from the prior</value>
		<value>. upgma sets the initial clock tree to the UPGMA tree using maximum likelihodd distances with the specified model and initial parameter values.</value>
		<value>. neighbor-joining sets the initial nonclock tree to the neigbor joining tree using maximum liklihodd distances with the specified model and initial parameter values.</value>
		<value>. newick reads in an initial tree in Newick format from a file.</value>
		<value>. bambe reads in an initial tree in BAMBE format from a file.</value>
	      </comment>
	    </attributes>
	  </parameter>


	  <parameter type="Float">
	    <name>max_initial_tree_height</name>
	    <attributes>
	      <prompt>Initial tree height used to generate an initial random tree (max-initial-tree-height)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value &amp;&amp; $value != $vdef)? "max-initial-tree-height=$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.1</value></vdef>
	      <paramfile>bamberc</paramfile>
	      <comment>
		<value>This parmeter is only used to generate an initial random tree.</value>
	      </comment>
	    </attributes>
	  </parameter>

	</parameters>
      </paragraph>
    </parameter>
  
  </parameters>
</pise>
