package jalview.ext.archaeopteryx;
+import jalview.datamodel.SequenceI;
import jalview.ext.treeviewer.TreeFrameI;
import jalview.ext.treeviewer.TreeI;
import jalview.ext.treeviewer.TreeNodeI;
{
private final Phylogeny tree;
+ // alternative to static maps in TreeNode
+ // private Map<PhylogenyNode, TreeNodeI> originalNodes = new HashMap<>(500);
+ // private Map<TreeNodeI, PhylogenyNode> wrappedNodes = new HashMap<>(500);
+
public Tree()
{
tree = new Phylogeny();
}
+
public Tree(Phylogeny aptxTree)
{
tree = aptxTree;
instanceTitle));
}
+ @Override
+ public SequenceI[] getNodeSequences()
+ {
+ SequenceI[] treeSeqs = new SequenceI[tree.getNodeCount()];
+ Iterator<TreeNodeI> iter = iterateInPreOrder();
+ int i = 0;
+ while (iter.hasNext())
+ {
+ SequenceI nodeSeq = iter.next().getSequence();
+ treeSeqs[i++] = nodeSeq;
+ }
+ return treeSeqs;
+ }
+
+ @Override
+ public TreeNodeI[] getAllNodes()
+ {
+ TreeNodeI[] treeNodes = new TreeNodeI[tree.getNodeCount()];
+ Iterator<TreeNodeI> iter = iterateInPreOrder();
+ int i = 0;
+ while (iter.hasNext())
+ {
+ treeNodes[i++] = iter.next();
+ }
+ return treeNodes;
+ }
}