X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FTreePanel.java;fp=src%2Fjalview%2Fgui%2FTreePanel.java;h=9ac2872a8b3173c4d55af634e8cce49092bcc74b;hb=e2e2b85d7a8e3d7ed6926ef1bf55eb2328e744d1;hp=857e77c4fd5460205cfcda46ea985e06cef7edc2;hpb=74c5bd7b1f98214a6d57d7c64d0548013530d397;p=jalview.git diff --git a/src/jalview/gui/TreePanel.java b/src/jalview/gui/TreePanel.java index 857e77c..9ac2872 100755 --- a/src/jalview/gui/TreePanel.java +++ b/src/jalview/gui/TreePanel.java @@ -22,9 +22,8 @@ package jalview.gui; import jalview.analysis.AlignmentSorter; import jalview.analysis.NJTree; -import jalview.analysis.scoremodels.ScoreModels; -import jalview.analysis.scoremodels.SimilarityParams; import jalview.api.analysis.ScoreModelI; +import jalview.api.analysis.SimilarityParamsI; import jalview.api.analysis.ViewBasedAnalysisI; import jalview.bin.Cache; import jalview.commands.CommandI; @@ -72,9 +71,13 @@ import org.jibble.epsgraphics.EpsGraphics2D; */ public class TreePanel extends GTreePanel { - String type; + String treeType; - String pwtype; + ScoreModelI scoreModel; // if tree computed + + String treeTitle; // if tree loaded + + SimilarityParamsI similarityParams; TreeCanvas treeCanvas; @@ -85,34 +88,29 @@ public class TreePanel extends GTreePanel /** * Creates a new TreePanel object. * - * @param av - * DOCUMENT ME! - * @param seqVector - * DOCUMENT ME! + * @param ap * @param type - * DOCUMENT ME! - * @param pwtype - * DOCUMENT ME! - * @param s - * DOCUMENT ME! - * @param e - * DOCUMENT ME! + * @param sm + * @param options */ - public TreePanel(AlignmentPanel ap, String type, String pwtype) + public TreePanel(AlignmentPanel ap, String type, ScoreModelI sm, + SimilarityParamsI options) { super(); - initTreePanel(ap, type, pwtype, null, null); + this.similarityParams = options; + initTreePanel(ap, type, sm, null, null); // We know this tree has distances. JBPNote TODO: prolly should add this as // a userdefined default // showDistances(true); } - public TreePanel(AlignmentPanel av, String type, String pwtype, - NewickFile newtree, AlignmentView inputData) + public TreePanel(AlignmentPanel alignPanel, NewickFile newtree, + String theTitle, AlignmentView inputData) { super(); - initTreePanel(av, type, pwtype, newtree, inputData); + this.treeTitle = theTitle; + initTreePanel(alignPanel, null, null, newtree, inputData); } public AlignmentI getAlignment() @@ -125,13 +123,13 @@ public class TreePanel extends GTreePanel return treeCanvas.av; } - void initTreePanel(AlignmentPanel ap, String type, String pwtype, + void initTreePanel(AlignmentPanel ap, String type, ScoreModelI sm, NewickFile newTree, AlignmentView inputData) { av = ap.av; - this.type = type; - this.pwtype = pwtype; + this.treeType = type; + this.scoreModel = sm; treeCanvas = new TreeCanvas(this, ap, scrollPane); scrollPane.setViewportView(treeCanvas); @@ -247,17 +245,17 @@ public class TreePanel extends GTreePanel { NewickFile newtree; - jalview.datamodel.AlignmentView odata = null; + AlignmentView odata = null; - public TreeLoader(NewickFile newtree) + public TreeLoader(NewickFile newickFile) { - this.newtree = newtree; - if (newtree != null) + this.newtree = newickFile; + if (newickFile != null) { // Must be outside run(), as Jalview2XML tries to // update distance/bootstrap visibility at the same time - showBootstrap(newtree.HasBootstrap()); - showDistances(newtree.HasDistances()); + showBootstrap(newickFile.HasBootstrap()); + showDistances(newickFile.HasDistances()); } } @@ -283,26 +281,8 @@ public class TreePanel extends GTreePanel } 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 = configureScoreModel(pwtype); - tree = new NJTree(av, type, sm, SimilarityParams.Jalview); + ScoreModelI sm = configureScoreModel(); + tree = new NJTree(av, treeType, sm, similarityParams); showDistances(true); } @@ -362,7 +342,7 @@ public class TreePanel extends GTreePanel { CutAndPasteTransfer cap = new CutAndPasteTransfer(); - String newTitle = getPanelTitle(type, pwtype); + String newTitle = getPanelTitle(); NewickFile fout = new NewickFile(tree.getTopNode()); try @@ -575,11 +555,11 @@ public class TreePanel extends GTreePanel public CommandI sortAlignmentIn(AlignmentPanel ap) { - AlignmentViewport av = ap.av; - SequenceI[] oldOrder = av.getAlignment().getSequencesArray(); - AlignmentSorter.sortByTree(av.getAlignment(), tree); + AlignmentViewport viewport = ap.av; + SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray(); + AlignmentSorter.sortByTree(viewport.getAlignment(), tree); CommandI undo; - undo = new OrderCommand("Tree Sort", oldOrder, av.getAlignment()); + undo = new OrderCommand("Tree Sort", oldOrder, viewport.getAlignment()); ap.paintAlignment(true); return undo; @@ -607,11 +587,11 @@ public class TreePanel extends GTreePanel return treeCanvas.font; } - public void setTreeFont(Font font) + public void setTreeFont(Font f) { if (treeCanvas != null) { - treeCanvas.setFont(font); + treeCanvas.setFont(f); } } @@ -834,8 +814,8 @@ public class TreePanel extends GTreePanel } if (newname != null) { - String oldname = ((SequenceNode) node).getName(); - // TODO : save in the undo object for this modification. + // String oldname = ((SequenceNode) node).getName(); + // TODO : save oldname in the undo object for this modification. ((SequenceNode) node).setName(newname); } } @@ -849,17 +829,13 @@ public class TreePanel extends GTreePanel * Neighbour Joining Using BLOSUM62 *
* For a tree loaded from file, just uses the file name
- *
- * @param treeType
- * NJ or AV or FromFile
- * @param modelOrFileName
* @return
*/
- public static String getPanelTitle(String treeType, String modelOrFileName)
+ public String getPanelTitle()
{
- if (NJTree.FROM_FILE.equals(treeType))
+ if (treeTitle != null)
{
- return modelOrFileName;
+ return treeTitle;
}
/*
@@ -869,10 +845,10 @@ public class TreePanel extends GTreePanel
+ treeType.toLowerCase());
/*
- * i18n description (if any) of score model used
+ * i18n description (if available) of score model used
*/
String smn = MessageManager.getStringOrReturn("label.score_model_",
- modelOrFileName);
+ scoreModel.getName());
/*
* put them together as