bugfix for dodgy trees which contain the same leafname more than once - so that all...
authorjprocter <Jim Procter>
Tue, 10 Oct 2006 14:07:12 +0000 (14:07 +0000)
committerjprocter <Jim Procter>
Tue, 10 Oct 2006 14:07:12 +0000 (14:07 +0000)
src/jalview/analysis/NJTree.java

index 1ab9c02..3f5f442 100755 (executable)
@@ -132,6 +132,7 @@ public class NJTree
         SequenceNode j;
         SequenceI nam;
         String realnam;
+        Vector one2many=new Vector();
 
         while (i < leaves.size())
         {
@@ -147,7 +148,13 @@ public class NJTree
             if (nam != null)
             {
                 j.setElement(nam);
-                namesleft--;
+                if (one2many.contains(nam)) {
+                  if (jalview.bin.Cache.log.isDebugEnabled())
+                    jalview.bin.Cache.log.debug("One 2 many relationship for "+nam.getName());
+                } else {
+                  one2many.addElement(nam);
+                  namesleft--;
+                }
             }
             else
             {
@@ -155,6 +162,10 @@ public class NJTree
                 j.setPlaceholder(true);
             }
         }
+        if (jalview.bin.Cache.log.isDebugEnabled()) {
+          jalview.bin.Cache.log.debug("There were "+one2many.size()+" alignment sequences linked to two or more leaves.");
+        }
+        one2many.clear();
     }
 
     /**