+ 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()
+ ? TreeBuilder.NEIGHBOUR_JOINING
+ : TreeBuilder.AVERAGE_DISTANCE;
+
+ return treeAlgorithm;
+
+ }
+
+ protected void checkEnoughSequences(AlignViewport viewport)
+ {
+ SequenceGroup sg = viewport.getSelectionGroup();
+ if (sg != null && sg.getSize() < MIN_TREE_SELECTION)
+ {
+ JvOptionPane.showMessageDialog(Desktop.desktop,
+ MessageManager.formatMessage(
+ "label.you_need_at_least_n_sequences",
+ MIN_TREE_SELECTION),
+ MessageManager.getString("label.not_enough_sequences"),
+ JvOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ }
+