From 0a4a46233a09da979e8e2936ee994f80f66e4ed2 Mon Sep 17 00:00:00 2001 From: kjvdheide Date: Wed, 11 Oct 2017 10:52:52 +0100 Subject: [PATCH] Added tree building (without distances yet) --- .../archaeopteryx/ArchaeopteryxTreeBuilder.java | 49 ++++++++++++++++++-- src/jalview/gui/CalculationChooser.java | 8 +++- 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java b/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java index 1b1c981..56f7be9 100644 --- a/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java +++ b/src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java @@ -1,13 +1,15 @@ package jalview.ext.archaeopteryx; import jalview.analysis.TreeBuilder; -import jalview.analysis.TreeModel; import jalview.datamodel.SequenceI; import jalview.math.MatrixI; +import org.forester.io.parsers.SymmetricalDistanceMatrixParser; +import org.forester.msa.Msa; import org.forester.phylogeny.Phylogeny; +import org.forester.phylogeny.PhylogenyNode; -public class ArchaeopteryxTreeBuilder extends Phylogeny // cannot inherit +public class ArchaeopteryxTreeBuilder // cannot inherit // TreeBuilder as that // demands the use of // SequenceNode (instead @@ -15,16 +17,53 @@ public class ArchaeopteryxTreeBuilder extends Phylogeny // cannot inherit { protected SequenceI[] sequences; + private Phylogeny aptxTree; + + private PhylogenyNode rootNode; + protected MatrixI distances; - public ArchaeopteryxTreeBuilder(TreeModel treeModel) + protected Msa msa; + + protected SymmetricalDistanceMatrixParser distanceParser = SymmetricalDistanceMatrixParser + .createInstance(); + + + public ArchaeopteryxTreeBuilder() { + this.rootNode = new PhylogenyNode(); + this.aptxTree = new Phylogeny(); + } - public ArchaeopteryxTreeBuilder(TreeBuilder tree) + public ArchaeopteryxTreeBuilder(PhylogenyNode treeRoot) { + this.rootNode = treeRoot; + this.aptxTree = new Phylogeny(); + + } + + public Phylogeny buildAptxTree(TreeBuilder tree) + { + this.sequences= tree.getSequences(); + return buildAptxTree(sequences); + + } + + public Phylogeny buildAptxTree(SequenceI[] sequences) + { + + for (SequenceI sequence : sequences) + { + PhylogenyNode treeNode = new PhylogenyNode(); + treeNode.setName(sequence.getName()); + rootNode.addAsChild(treeNode); + + } + aptxTree.setRoot(rootNode); + return aptxTree; + } - } diff --git a/src/jalview/gui/CalculationChooser.java b/src/jalview/gui/CalculationChooser.java index bae1808..1192fc8 100644 --- a/src/jalview/gui/CalculationChooser.java +++ b/src/jalview/gui/CalculationChooser.java @@ -63,6 +63,9 @@ import javax.swing.JRadioButton; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; +import org.forester.archaeopteryx.Archaeopteryx; +import org.forester.phylogeny.Phylogeny; + /** * A dialog where a user can choose and action Tree or PCA calculation options */ @@ -481,8 +484,9 @@ public class CalculationChooser extends JPanel TreeModel tree = new TreeModel(calculatedTree); openTreePanel(tree, treeAlgo, substitutionMatrix); - ArchaeopteryxTreeBuilder aptxTree = new ArchaeopteryxTreeBuilder( - tree); + ArchaeopteryxTreeBuilder aptxTreeBuilder = new ArchaeopteryxTreeBuilder(); + Phylogeny aptxTree = aptxTreeBuilder.buildAptxTree(calculatedTree); + Archaeopteryx.createApplication(aptxTree); } -- 1.7.10.2