Ravi Sanka

Phylogenetic Tree-Maker

The Phylogenetic Tree-Maker is a program that will produce a phylogenetic tree of DNA sequences using an algorithm of the user’s choice. The program will accept the sequences from the user as a text file. The user must then choose an algorithm from the program’s menu to use in calculating the tree, which the user can supplement with additional algorithms. The user can also either add scoring and distance matrices for the program to use in its calculations or let the program create its own. The scoring matrix holds accuracy scores between all possible DNA nucleotide-nucleotide pairs. The smaller a score between two nucleotides is, the more similar they are, with the score between two identical nucleotides being zero (the lowest possible value). Whether it is the default or provided by the user, the scoring matrix is used to determine the distance matrix, which holds the distance values between all possible sequence-sequence pairs. The smaller the distance between two sequences is, the more similar they are, with the distance between two identical sequences being zero (the lowest possible value). Once the tree is calculated, it will be displayed to the user in a separate window. The program creates two different versions of the tree, the Simple Tree and the Data Tree. The Simple Tree shows only the tree and the sequences associated with it. The Data Tree, however, shows how the quantitative data determined by the algorithm affects the tree’s structure, displaying the branches of the tree in their calculated lengths. These versions are displayed in the separate window, where the user can toggle between the two. The program is comprised of three main modules. They are the Graphical User Interface (GUI), Relation, and Display modules. The GUI allows the user to submit input data while the Display shows the user the resulting tree. The Relation Module is composed of four sub-modules, the Parser (which extracts data from the user’s files), Alignment (which creates the distance matrix), and the two default Algorithm sub-modules, Unweighted Pair Group Method with Arithmetic Mean (UPGMA) and Neighbor-Joining (NJ). The program will run on a Windows 98/2000/NT/XP operating system. It will also require at least 4MB of RAM and 400KB of hard disk space.