X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FTreePanel.java;h=c7bf6aa1fce60d8628f39a4488a4b0dfd95d6d8c;hp=b4b8ec2b1d50af04210b35a0e01b014f11214b15;hb=136c0793b90b72b928c4d77dc109dd5c644e00d3;hpb=8677e6e34e291edc58c1da2fc9c958473754143f diff --git a/src/jalview/appletgui/TreePanel.java b/src/jalview/appletgui/TreePanel.java index b4b8ec2..c7bf6aa 100644 --- a/src/jalview/appletgui/TreePanel.java +++ b/src/jalview/appletgui/TreePanel.java @@ -20,15 +20,17 @@ */ package jalview.appletgui; +import jalview.analysis.AverageDistanceTree; import jalview.analysis.NJTree; +import jalview.analysis.TreeBuilder; +import jalview.analysis.TreeModel; +import jalview.analysis.scoremodels.ScoreModels; +import jalview.analysis.scoremodels.SimilarityParams; import jalview.api.analysis.ScoreModelI; -import jalview.api.analysis.ViewBasedAnalysisI; import jalview.datamodel.Alignment; -import jalview.datamodel.AlignmentView; -import jalview.datamodel.ColumnSelection; +import jalview.datamodel.HiddenColumns; import jalview.datamodel.SequenceI; import jalview.io.NewickFile; -import jalview.schemes.ResidueProperties; import jalview.util.MessageManager; import java.awt.BorderLayout; @@ -58,17 +60,18 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, TreeCanvas treeCanvas; - NJTree tree; + TreeModel tree; AlignmentPanel ap; AlignViewport av; - public NJTree getTree() + public TreeModel getTree() { return tree; } + @Override public void finalize() throws Throwable { ap = null; @@ -78,21 +81,8 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, /** * Creates a new TreePanel object. - * - * @param av - * DOCUMENT ME! - * @param seqVector - * DOCUMENT ME! - * @param type - * DOCUMENT ME! - * @param pwtype - * DOCUMENT ME! - * @param s - * DOCUMENT ME! - * @param e - * DOCUMENT ME! */ - public TreePanel(AlignmentPanel ap, String type, String pwtype) + public TreePanel(AlignmentPanel alignPanel, String type, String pwtype) { try { @@ -103,22 +93,12 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, ex.printStackTrace(); } - initTreePanel(ap, type, pwtype, null); + initTreePanel(alignPanel, type, pwtype, null); } /** * Creates a new TreePanel object. * - * @param av - * DOCUMENT ME! - * @param seqVector - * DOCUMENT ME! - * @param newtree - * DOCUMENT ME! - * @param type - * DOCUMENT ME! - * @param pwtype - * DOCUMENT ME! */ public TreePanel(AlignmentPanel ap, String type, String pwtype, NewickFile newtree) @@ -159,7 +139,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, // yields unaligned seqs) // or create a selection box around columns in alignment view // test Alignment(SeqCigar[]) - if (tree.seqData != null) + if (tree.getOriginalData() != null) { char gc = '-'; try @@ -170,9 +150,9 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, } catch (Exception ex) { } - ; - Object[] alAndColsel = tree.seqData - .getAlignmentAndColumnSelection(gc); + + Object[] alAndColsel = tree.getOriginalData() + .getAlignmentAndHiddenColumns(gc); if (alAndColsel != null && alAndColsel[0] != null) { @@ -180,7 +160,8 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, AlignFrame af = new AlignFrame(al, av.applet, "Original Data for Tree", false); - af.viewport.setHiddenColumns((ColumnSelection) alAndColsel[1]); + af.viewport.getAlignment().setHiddenColumns( + (HiddenColumns) alAndColsel[1]); } } else @@ -200,62 +181,23 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, this.newtree = newtree; } + @Override public void run() { if (newtree != null) { - if (odata == null) - { - tree = new NJTree(av.getAlignment().getSequencesArray(), newtree); - } - else - { - tree = new NJTree(av.getAlignment().getSequencesArray(), odata, - newtree); - } - + tree = new TreeModel(av.getAlignment().getSequencesArray(), odata, + newtree); } else { - int start, end; - SequenceI[] seqs; - boolean selview = av.getSelectionGroup() != null - && av.getSelectionGroup().getSize() > 1; - AlignmentView seqStrings = av.getAlignmentView(selview); - if (!selview) - { - start = 0; - end = av.getAlignment().getWidth(); - seqs = av.getAlignment().getSequencesArray(); - } - else - { - start = av.getSelectionGroup().getStartRes(); - end = av.getSelectionGroup().getEndRes() + 1; - seqs = av.getSelectionGroup().getSequencesInOrder( - av.getAlignment()); - } - ScoreModelI sm = ResidueProperties.getScoreModel(pwtype); - if (sm instanceof ViewBasedAnalysisI) - { - try - { - sm = sm.getClass().newInstance(); - ((ViewBasedAnalysisI) sm) - .configureFromAlignmentView(treeCanvas.ap); - } catch (Exception q) - { - System.err.println("Couldn't create a scoremodel instance for " - + sm.getName()); - q.printStackTrace(); - } - tree = new NJTree(seqs, seqStrings, type, pwtype, sm, start, end); - } - else - { - tree = new NJTree(seqs, seqStrings, type, pwtype, null, start, - end); - } + ScoreModelI sm1 = ScoreModels.getInstance().getScoreModel(pwtype, + treeCanvas.ap); + ScoreModelI sm = sm1; + TreeBuilder njtree = type.equals(TreeBuilder.NEIGHBOUR_JOINING) ? new NJTree( + av, sm, SimilarityParams.Jalview) + : new AverageDistanceTree(av, sm, SimilarityParams.Jalview); + tree = new TreeModel(njtree); } tree.reCount(tree.getTopNode()); @@ -286,6 +228,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, } } + @Override public void actionPerformed(ActionEvent evt) { if (evt.getSource() == newickOutput) @@ -302,6 +245,7 @@ public class TreePanel extends EmbmenuFrame implements ActionListener, } } + @Override public void itemStateChanged(ItemEvent evt) { if (evt.getSource() == fitToWindow)