Jalview 2.8 Source Header
[jalview.git] / src / jalview / analysis / NJTree.java
old mode 100755 (executable)
new mode 100644 (file)
index 6976dc3..144ec2c
@@ -1,13 +1,13 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
@@ -237,7 +237,7 @@ public class NJTree
     {
       if (ResidueProperties.getScoreMatrix(pwtype) == null)
       {
-        type = "BLOSUM62";
+        pwtype = "BLOSUM62";
       }
     }
 
@@ -267,25 +267,26 @@ public class NJTree
   }
 
   /**
-   * DOCUMENT ME!
+   * Generate a string representation of the Tree
    * 
-   * @return DOCUMENT ME!
+   * @return Newick File with all tree data available
    */
   public String toString()
   {
     jalview.io.NewickFile fout = new jalview.io.NewickFile(getTopNode());
 
-    return fout.print(false, true); // distances only
+    return fout.print(isHasBootstrap(), isHasDistances(),
+            isHasRootDistance()); // output all data available for tree
   }
 
   /**
    * 
    * used when the alignment associated to a tree has changed.
    * 
-   * @param alignment
-   *          Vector
+   * @param list
+   *          Sequence set to be associated with tree nodes
    */
-  public void UpdatePlaceHolders(Vector alignment)
+  public void UpdatePlaceHolders(List<SequenceI> list)
   {
     Vector leaves = new Vector();
     findLeaves(top, leaves);
@@ -298,7 +299,7 @@ public class NJTree
     {
       SequenceNode leaf = (SequenceNode) leaves.elementAt(i++);
 
-      if (alignment.contains(leaf.element()))
+      if (list.contains(leaf.element()))
       {
         leaf.setPlaceholder(false);
       }
@@ -307,11 +308,11 @@ public class NJTree
         if (seqmatcher == null)
         {
           // Only create this the first time we need it
-          SequenceI[] seqs = new SequenceI[alignment.size()];
+          SequenceI[] seqs = new SequenceI[list.size()];
 
           for (int j = 0; j < seqs.length; j++)
           {
-            seqs[j] = (SequenceI) alignment.elementAt(j);
+            seqs[j] = (SequenceI) list.get(j);
           }
 
           seqmatcher = new SequenceIdMatcher(seqs);
@@ -345,24 +346,29 @@ public class NJTree
       }
     }
   }
+
   /**
-   * rename any nodes according to their associated sequence.
-   * This will modify the tree's metadata! (ie the original NewickFile or newly generated BinaryTree's label data) 
+   * rename any nodes according to their associated sequence. This will modify
+   * the tree's metadata! (ie the original NewickFile or newly generated
+   * BinaryTree's label data)
    */
-  public void renameAssociatedNodes() {
-    applyToNodes(new NodeTransformI() {
+  public void renameAssociatedNodes()
+  {
+    applyToNodes(new NodeTransformI()
+    {
 
       @Override
       public void transform(BinaryNode node)
       {
         Object el = node.element();
-        if (el!=null && el instanceof SequenceI)
+        if (el != null && el instanceof SequenceI)
         {
-          node.setName(((SequenceI)el).getName());
+          node.setName(((SequenceI) el).getName());
         }
       }
     });
   }
+
   /**
    * DOCUMENT ME!
    */