mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/knnc/KNNCValidationFirstDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2005, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4 */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * KNNCValidationFirstDialog.java
2 26 Feb 07 jari 7  *
2 26 Feb 07 jari 8  * Created on May 17, 2004, 1:47 PM
2 26 Feb 07 jari 9  */
2 26 Feb 07 jari 10
2 26 Feb 07 jari 11 package org.tigr.microarray.mev.cluster.gui.impl.knnc;
2 26 Feb 07 jari 12
2 26 Feb 07 jari 13 import java.awt.Color;
2 26 Feb 07 jari 14 import java.awt.Dimension;
2 26 Feb 07 jari 15 import java.awt.GridBagConstraints;
2 26 Feb 07 jari 16 import java.awt.GridBagLayout;
2 26 Feb 07 jari 17 import java.awt.Toolkit;
2 26 Feb 07 jari 18 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 19 import java.awt.event.ActionListener;
2 26 Feb 07 jari 20 import java.awt.event.ItemEvent;
2 26 Feb 07 jari 21 import java.awt.event.ItemListener;
2 26 Feb 07 jari 22 import java.awt.event.WindowAdapter;
2 26 Feb 07 jari 23
2 26 Feb 07 jari 24 import javax.swing.ButtonGroup;
2 26 Feb 07 jari 25 import javax.swing.JCheckBox;
2 26 Feb 07 jari 26 import javax.swing.JFrame;
2 26 Feb 07 jari 27 import javax.swing.JLabel;
2 26 Feb 07 jari 28 import javax.swing.JOptionPane;
2 26 Feb 07 jari 29 import javax.swing.JPanel;
2 26 Feb 07 jari 30 import javax.swing.JRadioButton;
2 26 Feb 07 jari 31 import javax.swing.JTextField;
2 26 Feb 07 jari 32 import javax.swing.border.TitledBorder;
2 26 Feb 07 jari 33
2 26 Feb 07 jari 34 import org.tigr.microarray.mev.cluster.gui.Experiment;
2 26 Feb 07 jari 35 import org.tigr.microarray.mev.cluster.gui.IFramework;
2 26 Feb 07 jari 36 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 37 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.HCLSelectionPanel;
2 26 Feb 07 jari 38 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.dialogHelpUtil.HelpWindow;
2 26 Feb 07 jari 39
2 26 Feb 07 jari 40 /**
2 26 Feb 07 jari 41  *
2 26 Feb 07 jari 42  * @author  nbhagaba
2 26 Feb 07 jari 43  */
2 26 Feb 07 jari 44 public class KNNCValidationFirstDialog extends AlgorithmDialog {
2 26 Feb 07 jari 45     
2 26 Feb 07 jari 46     boolean okPressed = false;
2 26 Feb 07 jari 47     JRadioButton genesButton, expsButton, createNewTrgSetButton, useExistTrgSetButton;
2 26 Feb 07 jari 48     JCheckBox useCorrelFilterBox;
2 26 Feb 07 jari 49     JTextField pValueField, numClassesField, numNeighborsField, numPermsField;
2 26 Feb 07 jari 50     JLabel corrLabel, numPermsLabel;
2 26 Feb 07 jari 51     
2 26 Feb 07 jari 52     HCLSelectionPanel hclOpsPanel;
2 26 Feb 07 jari 53     
2 26 Feb 07 jari 54     IFramework framework;
2 26 Feb 07 jari 55     Experiment experiment;
2 26 Feb 07 jari 56     
2 26 Feb 07 jari 57     KNNClassificationEditor knnEditor;
2 26 Feb 07 jari 58     
2 26 Feb 07 jari 59     int numExps, numGenes;
2 26 Feb 07 jari 60     
2 26 Feb 07 jari 61     /** Creates a new instance of KNNCValidationFirstDialog */
2 26 Feb 07 jari 62     public KNNCValidationFirstDialog(JFrame parentFrame, boolean modality, IFramework framework_1) {
2 26 Feb 07 jari 63         super(parentFrame, "KNN Validation", modality);
2 26 Feb 07 jari 64         okButton.setText("Next >");
2 26 Feb 07 jari 65         setBounds(0, 0, 550, 550);
2 26 Feb 07 jari 66         setBackground(Color.white);
2 26 Feb 07 jari 67         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
2 26 Feb 07 jari 68         
2 26 Feb 07 jari 69         this.framework = framework_1;
2 26 Feb 07 jari 70         this.experiment = framework.getData().getExperiment();
2 26 Feb 07 jari 71         //this.knnEditor = new KNNClassificationEditor(framework, true, 5);
2 26 Feb 07 jari 72         
2 26 Feb 07 jari 73         numExps = experiment.getNumberOfSamples();
2 26 Feb 07 jari 74         numGenes = experiment.getNumberOfGenes();
2 26 Feb 07 jari 75         
2 26 Feb 07 jari 76         GridBagLayout gridbag = new GridBagLayout();
2 26 Feb 07 jari 77         GridBagConstraints constraints = new GridBagConstraints();
2 26 Feb 07 jari 78         
2 26 Feb 07 jari 79         JPanel mainPanel = new JPanel();
2 26 Feb 07 jari 80         mainPanel.setLayout(gridbag);
2 26 Feb 07 jari 81         
2 26 Feb 07 jari 82         useCorrelFilterBox = new JCheckBox("Use correlation filter", false);
2 26 Feb 07 jari 83         
2 26 Feb 07 jari 84         JPanel genesOrExpsPanel = new JPanel();
2 26 Feb 07 jari 85         genesOrExpsPanel.setBackground(Color.white);
2 26 Feb 07 jari 86         genesOrExpsPanel.setBorder(new TitledBorder("Classify genes or samples"));
2 26 Feb 07 jari 87         GridBagLayout grid1 = new GridBagLayout();
2 26 Feb 07 jari 88         genesOrExpsPanel.setLayout(grid1);
2 26 Feb 07 jari 89         
2 26 Feb 07 jari 90         genesButton = new JRadioButton("Classify genes", true);
2 26 Feb 07 jari 91         genesButton.setBackground(Color.white);
2 26 Feb 07 jari 92         expsButton = new JRadioButton("Classify samples", false);
2 26 Feb 07 jari 93         expsButton.setBackground(Color.white);
2 26 Feb 07 jari 94         
2 26 Feb 07 jari 95         ButtonGroup genesOrExpsGroup = new ButtonGroup();
2 26 Feb 07 jari 96         genesOrExpsGroup.add(genesButton);
2 26 Feb 07 jari 97         genesOrExpsGroup.add(expsButton);
2 26 Feb 07 jari 98         
2 26 Feb 07 jari 99         buildConstraints(constraints, 0, 0, 1, 1, 50, 100);
2 26 Feb 07 jari 100         grid1.setConstraints(genesButton, constraints);
2 26 Feb 07 jari 101         genesOrExpsPanel.add(genesButton);
2 26 Feb 07 jari 102         
2 26 Feb 07 jari 103         buildConstraints(constraints, 1, 0, 1, 1, 50, 0);
2 26 Feb 07 jari 104         grid1.setConstraints(expsButton, constraints);
2 26 Feb 07 jari 105         genesOrExpsPanel.add(expsButton);
2 26 Feb 07 jari 106         
2 26 Feb 07 jari 107         buildConstraints(constraints, 0, 0, 1, 1, 100, 10);
2 26 Feb 07 jari 108         constraints.fill = GridBagConstraints.BOTH;
2 26 Feb 07 jari 109         gridbag.setConstraints(genesOrExpsPanel, constraints);
2 26 Feb 07 jari 110         mainPanel.add(genesOrExpsPanel);
2 26 Feb 07 jari 111         
2 26 Feb 07 jari 112         constraints.fill = GridBagConstraints.NONE;
2 26 Feb 07 jari 113         
2 26 Feb 07 jari 114         JPanel correlPanel = new JPanel();
2 26 Feb 07 jari 115         correlPanel.setBackground(Color.white);
2 26 Feb 07 jari 116         correlPanel.setBorder(new TitledBorder("Correlation filter"));
2 26 Feb 07 jari 117         GridBagLayout grid2 = new GridBagLayout();
2 26 Feb 07 jari 118         correlPanel.setLayout(grid2);
2 26 Feb 07 jari 119         
2 26 Feb 07 jari 120         //useCorrelFilterBox = new JCheckBox("Use correlation filter", false);
2 26 Feb 07 jari 121         useCorrelFilterBox.setBackground(Color.white);
2 26 Feb 07 jari 122         corrLabel = new JLabel("          Cutoff p-value for correlation: ");
2 26 Feb 07 jari 123         corrLabel.setEnabled(false);
2 26 Feb 07 jari 124         numPermsLabel = new JLabel("          Number of permutations for correlation test: ");
2 26 Feb 07 jari 125         numPermsLabel.setEnabled(false);
2 26 Feb 07 jari 126         pValueField = new JTextField("0.01",7);
2 26 Feb 07 jari 127         pValueField.setEnabled(false);
2 26 Feb 07 jari 128         pValueField.setBackground(Color.gray);
2 26 Feb 07 jari 129         numPermsField = new JTextField("1000",7);
2 26 Feb 07 jari 130         numPermsField.setEnabled(false);
2 26 Feb 07 jari 131         numPermsField.setBackground(Color.gray);
2 26 Feb 07 jari 132         
2 26 Feb 07 jari 133         useCorrelFilterBox.addItemListener(new ItemListener() {
2 26 Feb 07 jari 134             public void itemStateChanged(ItemEvent evt) {
2 26 Feb 07 jari 135                 if (evt.getStateChange() == ItemEvent.DESELECTED) {
2 26 Feb 07 jari 136                     corrLabel.setEnabled(false);
2 26 Feb 07 jari 137                     numPermsLabel.setEnabled(false);
2 26 Feb 07 jari 138                     pValueField.setEnabled(false);
2 26 Feb 07 jari 139                     pValueField.setBackground(Color.gray);
2 26 Feb 07 jari 140                     numPermsField.setEnabled(false);
2 26 Feb 07 jari 141                     numPermsField.setBackground(Color.gray);
2 26 Feb 07 jari 142                 } else {
2 26 Feb 07 jari 143                     corrLabel.setEnabled(true);
2 26 Feb 07 jari 144                     numPermsLabel.setEnabled(true);
2 26 Feb 07 jari 145                     pValueField.setEnabled(true);
2 26 Feb 07 jari 146                     pValueField.setBackground(Color.white);
2 26 Feb 07 jari 147                     numPermsField.setEnabled(true);
2 26 Feb 07 jari 148                     numPermsField.setBackground(Color.white);
2 26 Feb 07 jari 149                 }
2 26 Feb 07 jari 150             }
2 26 Feb 07 jari 151         });
2 26 Feb 07 jari 152         
2 26 Feb 07 jari 153         buildConstraints(constraints, 0, 0, 1, 1, 100, 34);
2 26 Feb 07 jari 154         grid2.setConstraints(useCorrelFilterBox, constraints);
2 26 Feb 07 jari 155         correlPanel.add(useCorrelFilterBox);
2 26 Feb 07 jari 156         
2 26 Feb 07 jari 157         //corrLabel = new JLabel("Cutoff p-value for correlation: ");
2 26 Feb 07 jari 158         buildConstraints(constraints, 0, 1, 1, 1, 70, 33);
2 26 Feb 07 jari 159         grid2.setConstraints(corrLabel, constraints);
2 26 Feb 07 jari 160         correlPanel.add(corrLabel);
2 26 Feb 07 jari 161         
2 26 Feb 07 jari 162         //pValueField = new JTextField(7);
2 26 Feb 07 jari 163         buildConstraints(constraints, 1, 1, 1, 1, 30, 0);
2 26 Feb 07 jari 164         grid2.setConstraints(pValueField, constraints);
2 26 Feb 07 jari 165         correlPanel.add(pValueField);
2 26 Feb 07 jari 166         
2 26 Feb 07 jari 167         buildConstraints(constraints, 0, 2, 1, 1, 70, 33);
2 26 Feb 07 jari 168         grid2.setConstraints(numPermsLabel, constraints);
2 26 Feb 07 jari 169         correlPanel.add(numPermsLabel);
2 26 Feb 07 jari 170         
2 26 Feb 07 jari 171         //pValueField = new JTextField(7);
2 26 Feb 07 jari 172         buildConstraints(constraints, 1, 2, 1, 1, 30, 0);
2 26 Feb 07 jari 173         grid2.setConstraints(numPermsField, constraints);
2 26 Feb 07 jari 174         correlPanel.add(numPermsField);
2 26 Feb 07 jari 175         
2 26 Feb 07 jari 176         buildConstraints(constraints, 0, 1, 1, 1, 100, 25);
2 26 Feb 07 jari 177         constraints.fill = GridBagConstraints.BOTH;
2 26 Feb 07 jari 178         gridbag.setConstraints(correlPanel, constraints);
2 26 Feb 07 jari 179         mainPanel.add(correlPanel);
2 26 Feb 07 jari 180         
2 26 Feb 07 jari 181         constraints.fill = GridBagConstraints.NONE;
2 26 Feb 07 jari 182         
2 26 Feb 07 jari 183         JPanel knnParamPanel = new JPanel();
2 26 Feb 07 jari 184         knnParamPanel.setBackground(Color.white);
2 26 Feb 07 jari 185         knnParamPanel.setBorder(new TitledBorder("KNN classification parameters"));
2 26 Feb 07 jari 186         GridBagLayout grid4 = new GridBagLayout();
2 26 Feb 07 jari 187         knnParamPanel.setLayout(grid4);
2 26 Feb 07 jari 188         
2 26 Feb 07 jari 189         JLabel numClassesLabel = new JLabel("          Number of classes");
2 26 Feb 07 jari 190         buildConstraints(constraints, 0, 0, 1, 1, 50, 50);
2 26 Feb 07 jari 191         grid4.setConstraints(numClassesLabel, constraints);
2 26 Feb 07 jari 192         knnParamPanel.add(numClassesLabel);
2 26 Feb 07 jari 193         
2 26 Feb 07 jari 194         numClassesField = new JTextField("5", 7);
2 26 Feb 07 jari 195         buildConstraints(constraints, 1, 0, 1, 1, 50, 0);
2 26 Feb 07 jari 196         grid4.setConstraints(numClassesField, constraints);
2 26 Feb 07 jari 197         knnParamPanel.add(numClassesField);
2 26 Feb 07 jari 198         
2 26 Feb 07 jari 199         JLabel numNeighborsLabel = new JLabel("          Number of neighbors");
2 26 Feb 07 jari 200         buildConstraints(constraints, 0, 1, 1, 1, 50, 50);
2 26 Feb 07 jari 201         grid4.setConstraints(numNeighborsLabel, constraints);
2 26 Feb 07 jari 202         knnParamPanel.add(numNeighborsLabel);
2 26 Feb 07 jari 203         
2 26 Feb 07 jari 204         numNeighborsField = new JTextField("3", 7);
2 26 Feb 07 jari 205         buildConstraints(constraints, 1, 1, 1, 1, 50, 0);
2 26 Feb 07 jari 206         grid4.setConstraints(numNeighborsField, constraints);
2 26 Feb 07 jari 207         knnParamPanel.add(numNeighborsField);
2 26 Feb 07 jari 208         
2 26 Feb 07 jari 209         buildConstraints(constraints, 0, 2, 1, 1, 100, 25);
2 26 Feb 07 jari 210         constraints.fill = GridBagConstraints.BOTH;
2 26 Feb 07 jari 211         gridbag.setConstraints(knnParamPanel, constraints);
2 26 Feb 07 jari 212         mainPanel.add(knnParamPanel);
2 26 Feb 07 jari 213         
2 26 Feb 07 jari 214         constraints.fill = GridBagConstraints.NONE;
2 26 Feb 07 jari 215         
2 26 Feb 07 jari 216         JPanel makeTrainingSetPanel = new JPanel();
2 26 Feb 07 jari 217         makeTrainingSetPanel.setBackground(Color.white);
2 26 Feb 07 jari 218         makeTrainingSetPanel.setBorder(new TitledBorder("Create / import training set"));
2 26 Feb 07 jari 219         GridBagLayout grid5 = new GridBagLayout();
2 26 Feb 07 jari 220         makeTrainingSetPanel.setLayout(grid5);
2 26 Feb 07 jari 221         
2 26 Feb 07 jari 222         createNewTrgSetButton = new JRadioButton("Create new training set from data", true);
2 26 Feb 07 jari 223         createNewTrgSetButton.setBackground(Color.white);
2 26 Feb 07 jari 224         useExistTrgSetButton = new JRadioButton("Use previously created training set from file", false);
2 26 Feb 07 jari 225         useExistTrgSetButton.setBackground(Color.white);
2 26 Feb 07 jari 226         
2 26 Feb 07 jari 227         ButtonGroup newOrExisting = new ButtonGroup();
2 26 Feb 07 jari 228         newOrExisting.add(createNewTrgSetButton);
2 26 Feb 07 jari 229         newOrExisting.add(useExistTrgSetButton);
2 26 Feb 07 jari 230         
2 26 Feb 07 jari 231         buildConstraints(constraints, 0, 0, 1, 1, 100, 50);
2 26 Feb 07 jari 232         constraints.anchor = GridBagConstraints.CENTER;
2 26 Feb 07 jari 233         grid5.setConstraints(createNewTrgSetButton, constraints);
2 26 Feb 07 jari 234         makeTrainingSetPanel.add(createNewTrgSetButton);
2 26 Feb 07 jari 235         
2 26 Feb 07 jari 236         buildConstraints(constraints, 0, 1, 1, 1, 0, 50);
2 26 Feb 07 jari 237         grid5.setConstraints(useExistTrgSetButton, constraints);
2 26 Feb 07 jari 238         makeTrainingSetPanel.add(useExistTrgSetButton);
2 26 Feb 07 jari 239         
2 26 Feb 07 jari 240         buildConstraints(constraints, 0, 3, 1, 1, 100, 30);
2 26 Feb 07 jari 241         constraints.anchor = GridBagConstraints.WEST;
2 26 Feb 07 jari 242         constraints.fill = GridBagConstraints.BOTH;
2 26 Feb 07 jari 243         gridbag.setConstraints(makeTrainingSetPanel, constraints);
2 26 Feb 07 jari 244         mainPanel.add(makeTrainingSetPanel);
2 26 Feb 07 jari 245         
2 26 Feb 07 jari 246         constraints.fill = GridBagConstraints.NONE;
2 26 Feb 07 jari 247         
2 26 Feb 07 jari 248         hclOpsPanel = new HCLSelectionPanel();
2 26 Feb 07 jari 249         buildConstraints(constraints, 0, 4, 1, 1, 100, 10);
2 26 Feb 07 jari 250         constraints.fill = GridBagConstraints.BOTH;
2 26 Feb 07 jari 251         gridbag.setConstraints(hclOpsPanel, constraints);
2 26 Feb 07 jari 252         mainPanel.add(hclOpsPanel);
2 26 Feb 07 jari 253         
2 26 Feb 07 jari 254         addContent(mainPanel);
2 26 Feb 07 jari 255         EventListener listener = new EventListener();
2 26 Feb 07 jari 256         setActionListeners(listener);
2 26 Feb 07 jari 257         this.addWindowListener(listener);
2 26 Feb 07 jari 258     }
2 26 Feb 07 jari 259     
2 26 Feb 07 jari 260     public void setVisible(boolean visible) {
2 26 Feb 07 jari 261         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 262         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 263         
2 26 Feb 07 jari 264         super.setVisible(visible);
2 26 Feb 07 jari 265     }
2 26 Feb 07 jari 266     
2 26 Feb 07 jari 267     void buildConstraints(GridBagConstraints gbc, int gx, int gy,
2 26 Feb 07 jari 268     int gw, int gh, int wx, int wy) {
2 26 Feb 07 jari 269         
2 26 Feb 07 jari 270         gbc.gridx = gx;
2 26 Feb 07 jari 271         gbc.gridy = gy;
2 26 Feb 07 jari 272         gbc.gridwidth = gw;
2 26 Feb 07 jari 273         gbc.gridheight = gh;
2 26 Feb 07 jari 274         gbc.weightx = wx;
2 26 Feb 07 jari 275         gbc.weighty = wy;
2 26 Feb 07 jari 276     }
2 26 Feb 07 jari 277     
2 26 Feb 07 jari 278     public boolean isOkPressed() {
2 26 Feb 07 jari 279         return okPressed;
2 26 Feb 07 jari 280     }
2 26 Feb 07 jari 281     
2 26 Feb 07 jari 282     public boolean drawTrees() {
2 26 Feb 07 jari 283         return this.hclOpsPanel.isHCLSelected();
2 26 Feb 07 jari 284     }
2 26 Feb 07 jari 285     
2 26 Feb 07 jari 286     public boolean classifyGenes() {
2 26 Feb 07 jari 287         return genesButton.isSelected();
2 26 Feb 07 jari 288     }
2 26 Feb 07 jari 289     
2 26 Feb 07 jari 290     public int getNumClasses() {
2 26 Feb 07 jari 291         String s = numClassesField.getText();
2 26 Feb 07 jari 292         return Integer.parseInt(s);
2 26 Feb 07 jari 293     }
2 26 Feb 07 jari 294     
2 26 Feb 07 jari 295     public boolean createNewTrgSet() {
2 26 Feb 07 jari 296         return createNewTrgSetButton.isSelected();
2 26 Feb 07 jari 297     }
2 26 Feb 07 jari 298     
2 26 Feb 07 jari 299     public boolean useCorrelFilter() {
2 26 Feb 07 jari 300         return useCorrelFilterBox.isSelected();
2 26 Feb 07 jari 301     }
2 26 Feb 07 jari 302     
2 26 Feb 07 jari 303     public double getCorrPValue() {
2 26 Feb 07 jari 304         return Double.parseDouble(pValueField.getText());
2 26 Feb 07 jari 305     }
2 26 Feb 07 jari 306     
2 26 Feb 07 jari 307     public int getNumPerms() {
2 26 Feb 07 jari 308         return Integer.parseInt(numPermsField.getText());
2 26 Feb 07 jari 309     }
2 26 Feb 07 jari 310     
2 26 Feb 07 jari 311     public int getNumNeighbors() {
2 26 Feb 07 jari 312         return Integer.parseInt(numNeighborsField.getText());
2 26 Feb 07 jari 313     }
2 26 Feb 07 jari 314     
2 26 Feb 07 jari 315     
2 26 Feb 07 jari 316     public class EventListener extends WindowAdapter implements ActionListener{
2 26 Feb 07 jari 317         
2 26 Feb 07 jari 318         public void actionPerformed(ActionEvent ae) {
2 26 Feb 07 jari 319             String command = ae.getActionCommand();
2 26 Feb 07 jari 320             if(command.equals("ok-command")){
2 26 Feb 07 jari 321                 try {
2 26 Feb 07 jari 322                     if (useCorrelFilterBox.isSelected()) {
2 26 Feb 07 jari 323                         double val2 = (new Double(pValueField.getText())).doubleValue();
2 26 Feb 07 jari 324                         if (val2 < 0 || val2 > 1) {
2 26 Feb 07 jari 325                             JOptionPane.showMessageDialog(KNNCValidationFirstDialog.this, "Correlation p-value must be between 0 and 1", "Error!", JOptionPane.WARNING_MESSAGE);
2 26 Feb 07 jari 326                             return;
2 26 Feb 07 jari 327                         }
2 26 Feb 07 jari 328                         double validateNumPerms = (new Double(numPermsField.getText())).doubleValue();
2 26 Feb 07 jari 329                         if (validateNumPerms <= 0) {
2 26 Feb 07 jari 330                             JOptionPane.showMessageDialog(KNNCValidationFirstDialog.this, "Number of permutations must be > 0", "Error!", JOptionPane.WARNING_MESSAGE);
2 26 Feb 07 jari 331                             return;
2 26 Feb 07 jari 332                         }
2 26 Feb 07 jari 333                     }
2 26 Feb 07 jari 334                     int val3 = (new Integer(numClassesField.getText())).intValue();
2 26 Feb 07 jari 335                     if ( (val3 <= 0 || val3 >= numGenes) && (genesButton.isSelected()) ) {
2 26 Feb 07 jari 336                         JOptionPane.showMessageDialog(KNNCValidationFirstDialog.this, "Number of classes must be > 0 and < " + numGenes, "Error!", JOptionPane.WARNING_MESSAGE);
2 26 Feb 07 jari 337                         return;
2 26 Feb 07 jari 338                     }
2 26 Feb 07 jari 339                     if ( (val3 <= 0 || val3 >= numExps) && (expsButton.isSelected()) ) {
2 26 Feb 07 jari 340                         JOptionPane.showMessageDialog(KNNCValidationFirstDialog.this, "Number of classes must be > 0 and < " + numExps, "Error!", JOptionPane.WARNING_MESSAGE);
2 26 Feb 07 jari 341                         return;
2 26 Feb 07 jari 342                     }
2 26 Feb 07 jari 343                     int val4 = (new Integer(numNeighborsField.getText())).intValue();
2 26 Feb 07 jari 344                     if (genesButton.isSelected()) {
2 26 Feb 07 jari 345                         if (val4 <= 0 || val4 > numGenes) {
2 26 Feb 07 jari 346                             JOptionPane.showMessageDialog(KNNCValidationFirstDialog.this, "Number of neighbors must be > 0 and <= " + numGenes, "Error!", JOptionPane.WARNING_MESSAGE);
2 26 Feb 07 jari 347                             return;
2 26 Feb 07 jari 348                         }
2 26 Feb 07 jari 349                     } else {
2 26 Feb 07 jari 350                         if (val4 <= 0 || val4 > numExps) {
2 26 Feb 07 jari 351                             JOptionPane.showMessageDialog(KNNCValidationFirstDialog.this, "Number of neighbors must be > 0 and <= " + numExps, "Error!", JOptionPane.WARNING_MESSAGE);
2 26 Feb 07 jari 352                             return;
2 26 Feb 07 jari 353                         }
2 26 Feb 07 jari 354                     }
2 26 Feb 07 jari 355                     okPressed = true;
2 26 Feb 07 jari 356                     dispose();
2 26 Feb 07 jari 357                 } catch (Exception e) {
2 26 Feb 07 jari 358                     JOptionPane.showMessageDialog(KNNCValidationFirstDialog.this, "Invalid format for at least one parameter", "Error!", JOptionPane.WARNING_MESSAGE);
2 26 Feb 07 jari 359                 }
2 26 Feb 07 jari 360                 
2 26 Feb 07 jari 361             } else if (command.equals("reset-command")) {
2 26 Feb 07 jari 362                 okPressed = false;
2 26 Feb 07 jari 363                 genesButton.setSelected(true);
2 26 Feb 07 jari 364                 expsButton.setSelected(false);
2 26 Feb 07 jari 365                 //useVarianceFilterBox.setSelected(false);
2 26 Feb 07 jari 366                 useCorrelFilterBox.setSelected(false);
2 26 Feb 07 jari 367                 //useVarianceFilterBox.setText("Use variance filter (if unchecked, use all genes)");
2 26 Feb 07 jari 368                 //useCorrelFilterBox.setText("Use correlation filter (if unchecked, use all genes)");
2 26 Feb 07 jari 369                 //varLabel.setText("          Use only the following number of highest-variance genes: ");
2 26 Feb 07 jari 370                 //numGenesField.setText("1000");
2 26 Feb 07 jari 371                 pValueField.setText("0.01");
2 26 Feb 07 jari 372                 numPermsField.setText("1000");
2 26 Feb 07 jari 373                 numClassesField.setText("5");
2 26 Feb 07 jari 374                 numNeighborsField.setText("3");
2 26 Feb 07 jari 375                 //trgSetFromCurrent.setSelected(true);
2 26 Feb 07 jari 376                 //createNewTrgSetButton.setSelected(true);
2 26 Feb 07 jari 377                 //annotSelectBox.setSelectedIndex(0);
2 26 Feb 07 jari 378                 hclOpsPanel.setHCLSelected(false);
2 26 Feb 07 jari 379             }  else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 380                 okPressed = false;
2 26 Feb 07 jari 381                 dispose();
2 26 Feb 07 jari 382             }  else if (command.equals("info-command")){
2 26 Feb 07 jari 383                 HelpWindow hw = new HelpWindow(KNNCValidationFirstDialog.this, "KNNC Validataion Parameter Selections");
2 26 Feb 07 jari 384                 okPressed = false;
2 26 Feb 07 jari 385                 if(hw.getWindowContent()){
2 26 Feb 07 jari 386                     hw.setSize(450,600);
2 26 Feb 07 jari 387                     hw.setLocation();
2 26 Feb 07 jari 388                     hw.show();
2 26 Feb 07 jari 389                     return;
2 26 Feb 07 jari 390                     
2 26 Feb 07 jari 391                 }
2 26 Feb 07 jari 392                 else {
2 26 Feb 07 jari 393                     hw.setVisible(false);
2 26 Feb 07 jari 394                     hw.dispose();
2 26 Feb 07 jari 395                     return;
2 26 Feb 07 jari 396                 }
2 26 Feb 07 jari 397                 
2 26 Feb 07 jari 398             }
2 26 Feb 07 jari 399         }
2 26 Feb 07 jari 400         
2 26 Feb 07 jari 401     }
2 26 Feb 07 jari 402 }