apply version 2.7 copyright
[jalview.git] / src / jalview / analysis / NJTree.java
old mode 100755 (executable)
new mode 100644 (file)
index ee782e7..e9e1cd7
@@ -1,6 +1,6 @@
 /*
- * 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.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
  * 
@@ -237,7 +237,7 @@ public class NJTree
     {
       if (ResidueProperties.getScoreMatrix(pwtype) == null)
       {
-        type = "BLOSUM62";
+        pwtype = "BLOSUM62";
       }
     }
 
@@ -267,15 +267,16 @@ 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
   }
 
   /**
@@ -345,7 +346,24 @@ 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) 
+   */
+  public void renameAssociatedNodes() {
+    applyToNodes(new NodeTransformI() {
 
+      @Override
+      public void transform(BinaryNode node)
+      {
+        Object el = node.element();
+        if (el!=null && el instanceof SequenceI)
+        {
+          node.setName(((SequenceI)el).getName());
+        }
+      }
+    });
+  }
   /**
    * DOCUMENT ME!
    */