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

<pise>

  <head>
    <title>Phylip</title>
    <version>3.6a2</version>
    <description>drawgram - Plots a cladogram- or phenogram-like rooted tree</description>
    &phylip_header;
  </head>

  <command>drawgram</command>

  <parameters>

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

    <parameter ismandatory="1" issimple="1" type="InFile">
      <name>treefile</name>
      <attributes>
	<prompt>Tree File</prompt>
	<format>
	  <language>perl</language>
	  <code>"ln -s $treefile intree; "</code>
	</format>
	<group>-10</group>
	<pipe>
	  <pipetype>phylip_tree</pipetype>
	  <language>perl</language>
	  <code>1</code>
	</pipe>
      </attributes>
    </parameter>

    <parameter ishidden="1" type="String">
      <name>screen_type</name>
      <attributes>
	<format>
	  <language>perl</language>
	  <code>"0\\n"</code>
	</format>
	<paramfile>params</paramfile>
	<group>-1</group>
      </attributes>
    </parameter>

    <parameter type="Paragraph">
      <paragraph>
	<name>options</name>
	<prompt>Drawgram options</prompt>
	<parameters>

	  <parameter type="Excl">
	    <name>plotter</name>
	    <attributes>
	      <prompt>Which plotter or printer will the tree be drawn on</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value and $value ne $vdef) ? "P\\n$value\\n" : ""</code>
	      </format>
	      <vdef><value>L</value></vdef>
	      <group>2</group>
	      <vlist>
		<value>L</value>
		<label>L: Postscript printer file format</label>
		<value>M</value>
		<label>M: PICT format</label>
		<value>J</value>
		<label>J: HP Laserjet PCL file format</label>
		<value>W</value>
		<label>W: MS-Windows Bitmap</label>
		<value>K</value>
		<label>K: TeKtronix 4010 graphics terminal</label>
		<value>H</value>
		<label>H: Hewlett-Packard pen plotter (HPGL)</label>
		<value>D</value>
		<label>D: DEC ReGIS graphics (VT240 terminal)</label>
		<value>B</value>
		<label>B: Houston Instruments plotter</label>
		<value>E</value>
		<label>E: Epson MX-80 dot-matrix printer</label>
		<value>C</value>
		<label>C: Prowriter/Imagewriter dot-matrix printer</label>
		<value>O</value>
		<label>O: Okidata dot-matrix printer</label>
		<value>T</value>
		<label>T: Toshiba 24-pin dot-matrix printer</label>
		<value>P</value>
		<label>P: PCX file format</label>
		<value>X</value>
		<label>X: X Bitmap format</label>
		<value>F</value>
		<label>F: FIG 2.0 format</label>
		<value>A</value>
		<label>A: Idraw drawing program format</label>
		<value>Z</value>
		<label>Z: VRML Virtual Reality Markup Language file</label>
		<value>V</value>
		<label>V: POVRAY 3D rendering program file</label>
		<value>R</value>
		<label>R: Rayshade 3D rendering program file</label>
	      </vlist>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Paragraph">
	    <paragraph>
	      <name>xbitmap_options</name>
	      <prompt>Bitmap options</prompt>
	      <precond>
		<language>perl</language>
		<code>$plotter eq "X" or $plotter eq "W"</code>
	      </precond>
	      <parameters>

		<parameter ismandatory="1" type="Float">
		  <name>xres</name>
		  <attributes>
		    <prompt>X resolution</prompt>
		    <format>
		      <language>perl</language>
		      <code>"$value\\n"</code>
		    </format>
		    <vdef><value>500</value></vdef>
		    <group>3</group>
		    <precond>
		      <language>perl</language>
		      <code>$plotter eq "X" or $plotter eq "W"</code>
		    </precond>
		    <paramfile>params</paramfile>
		  </attributes>
		</parameter>

		<parameter ismandatory="1" type="Float">
		  <name>yres</name>
		  <attributes>
		    <prompt>Y resolution</prompt>
		    <format>
		      <language>perl</language>
		      <code>"$value\\n"</code>
		    </format>
		    <vdef><value>500</value></vdef>
		    <group>4</group>
		    <precond>
		      <language>perl</language>
		      <code>$plotter eq "X" or $plotter eq "W"</code>
		    </precond>
		    <paramfile>params</paramfile>
		  </attributes>
		</parameter>

	      </parameters>
	    </paragraph>

	  </parameter>

	  <parameter type="Paragraph">
	    <paragraph>
	      <name>laserjet_options</name>
	      <prompt>Laserjet options</prompt>
	      <precond>
		<language>perl</language>
		<code>$plotter eq "J"</code>
	      </precond>
	      <parameters>

		<parameter ismandatory="1" type="Excl">
		  <name>laserjet_resolution</name>
		  <attributes>
		    <prompt>Laserjet resolution</prompt>
		    <format>
		      <language>perl</language>
		      <code>"$value\\n"</code>
		    </format>
		    <vdef><value>3</value></vdef>
		    <group>3</group>
		    <vlist>
		      <value>1</value>
		      <label>1: 75 DPI</label>
		      <value>2</value>
		      <label>2: 150 DPI</label>
		      <value>3</value>
		      <label>3: 300 DPI</label>
		    </vlist>
		    <precond>
		      <language>perl</language>
		      <code>$plotter eq "J"</code>
		    </precond>
		    <paramfile>params</paramfile>
		  </attributes>
		</parameter>

	      </parameters>
	    </paragraph>

	  </parameter>

	  <parameter type="Paragraph">
	    <paragraph>
	      <name>pcx_options</name>
	      <prompt>Paintbrush options</prompt>
	      <precond>
		<language>perl</language>
		<code>$plotter eq "P"</code>
	      </precond>
	      <parameters>

		<parameter ismandatory="1" type="Excl">
		  <name>pcx_resolution</name>
		  <attributes>
		    <prompt>Paintbrush PCX resolution</prompt>
		    <format>
		      <language>perl</language>
		      <code>"$value\\n"</code>
		    </format>
		    <vdef><value>3</value></vdef>
		    <group>3</group>
		    <vlist>
		      <value>1</value>
		      <label>1: EGA 640 X 350</label>
		      <value>2</value>
		      <label>2: VGA 800 X 600</label>
		      <value>3</value>
		      <label>3: VGA 1024 X 768</label>
		    </vlist>
		    <precond>
		      <language>perl</language>
		      <code>$plotter eq "P"</code>
		    </precond>
		    <paramfile>params</paramfile>
		  </attributes>
		</parameter>

	      </parameters>
	    </paragraph>

	  </parameter>

	  <parameter ishidden="1" type="String">
	    <name>screen</name>
	    <attributes>
	      <format>
		<language>perl</language>
		<code>"V\\nN\\n"</code>
	      </format>
	      <group>1</group>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Excl">
	    <name>grows</name>
	    <attributes>
	      <prompt>Tree grows...</prompt>
	      <format>
		<language>perl</language>
		<code>($value ne $vdef) ? "H\\n" : "" </code>
	      </format>
	      <vdef><value>Horizontally</value></vdef>
	      <group>5</group>
	      <vlist>
		<value>Vertically</value>
		<label>Vertically</label>
		<value>Horizontally</value>
		<label>Horizontally</label>
	      </vlist>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Excl">
	    <name>tree_style</name>
	    <attributes>
	      <prompt>Tree style</prompt>
	      <vdef><value>C</value></vdef>
	      <group>5</group>
	      <vlist>
		<value>C</value>
		<label>C: Cladogram</label>
		<value>P</value>
		<label>P: Phenogram</label>
		<value>V</value>
		<label>V: Curvogram</label>
		<value>E</value>
		<label>E: Eurogram</label>
		<value>S</value>
		<label>S: Swoopogram</label>
		<value>O</value>
		<label>O: Circular tree</label>
	      </vlist>
	      <flist>
		<value></value>
		<code></code>
		<value>P</value>
		<code>"S\\nP\\n"</code>
		<value>C</value>
		<code></code>
		<value>S</value>
		<code>"S\\nS\\n"</code>
		<value>E</value>
		<code>"S\\nE\\n"</code>
		<value>V</value>
		<code>"S\\nV\\n"</code>
		<value>O</value>
		<code>"S\\nO\\n"</code>
	      </flist>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Switch">
	    <name>branch_lengths</name>
	    <attributes>
	      <prompt>Use branch lengths</prompt>
	      <format>
		<language>perl</language>
		<code>($value) ? "" : "B\\n"</code>
	      </format>
	      <vdef><value>1</value></vdef>
	      <group>5</group>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Float">
	    <name>horizontal_margins</name>
	    <attributes>
	      <prompt>Horizontal margins</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value and $value != $vdef)? "M\\n$value\\n$vertical_margins\\n" : ""</code>
	      </format>
	      <vdef><value>1.65</value></vdef>
	      <group>10</group>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Float">
	    <name>vertical_margins</name>
	    <attributes>
	      <prompt>Vertical margins</prompt>
	      <format>
		<language>perl</language>
		<code>""</code>
	      </format>
	      <vdef><value>2.16</value></vdef>
	      <group>9</group>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Float">
	    <name>scale</name>
	    <attributes>
	      <prompt>Scale of branch length (default: Automatically rescaled)</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value) ? "R\\n$value\\n" : ""</code>
	      </format>
	      <group>5</group>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Float">
	    <name>depth</name>
	    <attributes>
	      <prompt>Depth/Breadth of tree</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value and $value != $vdef)? "D\\n$value\\n" : ""</code>
	      </format>
	      <vdef><value>1.00</value></vdef>
	      <group>5</group>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Float">
	    <name>stem</name>
	    <attributes>
	      <prompt>Stem-length/tree-depth</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value and $value != $vdef)? "T\\n$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.05</value></vdef>
	      <group>5</group>
	      <comment>
		<value>Enter the stem length as fraction of tree depth (a value between 0 and 1).</value>
	      </comment>
	      <ctrls>
		<ctrl>
		  <message>You should enter a value between 0 and 1.</message>
		  <language>perl</language>
		  <code>$value &lt; 0 || $value &gt;= 1</code>
		</ctrl>
	      </ctrls>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Float">
	    <name>character_height</name>
	    <attributes>
	      <prompt>Character ht / tip space</prompt>
	      <format>
		<language>perl</language>
		<code>(defined $value and $value != $vdef)? "C\\n$value\\n" : ""</code>
	      </format>
	      <vdef><value>0.3333</value></vdef>
	      <group>5</group>
	      <comment>
		<value>Enter character height as fraction of tip spacing.</value>
	      </comment>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="Excl">
	    <name>ancestral</name>
	    <attributes>
	      <prompt>Ancestral nodes</prompt>
	      <format>
		<language>perl</language>
		<code>($value and $value ne $vdef)? "A\\n$value\\n" : ""</code>
	      </format>
	      <vdef><value>I</value></vdef>
	      <group>5</group>
	      <vlist>
		<value>I</value>
		<label>I: Intermediate</label>
		<value>W</value>
		<label>W: Weighted</label>
		<value>C</value>
		<label>C: Centered</label>
		<value>N</value>
		<label>N: Inner</label>
		<value>V</value>
		<label>V: So tree is V-shaped</label>
	      </vlist>
	      <paramfile>params</paramfile>
	    </attributes>
	  </parameter>

	  <parameter type="String">
	    <name>font</name>
	    <attributes>
	      <prompt>Font (PostScript only)</prompt>
	      <format>
		<language>perl</language>
		<code>($value and $value ne $vdef)? "F\\n$value\\n" : ""</code>
	      </format>
	      <vdef><value>Hershey</value></vdef>
	      <group>5</group>
	      <precond>
		<language>perl</language>
		<code>$plotter eq "L"</code>
	      </precond>
	      <paramfile>params</paramfile>
	      <size>50</size>
	      <comment>
	        <value>Possible values: courier, helvetica,
	        avantgarde_demi, souvenir_demi, ... (depends on local
	        web server configuration)</value>
	      </comment>
	    </attributes>
	  </parameter>

	</parameters>
      </paragraph>

    </parameter>

    <parameter type="Results">
      <name>plotfile</name>
      <attributes>
	<precond>
	  <language>perl</language>
	  <code>$plotter ne "L"</code>
	</precond>
	<filenames>plotfile</filenames>
      </attributes>
    </parameter>

    <parameter type="Results">
      <name>psfile</name>
      <attributes>
	<precond>
	  <language>perl</language>
	  <code>$plotter eq "L"</code>
	</precond>
	<filenames>plotfile.ps</filenames>
      </attributes>
    </parameter>

    <parameter type="Results">
      <name>pictfile</name>
      <attributes>
	<precond>
	  <language>perl</language>
	  <code>$plotter eq "M"</code>
	</precond>
	<filenames>plotfile.pict</filenames>
      </attributes>
    </parameter>

    <parameter type="Results">
      <name>params</name>
      <attributes>
	<filenames>params</filenames>
      </attributes>
    </parameter>

    <parameter ishidden="1" type="String">
      <name>tops</name>
      <attributes>
	<format>
	  <language>perl</language>
	  <code>($plotter eq "L") ? " ; ln -s plotfile plotfile.ps" : "" </code>
	</format>
	<group>10</group>
      </attributes>
    </parameter>

    <parameter ishidden="1" type="String">
      <name>topict</name>
      <attributes>
	<format>
	  <language>perl</language>
	  <code>($plotter eq "M") ? " ; cp plotfile plotfile.pict" : "" </code>
	</format>
	<group>10</group>
      </attributes>
    </parameter>

    <parameter ishidden="1" type="String">
      <name>confirm</name>
      <attributes>
	<format>
	  <language>perl</language>
	  <code>"Y\\n"</code>
	</format>
	<group>1000</group>
	<paramfile>params</paramfile>
      </attributes>
    </parameter>

  </parameters>

</pise>
