drawTree -Visualizing Phylogenies

About drawTree

drawTree is an orthogonal Tree drawing Java Applet tool that allows users to efficiently and easily draw trees directly from the web browser. This tool generates two drawings for a given input. The first drawing is generated based on the parenthesized tree provided as input, and the second tree is an improved drawing based on our heuristic tree drawing algorithm which minimizes the horizontal distances.

INPUT

drawTree accepts parenthesized tree as input in two Modes:
1. You can copy and paste the input into the text area. Example 1.) Without distances : (((((t1,t2),t3),t4),(t5,(t6,t7))),(t8,(t9,(t10,t11)))) 2.)With distances : (((t1:1.0,t2:1.0):1.0,(t3:1.0,t4:1.0):1.0):0.5,(t5:1.0,(t6:1.0,t7:1.0):1.0):0.5)
2. You can browse your local directory for input file.

NOTE: No BLANK SPACES when copying and pasting input into text area.

This browser does not support Applets

NEXUS Files

drawTree accepts only NEXUS files as input for mode II. For more details on NEXUS files click here or look at INPUT II example given belowthat shows you a sample of a valid NEXUS file.

To create valid Nexus files follow INPUT II example( Partial Nexus file) in text editor and add parenthesized tree as show and save file as “.nex “

An alternative method for creating a Nexus file “.nex ” is to use SplitsTree4 or TreeView1.6.6. There are many other similar programs that allow you to create Nexus files. When generating Nexus file this way you first need to create a partial Nexus file as shown in INPUT II example and use that file as input to generate the complete Nexus. This method is particularly important when users switch between different Tree drawing tools in case of incompatibility.

Example

A comparison of the of the two drawings that are generated by drawTree for a given input.The original drawing on the left and the improved drawing generated by the heuristic algorithm on the right. In this example we consider a 20-taxa parenthesized tree. At the top left corner we display the hrizontal distances for each of the drawing. We clearly see that the drawing generated by the Heuristic algorithm minimizes the cost of the drawing when considering horizontal distances.

drawTreehtml

NOTE: drawTree accepts partial NEXUS files as input to generate tree drawings.

INPUT I Example:

((((t1,t2),t3),(t4,t5)),(t6,(t7,t8)))

INPUT II Example:

Partial NEXUS File:
#NEXUS

BEGIN Trees; [1] tree 'UPGMA'=[&R] (((t1,t2),(t3,t4)),(t5,(t6,t7)));
END; [Trees]
Full NEXUS File:
#NEXUS

BEGIN Taxa;
DIMENSIONS ntax=7;
TAXLABELS
[1] 't1'
[2] 't2'
[3] 't3'
[4] 't4'
[5] 't5'
[6] 't6'
[7] 't7'
;
END; [Taxa]

BEGIN Trees;
[1] tree 'UPGMA'=[&R] (((t1,t2),(t3,t4)),(t5,(t6,t7)));
END; [Trees]

For questions regarding drawTree on how to use it, error findings, suggestions and other input, please feel free to contact Timothy Rozario, University of Texas at Dallas,USA