1 package jalview.ext.archaeopteryx;
3 import jalview.datamodel.SequenceI;
4 import jalview.ext.forester.DataConversions;
5 import jalview.ext.treeviewer.ExternalTreeNodeI;
10 import org.forester.phylogeny.PhylogenyMethods;
11 import org.forester.phylogeny.PhylogenyNode;
12 import org.forester.phylogeny.data.BranchColor;
14 public class TreeNode implements ExternalTreeNodeI
16 private final PhylogenyNode node;
18 private SequenceI nodeSeq;
20 public TreeNode(PhylogenyNode aptxNode)
28 public String getNodeName()
30 return node.getName();
34 public List<ExternalTreeNodeI> getAllDescendants()
36 List<PhylogenyNode> descNodes = PhylogenyMethods
37 .getAllDescendants(node);
38 return DataConversions.getConvertedTreeNodes(descNodes);
43 public List<ExternalTreeNodeI> getExternalDescendants()
45 List<PhylogenyNode> extDescNodes = node.getAllExternalDescendants();
46 return DataConversions.getConvertedTreeNodes(extDescNodes);
51 public List<ExternalTreeNodeI> getDirectChildren()
53 List<PhylogenyNode> childNodes = node.getDescendants();
54 return DataConversions.getConvertedTreeNodes(childNodes);
60 public void setSequence(SequenceI seq)
63 org.forester.phylogeny.data.Sequence foresterFormatSeq = DataConversions
64 .createForesterSequence(seq, true);
65 node.getNodeData().setSequence(foresterFormatSeq);
70 public SequenceI getSequence()
73 // ideally this would return a converted node.getNodeData().getSequence()
77 public void addAsChild(ExternalTreeNodeI childNode)
79 PhylogenyNode aptxNode = new PhylogenyNode(childNode.getNodeName());
82 node.addAsChild(aptxNode);
93 public float getXcoord()
95 return node.getXcoord();
99 public void setBranchColor(Color branchColor)
101 node.getBranchData().setBranchColor(new BranchColor(branchColor));
106 public boolean isInternal()
108 return node.isInternal();