From c21989bd32ddf92f7583578b66e3f491643ce775 Mon Sep 17 00:00:00 2001 From: kjvdheide Date: Wed, 11 Oct 2017 21:31:57 +0100 Subject: [PATCH] forester as submodule with InternalFrame + start of distance conversion --- .gitmodules | 3 +++ forester | 1 + src/jalview/analysis/TreeBuilder.java | 5 ++++ .../archaeopteryx/ArchaeopteryxTreeBuilder.java | 17 +++++++++++--- .../JalviewMatrixToForesterMatrix.java | 24 ++++++++++++++++++++ src/jalview/gui/CalculationChooser.java | 17 ++++++++++++-- src/jalview/gui/TreePanel.java | 3 --- 7 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 .gitmodules create mode 160000 forester create mode 100644 src/jalview/ext/archaeopteryx/JalviewMatrixToForesterMatrix.java diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e9167c0 --- /dev/null +++ b/.gitmodules @@ -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 index 0000000..25c731f --- /dev/null +++ b/forester @@ -0,0 +1 @@ +Subproject commit 25c731fbc8a993c2084d364e6c6c8ca9e662ad73 diff --git a/src/jalview/analysis/TreeBuilder.java b/src/jalview/analysis/TreeBuilder.java index 728dd62..0948a65 100644 --- a/src/jalview/analysis/TreeBuilder.java +++ b/src/jalview/analysis/TreeBuilder.java @@ -479,4 +479,9 @@ public abstract class TreeBuilder return seqStrings; } + public MatrixI getDistances() + { + return distances; + } + } diff --git a/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java b/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java index fb1ebe3..82cabcd 100644 --- a/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java +++ b/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java @@ -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 *

diff --git a/src/jalview/ext/archaeopteryx/JalviewMatrixToForesterMatrix.java b/src/jalview/ext/archaeopteryx/JalviewMatrixToForesterMatrix.java new file mode 100644 index 0000000..6944573 --- /dev/null +++ b/src/jalview/ext/archaeopteryx/JalviewMatrixToForesterMatrix.java @@ -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; + + } + +} diff --git a/src/jalview/gui/CalculationChooser.java b/src/jalview/gui/CalculationChooser.java index 1192fc8..a3878d7 100644 --- a/src/jalview/gui/CalculationChooser.java +++ b/src/jalview/gui/CalculationChooser.java @@ -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); } diff --git a/src/jalview/gui/TreePanel.java b/src/jalview/gui/TreePanel.java index 5fab37f..f1ba97b 100755 --- a/src/jalview/gui/TreePanel.java +++ b/src/jalview/gui/TreePanel.java @@ -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(); } } -- 1.7.10.2