1 package jalview.ext.archaeopteryx;
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertTrue;
6 import jalview.analysis.NJTree;
7 import jalview.analysis.TreeBuilder;
8 import jalview.analysis.scoremodels.ScoreModels;
9 import jalview.analysis.scoremodels.SimilarityParams;
10 import jalview.api.analysis.ScoreModelI;
11 import jalview.api.analysis.SimilarityParamsI;
12 import jalview.bin.Jalview;
13 import jalview.datamodel.Alignment;
14 import jalview.datamodel.AlignmentI;
15 import jalview.datamodel.Sequence;
16 import jalview.datamodel.SequenceI;
17 import jalview.gui.AlignViewport;
19 import org.forester.archaeopteryx.MainFrame;
20 import org.forester.archaeopteryx.TreePanel;
21 import org.forester.phylogeny.Phylogeny;
22 import org.testng.annotations.BeforeClass;
23 import org.testng.annotations.Test;
25 public class AptxJalviewSequenceTreeTest extends TreeViewTest
27 TreeBuilder jalviewTree;
38 @BeforeClass(alwaysRun = true)
39 public void setUpTree()
41 SequenceI seq1 = new Sequence("Seq1", "ABCDEFGHIJ");
42 SequenceI seq2 = new Sequence("Seq2", "ABCDEFTHIJ");
43 SequenceI seq3 = new Sequence("Seq3", "BCFWDHIJ");
44 SequenceI seq4 = new Sequence("Seq4", "WTHISTHIS");
46 AlignmentI al = new Alignment(
48 { seq1, seq2, seq3, seq4 });
49 AlignViewport alignViewport = new AlignViewport(al);
51 ScoreModelI scoreModel = ScoreModels.getInstance().getBlosum62();
52 SimilarityParamsI similarityParams = new SimilarityParams(true, true,
55 jalviewTree = new NJTree(alignViewport, scoreModel,
60 @BeforeClass(dependsOnMethods = { "setUpTree" })
61 public void createTreeView()
63 treeView = AptxInit.createInstance(jalviewTree);
64 aptx = (MainFrame) treeView; // still pretty ugly
66 treePanel = aptx.getMainPanel().getCurrentTreePanel();
67 tree = treePanel.getPhylogeny();
72 public void testTreeLoaded()
74 assertTrue(tree != null);
79 public void testTreeTitle()
81 assertTrue(tree.getName().contains("Neighbour Joining Using BLOSUM62"));
86 public void testChildNodesCount()
89 tree.getNode("Seq2").getParent().getNumberOfExternalNodes(), 2);
94 public void testExistingBranchName()
101 public void testChildToParentBranchLength()
103 assertEquals(tree.getNode("Seq1").getDistanceToParent(), 5.25);
108 groups = "Functional",
109 expectedExceptions = IllegalArgumentException.class)
110 public void testInvalidBranchName()
112 tree.getNode("I shouldn't exist");
117 public void testNodeToRootBranchLength()
119 assertEquals(tree.getNode("Seq3").calculateDistanceToRoot(), 19.13);
124 public void testDistantNodeToRootBranchLength()
126 assertEquals(tree.getNode("Seq2").calculateDistanceToRoot(),
127 3.75 + 35.75 + 19.13);