JAL-2428 separate TreeModel from TreeBuilder/NJTree/AverageDistanceTree
[jalview.git] / src / jalview / appletgui / TreePanel.java
index 7266665..a9e11a7 100644 (file)
  */
 package jalview.appletgui;
 
+import jalview.analysis.AverageDistanceTree;
 import jalview.analysis.NJTree;
+import jalview.analysis.TreeBuilder;
+import jalview.analysis.TreeModel;
 import jalview.analysis.scoremodels.ScoreModels;
 import jalview.analysis.scoremodels.SimilarityParams;
 import jalview.api.analysis.ScoreModelI;
@@ -59,13 +62,13 @@ public class TreePanel extends EmbmenuFrame implements ActionListener,
 
   TreeCanvas treeCanvas;
 
-  NJTree tree;
+  TreeModel tree;
 
   AlignmentPanel ap;
 
   AlignViewport av;
 
-  public NJTree getTree()
+  public TreeModel getTree()
   {
     return tree;
   }
@@ -209,19 +212,23 @@ public class TreePanel extends EmbmenuFrame implements ActionListener,
       {
         if (odata == null)
         {
-          tree = new NJTree(av.getAlignment().getSequencesArray(), newtree);
+          tree = new TreeModel(av.getAlignment().getSequencesArray(),
+                  newtree);
         }
         else
         {
-          tree = new NJTree(av.getAlignment().getSequencesArray(), odata,
-                  newtree);
+          tree = new TreeModel(av.getAlignment().getSequencesArray(),
+                  odata, newtree);
         }
 
       }
       else
       {
         ScoreModelI sm = configureScoreModel(pwtype);
-        tree = new NJTree(av, type, sm, SimilarityParams.Jalview);
+        TreeBuilder njtree = type.equals(TreeBuilder.NEIGHBOUR_JOINING) ? new NJTree(
+                av, sm, SimilarityParams.Jalview)
+                : new AverageDistanceTree(av, sm, SimilarityParams.Jalview);
+        tree = new TreeModel(njtree);
       }
 
       tree.reCount(tree.getTopNode());