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
{
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;
+
}
-
}
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
*/
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);
}