1. A system for agglomeratively estimating a phylogenetic tree for proteins from input data arrayed to form multiple sequence alignments (MSA), the system including: a processing unit that executes a routine to estimate said phylogenetic tree; memory coupled to said processing unit and storing said routine such that when said routine is executed by said processing unit said system carries out the following steps: a) creating a profile of data represented by each node in a model of said phylogenetic tree; b) using a symmetrized form of relative entropy to measure distance among nodes between subtrees to determine, at each agglomerative step, which nodes to merge in said model of said phylogenetic tree; wherein topology of said phylogenetic tree is estimated.