forester as submodule with InternalFrame + start of distance conversion
authorkjvdheide <kjvanderheide@dundee.ac.uk>
Wed, 11 Oct 2017 20:31:57 +0000 (21:31 +0100)
committerkjvdheide <kjvanderheide@dundee.ac.uk>
Wed, 11 Oct 2017 20:31:57 +0000 (21:31 +0100)
.gitmodules [new file with mode: 0644]
forester [new submodule]
src/jalview/analysis/TreeBuilder.java
src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java
src/jalview/ext/archaeopteryx/JalviewMatrixToForesterMatrix.java [new file with mode: 0644]
src/jalview/gui/CalculationChooser.java
src/jalview/gui/TreePanel.java

diff --git a/.gitmodules b/.gitmodules
new file mode 100644 (file)
index 0000000..e9167c0
--- /dev/null
@@ -0,0 +1,3 @@
+[submodule "forester"]
+       path = forester
+       url = file:////Users/kjvanderheide/Documents/Archae/forester
diff --git a/forester b/forester
new file mode 160000 (submodule)
index 0000000..25c731f
--- /dev/null
+++ b/forester
@@ -0,0 +1 @@
+Subproject commit 25c731fbc8a993c2084d364e6c6c8ca9e662ad73
index 728dd62..0948a65 100644 (file)
@@ -479,4 +479,9 @@ public abstract class TreeBuilder
     return seqStrings;
   }
 
+  public MatrixI getDistances()
+  {
+    return distances;
+  }
+
 }
index fb1ebe3..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;
@@ -48,7 +49,17 @@ public class ArchaeopteryxTreeBuilder // cannot inherit
   public Phylogeny buildAptxTree(TreeBuilder tree)
   {
     this.sequences = tree.getSequences();
-    aptxTree.setName("word");
+    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);
 
   }
@@ -58,8 +69,7 @@ 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);
 
     }
@@ -69,6 +79,7 @@ public class ArchaeopteryxTreeBuilder // cannot inherit
 
   }
 
+
   /**
    * Formats a localised title for the tree panel, like
    * <p>
diff --git a/src/jalview/ext/archaeopteryx/JalviewMatrixToForesterMatrix.java b/src/jalview/ext/archaeopteryx/JalviewMatrixToForesterMatrix.java
new file mode 100644 (file)
index 0000000..6944573
--- /dev/null
@@ -0,0 +1,24 @@
+package jalview.ext.archaeopteryx;
+
+import jalview.math.MatrixI;
+
+import org.forester.evoinference.matrix.distance.DistanceMatrix;
+
+public class JalviewMatrixToForesterMatrix
+{
+
+  public static DistanceMatrix convertJalviewToForester(
+          MatrixI jalviewInput)
+  {
+    return null;
+
+  }
+
+  public static MatrixI convertForesterToJalview(
+          DistanceMatrix foresterInput)
+  {
+    return null;
+
+  }
+
+}
index 1192fc8..a3878d7 100644 (file)
@@ -64,6 +64,7 @@ import javax.swing.event.InternalFrameAdapter;
 import javax.swing.event.InternalFrameEvent;
 
 import org.forester.archaeopteryx.Archaeopteryx;
+import org.forester.archaeopteryx.MainFrame;
 import org.forester.phylogeny.Phylogeny;
 
 /**
@@ -486,8 +487,20 @@ public class CalculationChooser extends JPanel
 
       ArchaeopteryxTreeBuilder aptxTreeBuilder = new ArchaeopteryxTreeBuilder();
       Phylogeny aptxTree = aptxTreeBuilder.buildAptxTree(calculatedTree);
-      Archaeopteryx.createApplication(aptxTree);
-
+      MainFrame aptxFrame = Archaeopteryx.createApplication(aptxTree);
+
+      int width = 400;
+      int height = 550;
+      aptxFrame.setMinimumSize(new Dimension(width - 30, height - 50)); // doesn't
+                                                                        // work
+                                                                        // as it
+                                                                        // gets
+                                                                        // overridden
+                                                                        // during
+                                                                        // addInternalFrame?
+
+      Desktop.addInternalFrame(aptxFrame, "Archaeopteryx Tree View",
+              width, height, true);
 
     }
 
index 5fab37f..f1ba97b 100755 (executable)
@@ -35,7 +35,6 @@ import jalview.datamodel.NodeTransformI;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
 import jalview.datamodel.SequenceNode;
-import jalview.ext.archaeopteryx.ArchaeopteryxNewickInit;
 import jalview.io.JalviewFileChooser;
 import jalview.io.JalviewFileView;
 import jalview.io.NewickFile;
@@ -312,8 +311,6 @@ public void buildTreeCanvas(AlignmentPanel ap) {
         sortByTree_actionPerformed();
       }
 
-      ArchaeopteryxNewickInit archae = new ArchaeopteryxNewickInit(tree);
-      archae.startArchaeopteryx();
     }
   }