X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FCalculationChooser.java;h=30a9b3d1a95c30907ce1e35892dd6abe7fb88c76;hb=91bea2a1185e438bfd52fc1848cf615068016192;hp=de4fd37e129568ad0ad52dfabd2c58a1487f1af7;hpb=db12baeea5789f5d7c6152f85e432255b460c08b;p=jalview.git diff --git a/src/jalview/gui/CalculationChooser.java b/src/jalview/gui/CalculationChooser.java index de4fd37..30a9b3d 100644 --- a/src/jalview/gui/CalculationChooser.java +++ b/src/jalview/gui/CalculationChooser.java @@ -28,7 +28,7 @@ import jalview.analysis.scoremodels.SimilarityParams; import jalview.api.analysis.ScoreModelI; import jalview.api.analysis.SimilarityParamsI; import jalview.datamodel.SequenceGroup; -import jalview.ext.archaeopteryx.ArchaeopteryxTreeBuilder; +import jalview.ext.archaeopteryx.AptxInit; import jalview.util.MessageManager; import java.awt.BorderLayout; @@ -108,6 +108,11 @@ public class CalculationChooser extends JPanel List tips = new ArrayList<>(); + /* + * the most recently opened PCA results panel + */ + private PCAPanel pcaPanel; + /** * Constructor * @@ -472,16 +477,11 @@ public class CalculationChooser extends JPanel } else { + createTree(substitutionMatrix, params); + + - String treeAlgo = determineTreeAlgo(); - TreeCalculator treeCalculator = new TreeCalculator(treeAlgo, - substitutionMatrix, params); - TreeBuilder calculatedTree = treeCalculator - .makeTree(af.getViewport()); - TreeModel tree = new TreeModel(calculatedTree); - openTreePanel(tree, treeAlgo, params); - ArchaeopteryxTreeBuilder aptxTree = new ArchaeopteryxTreeBuilder(); } @@ -489,6 +489,21 @@ public class CalculationChooser extends JPanel // closeFrame(); } + protected void createTree(String substitutionMatrix, + SimilarityParamsI params) + { + String treeAlgo = determineTreeAlgo(); + TreeCalculator treeCalculator = new TreeCalculator(treeAlgo, + substitutionMatrix, params); + TreeBuilder calculatedTree = treeCalculator.makeTree(af.getViewport()); + + AptxInit.createInstance(calculatedTree); + + TreeModel tree = new TreeModel(calculatedTree); + openTreePanel(tree, treeAlgo, substitutionMatrix); + } + + protected String determineTreeAlgo() // to be modified & expanded { String treeAlgorithm = neighbourJoining.isSelected() @@ -522,7 +537,7 @@ public class CalculationChooser extends JPanel * @param treeAlgo */ protected void openTreePanel(TreeModel tree, String treeAlgo, - SimilarityParamsI params) + String substitutionMatrix) { /* * gui validation shouldn't allow insufficient sequences here, but leave @@ -530,7 +545,7 @@ public class CalculationChooser extends JPanel */ checkEnoughSequences(af.getViewport()); - af.newTreePanel(tree, treeAlgo, params); + af.newTreePanel(tree, treeAlgo, substitutionMatrix); } /** @@ -561,7 +576,7 @@ public class CalculationChooser extends JPanel JvOptionPane.WARNING_MESSAGE); return; } - new PCAPanel(af.alignPanel, modelName, params); + pcaPanel = new PCAPanel(af.alignPanel, modelName, params); } /** @@ -603,7 +618,6 @@ public class CalculationChooser extends JPanel */ boolean matchGap = doPCA ? false : treeMatchGaps; - return new SimilarityParams(includeGapGap, matchGap, includeGapResidue, matchOnShortestLength); } @@ -620,4 +634,9 @@ public class CalculationChooser extends JPanel { } } + + public PCAPanel getPcaPanel() + { + return pcaPanel; + } }