forester as submodule with InternalFrame + start of distance conversion
[jalview.git] / src / jalview / ext / archaeopteryx / ArchaeopteryxTreeBuilder.java
index 56f7be9..82cabcd 100644 (file)
@@ -4,6 +4,7 @@ import jalview.analysis.TreeBuilder;
 import jalview.datamodel.SequenceI;
 import jalview.math.MatrixI;
 
+import org.forester.evoinference.distance.NeighborJoiningF;
 import org.forester.io.parsers.SymmetricalDistanceMatrixParser;
 import org.forester.msa.Msa;
 import org.forester.phylogeny.Phylogeny;
@@ -47,7 +48,18 @@ public class ArchaeopteryxTreeBuilder // cannot inherit
 
   public Phylogeny buildAptxTree(TreeBuilder tree)
   {
-  this.sequences= tree.getSequences();
+    this.sequences = tree.getSequences();
+    aptxTree.setName(
+            "PLEASE FIX ME reheaheth35yheqhb3q5hyq3bt3q5u4jwqjwuh6");
+
+    final NeighborJoiningF nj = NeighborJoiningF.createInstance(false, 5);
+    distances = tree.getDistances();
+
+
+
+    // final Phylogeny phy = nj.execute(JalviewMatrixToForesterMatrix
+    // .convertJalviewToForester(distances));
+
     return buildAptxTree(sequences);
 
   }
@@ -57,13 +69,51 @@ public class ArchaeopteryxTreeBuilder // cannot inherit
 
     for (SequenceI sequence : sequences)
     {
-      PhylogenyNode treeNode = new PhylogenyNode();
-      treeNode.setName(sequence.getName());
+      PhylogenyNode treeNode = new PhylogenyNode(sequence.getName());
       rootNode.addAsChild(treeNode);
 
     }
+
     aptxTree.setRoot(rootNode);
     return aptxTree;
 
   }
+
+
+  /**
+   * Formats a localised title for the tree panel, like
+   * <p>
+   * Neighbour Joining Using BLOSUM62
+   * <p>
+   * For a tree loaded from file, just uses the file name
+   * 
+   * @return
+   */
+  // public String getPanelTitle()
+  // {
+  // if (treeTitle != null)
+  // {
+  // return treeTitle;
+  // }
+  // else
+  // {
+  // /*
+  // * i18n description of Neighbour Joining or Average Distance method
+  // */
+  // String treecalcnm = MessageManager
+  // .getString("label.tree_calc_" + treeType.toLowerCase());
+  //
+  // /*
+  // * short score model name (long description can be too long)
+  // */
+  // String smn = substitutionMatrix;
+  //
+  // /*
+  // * put them together as <method> Using <model>
+  // */
+  // final String ttl = MessageManager
+  // .formatMessage("label.treecalc_title", treecalcnm, smn);
+  // return ttl;
+  // }
+  // }
 }