/*
Copyright (C) 2009 Diego Darriba
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package es.uvigo.darwin.xprottest.analysis.consensus;
import static es.uvigo.darwin.prottest.util.logging.ProtTestLogger.getDefaultLogger;
import static es.uvigo.darwin.prottest.util.logging.ProtTestLogger.infoln;
import java.awt.Font;
import java.io.PrintWriter;
import java.util.logging.Handler;
import java.util.logging.Level;
import org.jdesktop.application.Action;
import org.jdesktop.application.Application;
import org.jdesktop.application.ResourceMap;
import pal.alignment.Alignment;
import pal.misc.Identifier;
import pal.tree.Tree;
import es.uvigo.darwin.prottest.facade.TreeFacade;
import es.uvigo.darwin.prottest.model.Model;
import es.uvigo.darwin.prottest.selection.AIC;
import es.uvigo.darwin.prottest.selection.AICc;
import es.uvigo.darwin.prottest.selection.BIC;
import es.uvigo.darwin.prottest.selection.DT;
import es.uvigo.darwin.prottest.selection.InformationCriterion;
import es.uvigo.darwin.prottest.selection.LNL;
import es.uvigo.darwin.prottest.util.collection.ModelCollection;
import es.uvigo.darwin.prottest.util.collection.SingleModelCollection;
import es.uvigo.darwin.prottest.util.exception.ProtTestInternalException;
import es.uvigo.darwin.prottest.util.logging.ProtTestLogger;
import es.uvigo.darwin.prottest.util.printer.ProtTestPrinter;
import es.uvigo.darwin.xprottest.XProtTestView;
import es.uvigo.darwin.xprottest.util.TextAreaWriter;
/**
*
* @author diego
*/
public class Consensus extends javax.swing.JFrame {
/**
*
*/
private static final long serialVersionUID = 7857819028765401188L;
private static final int AIC_SELECTION = 0;
private static final int BIC_SELECTION = 1;
private static final int AICC_SELECTION = 2;
private static final int LNL_SELECTION = 3;
private static final int DT_SELECTION = 4;
private static final int DISABLED_SELECTION = 5;
private static final String[] SELECTION = { "AIC", "BIC", "AICc", "LK",
"DT", "Disabled" };
private ResourceMap resourceMap;
private TreeFacade facade;
private ModelCollection models;
private Handler logHandler;
private PrintWriter displayWriter;
private XProtTestView mainFrame;
/** Creates new form Consensus */
public Consensus(XProtTestView mainFrame, TreeFacade facade,
Model[] models, Alignment alignment) {
initComponents();
this.mainFrame = mainFrame;
this.facade = facade;
this.models = new SingleModelCollection(models, alignment);
this.displayWriter = new PrintWriter(new TextAreaWriter(displayArea));
this.logHandler = getDefaultLogger().addHandler(displayWriter,
Level.OFF);
resourceMap = Application
.getInstance(es.uvigo.darwin.xprottest.XProtTestApp.class)
.getContext().getResourceMap(Consensus.class);
Font f = new Font(Font.MONOSPACED, Font.PLAIN, 12);
displayArea.setFont(f);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed"
// desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
btnGrpCriterion = new javax.swing.ButtonGroup();
settingsPanel = new javax.swing.JPanel();
lblTitle = new javax.swing.JLabel();
lblCriterion = new javax.swing.JLabel();
radioAIC = new javax.swing.JRadioButton();
radioBIC = new javax.swing.JRadioButton();
radioAICC = new javax.swing.JRadioButton();
radioDT = new javax.swing.JRadioButton();
radioLK = new javax.swing.JRadioButton();
sliderConsType = new javax.swing.JSlider();
lblConsType = new javax.swing.JLabel();
btnBuild = new javax.swing.JButton();
lblMR = new javax.swing.JLabel();
lblStrict = new javax.swing.JLabel();
lblConfInt = new javax.swing.JLabel();
sliderConfidence = new javax.swing.JSlider();
lblConfidenceInterval = new javax.swing.JLabel();
lblConsensusType = new javax.swing.JLabel();
lblPercent = new javax.swing.JLabel();
btnExport = new javax.swing.JButton();
displayScroll = new javax.swing.JScrollPane();
displayArea = new javax.swing.JTextArea();
jMenuBar1 = new javax.swing.JMenuBar();
windowMenu = new javax.swing.JMenu();
closeMenuItem = new javax.swing.JMenuItem();
editMenu = new javax.swing.JMenu();
editCopyMenuItem = new javax.swing.JMenuItem();
selectAllMenuItem = new javax.swing.JMenuItem();
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application
.getInstance().getContext().getResourceMap(Consensus.class);
setTitle(resourceMap.getString("Form.title")); // NOI18N
setName("Form"); // NOI18N
settingsPanel.setBorder(javax.swing.BorderFactory
.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
settingsPanel.setName("settingsPanel"); // NOI18N
lblTitle.setBackground(resourceMap.getColor("lblTitle.background")); // NOI18N
lblTitle.setFont(resourceMap.getFont("lblTitle.font")); // NOI18N
lblTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblTitle.setText(resourceMap.getString("title.text")); // NOI18N
lblTitle.setName("lblTitle"); // NOI18N
lblCriterion.setText(resourceMap.getString("lblCriterion.text")); // NOI18N
lblCriterion.setName("lblCriterion"); // NOI18N
javax.swing.ActionMap actionMap = org.jdesktop.application.Application
.getInstance().getContext().getActionMap(Consensus.class, this);
btnGrpCriterion.add(radioAIC);
radioAIC.setText(resourceMap.getString("radioAIC.text")); // NOI18N
radioAIC.setName("radioAIC"); // NOI18N
btnGrpCriterion.add(radioBIC);
radioBIC.setText(resourceMap.getString("radioBIC.text")); // NOI18N
radioBIC.setName("radioBIC"); // NOI18N
btnGrpCriterion.add(radioAICC);
radioAICC.setText(resourceMap.getString("radioAICC.text")); // NOI18N
radioAICC.setName("radioAICC"); // NOI18N
btnGrpCriterion.add(radioDT);
radioDT.setSelected(true);
radioDT.setText(resourceMap.getString("radioDT.text")); // NOI18N
radioDT.setName("radioDT"); // NOI18N
btnGrpCriterion.add(radioLK);
radioLK.setText(resourceMap.getString("radioLK.text")); // NOI18N
radioLK.setName("radioLK"); // NOI18N
sliderConsType.setMinimum(50);
sliderConsType.setToolTipText(resourceMap
.getString("sliderConsType.toolTipText")); // NOI18N
sliderConsType.setName("sliderConsType"); // NOI18N
sliderConsType
.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
sliderConsTypeStateChanged(evt);
}
});
lblConsType.setText(resourceMap.getString("lblConsType.text")); // NOI18N
lblConsType.setName("lblConsType"); // NOI18N
btnBuild.setAction(actionMap.get("buildConsensus")); // NOI18N
btnBuild.setText(resourceMap.getString("btnBuild.text")); // NOI18N
btnBuild.setName("btnBuild"); // NOI18N
lblMR.setFont(resourceMap.getFont("lblMR.font")); // NOI18N
lblMR.setForeground(resourceMap.getColor("lblMR.foreground")); // NOI18N
lblMR.setText(resourceMap.getString("lblMR.text")); // NOI18N
lblMR.setName("lblMR"); // NOI18N
lblStrict.setFont(resourceMap.getFont("lblStrict.font")); // NOI18N
lblStrict.setForeground(resourceMap.getColor("lblStrict.foreground")); // NOI18N
lblStrict.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lblStrict.setText(resourceMap.getString("lblStrict.text")); // NOI18N
lblStrict.setName("lblStrict"); // NOI18N
lblConfInt.setText(resourceMap.getString("lblConfInt.text")); // NOI18N
lblConfInt.setToolTipText(resourceMap
.getString("lblConfInt.toolTipText")); // NOI18N
lblConfInt.setName("lblConfInt"); // NOI18N
sliderConfidence.setValue(100);
sliderConfidence.setName("sliderConfidence"); // NOI18N
sliderConfidence
.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
sliderConfidenceStateChanged(evt);
}
});
lblConfidenceInterval.setText(resourceMap
.getString("default-confidence-interval")); // NOI18N
lblConfidenceInterval.setName("lblConfidenceInterval"); // NOI18N
lblConsensusType
.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lblConsensusType.setText(resourceMap
.getString("default-consensus-type")); // NOI18N
lblConsensusType.setName("lblConsensusType"); // NOI18N
lblPercent.setText(resourceMap.getString("percent-symbol")); // NOI18N
lblPercent.setName("lblPercent"); // NOI18N
btnExport.setAction(actionMap.get("exportData")); // NOI18N
btnExport.setText(resourceMap.getString("btnExport.text")); // NOI18N
btnExport.setEnabled(false);
btnExport.setName("btnExport"); // NOI18N
javax.swing.GroupLayout settingsPanelLayout = new javax.swing.GroupLayout(
settingsPanel);
settingsPanel.setLayout(settingsPanelLayout);
settingsPanelLayout
.setHorizontalGroup(settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
settingsPanelLayout
.createSequentialGroup()
.addGroup(
settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
settingsPanelLayout
.createSequentialGroup()
.addContainerGap()
.addGroup(
settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
lblCriterion,
javax.swing.GroupLayout.PREFERRED_SIZE,
161,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(
lblTitle,
javax.swing.GroupLayout.DEFAULT_SIZE,
636,
Short.MAX_VALUE)
.addGroup(
settingsPanelLayout
.createSequentialGroup()
.addGap(12,
12,
12)
.addComponent(
radioAIC)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
radioBIC)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
radioAICC)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
radioDT)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
radioLK))
.addGroup(
settingsPanelLayout
.createSequentialGroup()
.addComponent(
lblConsType)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
lblConsensusType,
javax.swing.GroupLayout.PREFERRED_SIZE,
40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
lblPercent))
.addComponent(
sliderConsType,
javax.swing.GroupLayout.DEFAULT_SIZE,
636,
Short.MAX_VALUE)
.addGroup(
settingsPanelLayout
.createSequentialGroup()
.addComponent(
lblMR,
javax.swing.GroupLayout.PREFERRED_SIZE,
76,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(129,
129,
129)
.addComponent(
btnBuild)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
btnExport)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED,
182,
Short.MAX_VALUE)
.addComponent(
lblStrict,
javax.swing.GroupLayout.PREFERRED_SIZE,
40,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(
sliderConfidence,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
636,
Short.MAX_VALUE)
.addGroup(
settingsPanelLayout
.createSequentialGroup()
.addComponent(
lblConfInt)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
lblConfidenceInterval)))))
.addContainerGap()));
settingsPanelLayout
.setVerticalGroup(settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
settingsPanelLayout
.createSequentialGroup()
.addContainerGap()
.addComponent(lblTitle)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblCriterion)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(radioAIC)
.addComponent(radioBIC)
.addComponent(radioAICC)
.addComponent(radioDT)
.addComponent(radioLK))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(
settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
lblConfInt)
.addComponent(
lblConfidenceInterval))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
sliderConfidence,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
lblConsType)
.addComponent(
lblConsensusType)
.addComponent(
lblPercent))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
sliderConsType,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblMR)
.addComponent(lblStrict)
.addGroup(
settingsPanelLayout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
btnBuild)
.addComponent(
btnExport)))
.addContainerGap()));
displayScroll.setName("displayScroll"); // NOI18N
displayArea.setColumns(20);
displayArea.setEditable(false);
displayArea.setLineWrap(true);
displayArea.setRows(5);
displayArea.setName("displayArea"); // NOI18N
displayScroll.setViewportView(displayArea);
jMenuBar1.setName("jMenuBar1"); // NOI18N
windowMenu.setName("windowMenu"); // NOI18N
closeMenuItem.setAction(actionMap.get("Close")); // NOI18N
closeMenuItem.setName("closeMenuItem"); // NOI18N
windowMenu.add(closeMenuItem);
jMenuBar1.add(windowMenu);
editMenu.setText(resourceMap.getString("editMenu.text")); // NOI18N
editMenu.setName("editMenu"); // NOI18N
editCopyMenuItem.setAction(actionMap.get("editCopy")); // NOI18N
editCopyMenuItem.setName("editCopyMenuItem"); // NOI18N
editMenu.add(editCopyMenuItem);
selectAllMenuItem.setAction(actionMap.get("editSelectAll")); // NOI18N
selectAllMenuItem.setText(resourceMap
.getString("selectAllMenuItem.text")); // NOI18N
selectAllMenuItem.setName("selectAllMenuItem"); // NOI18N
editMenu.add(selectAllMenuItem);
jMenuBar1.add(editMenu);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap()
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(
displayScroll,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
664, Short.MAX_VALUE)
.addComponent(
settingsPanel,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addContainerGap()));
layout.setVerticalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addContainerGap()
.addComponent(settingsPanel,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(displayScroll,
javax.swing.GroupLayout.DEFAULT_SIZE,
362, Short.MAX_VALUE).addContainerGap()));
pack();
}// </editor-fold>//GEN-END:initComponents
private void sliderConfidenceStateChanged(javax.swing.event.ChangeEvent evt) {// GEN-FIRST:event_sliderConfidenceStateChanged
lblConfidenceInterval.setText(String.valueOf(Double
.valueOf(sliderConfidence.getValue()) / 100));
}// GEN-LAST:event_sliderConfidenceStateChanged
private void sliderConsTypeStateChanged(javax.swing.event.ChangeEvent evt) {// GEN-FIRST:event_sliderConsTypeStateChanged
lblConsensusType.setText(String.valueOf(Double.valueOf(sliderConsType
.getValue()) / 100));
}// GEN-LAST:event_sliderConsTypeStateChanged
@Action
public void buildConsensus() {
displayArea.setText("");
displayArea.setForeground(XProtTestView.NORMAL_COLOR);
double confidenceInterval = Double.valueOf(sliderConfidence.getValue()) / 100;
double supportThreshold = Double.valueOf(sliderConsType.getValue()) / 100;
InformationCriterion ic;
int selection;
if (radioAIC.isSelected()) {
ic = new AIC(models, confidenceInterval, models.getAlignment()
.getSiteCount());
selection = AIC_SELECTION;
} else if (radioBIC.isSelected()) {
ic = new BIC(models, confidenceInterval, models.getAlignment()
.getSiteCount());
selection = BIC_SELECTION;
} else if (radioAICC.isSelected()) {
ic = new AICc(models, confidenceInterval, models.getAlignment()
.getSiteCount());
selection = AICC_SELECTION;
} else if (radioLK.isSelected()) {
ic = new LNL(models, confidenceInterval, models.getAlignment()
.getSiteCount());
selection = LNL_SELECTION;
} else if (radioDT.isSelected()) {
ic = new DT(models, confidenceInterval, models.getAlignment()
.getSiteCount());
selection = DT_SELECTION;
} else {
ic = null;
selection = DISABLED_SELECTION;
}
logHandler.setLevel(Level.INFO);
if (ic == null || ic.getConfidenceModels().size() > 0) {
es.uvigo.darwin.prottest.consensus.Consensus consensus = null;
if (ic != null) {
consensus = facade.createConsensus(ic, supportThreshold);
} else {
throw new ProtTestInternalException(
"Consensus needs an Information Criterion");
// ArrayList<Tree> trees = new ArrayList<Tree>(models.size());
// for (Model model : models) {
// trees.add(model.getTree());
// }
// consensus = facade.createConsensus(trees, supportThreshold);
}
println("----------------------------------------");
println("Selection criterion: . . . . " + SELECTION[selection]);
println("Confidence interval: . . . . " + confidenceInterval);
println("Consensus support threshold: " + supportThreshold);
println("----------------------------------------");
// displayWriter.println("Computed models:");
// for (SelectionModel model : ic.getConfidenceModels()) {
// displayWriter.println(model.getModel().getModelName() + " (" +
// model.getWeightValue() + ")");
// }
// displayWriter.println("----------------------------------------");
println("");
println("# # # # # # # # # # # # # # # #");
println(" ");
println("Species in order:");
println(" ");
for (int i = 0; i < consensus.getIdGroup().getIdCount(); i++) {
Identifier id = consensus.getIdGroup().getIdentifier(i);
println(" " + (i + 1) + ". " + id.getName());
}
println(" ");
println("# # # # # # # # # # # # # # # #");
println(" ");
println("Sets included in the consensus tree");
println(" ");
println(consensus.getSetsIncluded());
println(" ");
println("Sets NOT included in consensus tree");
println(" ");
println(consensus.getSetsNotIncluded());
println(" ");
println("# # # # # # # # # # # # # # # #");
println(" ");
Tree consensusTree = consensus.getConsensusTree();
String newickTree = facade
.toNewick(consensusTree, true, true, true);
println(newickTree);
println(" ");
println("# # # # # # # # # # # # # # # #");
println(" ");
println(facade.toASCII(consensusTree));
println(" ");
println(facade.branchInfo(consensusTree));
println(" ");
println(facade.heightInfo(consensusTree));
} else {
displayArea.setForeground(XProtTestView.CRITIC_COLOR);
println(resourceMap.getString("msg-no-data"));
}
logHandler.setLevel(Level.OFF);
btnExport.setEnabled(!displayArea.getText().equals(""));
}
@Action
public void close() {
getDefaultLogger().removeHandler(logHandler);
this.setVisible(false);
}
@Action
public void editCopy() {
displayArea.copy();
}
@Action
public void editSelectAll() {
displayArea.selectAll();
}
private void println(String message) {
infoln(message, this.getClass());
}
@Action
public void exportData() {
mainFrame.enableHandler();
ProtTestPrinter.printTreeHeader("MODEL AVERAGED PHYLOGENY");
ProtTestLogger.getDefaultLogger().infoln(displayArea.getText());
mainFrame.disableHandler();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnBuild;
private javax.swing.JButton btnExport;
private javax.swing.ButtonGroup btnGrpCriterion;
private javax.swing.JMenuItem closeMenuItem;
private javax.swing.JTextArea displayArea;
private javax.swing.JScrollPane displayScroll;
private javax.swing.JMenuItem editCopyMenuItem;
private javax.swing.JMenu editMenu;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JLabel lblConfInt;
private javax.swing.JLabel lblConfidenceInterval;
private javax.swing.JLabel lblConsType;
private javax.swing.JLabel lblConsensusType;
private javax.swing.JLabel lblCriterion;
private javax.swing.JLabel lblMR;
private javax.swing.JLabel lblPercent;
private javax.swing.JLabel lblStrict;
private javax.swing.JLabel lblTitle;
private javax.swing.JRadioButton radioAIC;
private javax.swing.JRadioButton radioAICC;
private javax.swing.JRadioButton radioBIC;
private javax.swing.JRadioButton radioDT;
private javax.swing.JRadioButton radioLK;
private javax.swing.JMenuItem selectAllMenuItem;
private javax.swing.JPanel settingsPanel;
private javax.swing.JSlider sliderConfidence;
private javax.swing.JSlider sliderConsType;
private javax.swing.JMenu windowMenu;
// End of variables declaration//GEN-END:variables
}