+ public TreeLoader(NewickFile newtree)\r
+ {\r
+ this.newtree = newtree;\r
+ if (newtree != null)\r
+ {\r
+ // Must be outside run(), as Jalview2XML tries to\r
+ // update distance/bootstrap visibility at the same time\r
+ showBootstrap(newtree.HasBootstrap());\r
+ showDistances(newtree.HasDistances());\r
+ }\r
+ }\r
+\r
+ public void run()\r
+ {\r
+\r
+ if(newtree!=null)\r
+ tree = new NJTree(av.alignment.getSequencesArray(),\r
+ newtree);\r
+ else\r
+ {\r
+ int start, end;\r
+ SequenceI [] seqs;\r
+ String [] seqStrings = null;\r
+ if (av.hasHiddenColumns)\r
+ {\r
+ seqStrings = av.getViewAsString(true);\r
+ }\r
+\r
+ if(av.getSelectionGroup()==null)\r
+ {\r
+ start = 0;\r
+ end = av.alignment.getWidth();\r
+ seqs = av.alignment.getSequencesArray();\r
+ }\r
+ else\r
+ {\r
+ start = av.getSelectionGroup().getStartRes();\r
+ end = av.getSelectionGroup().getEndRes()+1;\r
+ seqs = av.getSelectionGroup().getSequencesInOrder(av.alignment);\r
+ }\r
+\r
+ tree = new NJTree(seqs, seqStrings, type, pwtype, start, end);\r
+ }\r
+\r
+\r
+ tree.reCount(tree.getTopNode());\r
+ tree.findHeight(tree.getTopNode());\r
+ treeCanvas.setTree(tree);\r
+\r
+ treeCanvas.repaint();\r
+\r
+ av.setCurrentTree(tree);\r
+\r
+ }\r