Added tree building (without distances yet)
authorkjvdheide <kjvanderheide@dundee.ac.uk>
Wed, 11 Oct 2017 09:52:52 +0000 (10:52 +0100)
committerkjvdheide <kjvanderheide@dundee.ac.uk>
Wed, 11 Oct 2017 09:52:52 +0000 (10:52 +0100)
src/jalview/ext/archaeopteryx/ArchaeopteryxTreeBuilder.java
src/jalview/gui/CalculationChooser.java

index 1b1c981..56f7be9 100644 (file)
@@ -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;
+
   }
-  
 }
index bae1808..1192fc8 100644 (file)
@@ -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);
 
 
     }