mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/svm/SVMTrain_ClassifierSelectDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2003, 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  * $RCSfile: SVMTrain_ClassifierSelectDialog.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.3 $
2 26 Feb 07 jari 8  * $Date: 2005/03/10 20:21:56 $
2 26 Feb 07 jari 9  * $Author: braistedj $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12
2 26 Feb 07 jari 13 package org.tigr.microarray.mev.cluster.gui.impl.svm;
2 26 Feb 07 jari 14
2 26 Feb 07 jari 15 import java.awt.Dimension;
2 26 Feb 07 jari 16 import java.awt.Toolkit;
2 26 Feb 07 jari 17 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 18 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 19
2 26 Feb 07 jari 20 import javax.swing.JOptionPane;
2 26 Feb 07 jari 21
2 26 Feb 07 jari 22 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener;
2 26 Feb 07 jari 23
2 26 Feb 07 jari 24 public class SVMTrain_ClassifierSelectDialog extends javax.swing.JDialog {
2 26 Feb 07 jari 25     
2 26 Feb 07 jari 26     int result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 27     
2 26 Feb 07 jari 28     /** Creates new form SVMTrain_ClassifierSelectDialog */
2 26 Feb 07 jari 29     public SVMTrain_ClassifierSelectDialog(java.awt.Frame parent, boolean modal) {
2 26 Feb 07 jari 30         super(parent, modal);
2 26 Feb 07 jari 31         initComponents();
2 26 Feb 07 jari 32         Listener listener = new Listener();
2 26 Feb 07 jari 33         
2 26 Feb 07 jari 34         this.continueButton.addActionListener(listener);
2 26 Feb 07 jari 35         this.continueButton.setActionCommand("ok-command"); 
2 26 Feb 07 jari 36         
2 26 Feb 07 jari 37         this.cancelButton.addActionListener(listener);
2 26 Feb 07 jari 38         this.cancelButton.setActionCommand("cancel-command");
2 26 Feb 07 jari 39     }
2 26 Feb 07 jari 40     
2 26 Feb 07 jari 41     /** This method is called from within the constructor to
2 26 Feb 07 jari 42      * initialize the form.
2 26 Feb 07 jari 43      * WARNING: Do NOT modify this code. The content of this method is
2 26 Feb 07 jari 44      * always regenerated by the Form Editor.
2 26 Feb 07 jari 45      */
2 26 Feb 07 jari 46     private void initComponents() {//GEN-BEGIN:initComponents
2 26 Feb 07 jari 47         java.awt.GridBagConstraints gridBagConstraints;
2 26 Feb 07 jari 48
2 26 Feb 07 jari 49         sampleSelection = new javax.swing.ButtonGroup();
2 26 Feb 07 jari 50         processSelection = new javax.swing.ButtonGroup();
2 26 Feb 07 jari 51         jPanel1 = new javax.swing.JPanel();
2 26 Feb 07 jari 52         runGenes = new javax.swing.JRadioButton();
2 26 Feb 07 jari 53         runExperiments = new javax.swing.JRadioButton();
2 26 Feb 07 jari 54         jPanel2 = new javax.swing.JPanel();
2 26 Feb 07 jari 55         trainAndClassifyButton = new javax.swing.JRadioButton();
2 26 Feb 07 jari 56         trainOnlyButton = new javax.swing.JRadioButton();
2 26 Feb 07 jari 57         classifyOnlyButton = new javax.swing.JRadioButton();
2 26 Feb 07 jari 58         jPanel4 = new javax.swing.JPanel();
2 26 Feb 07 jari 59         continueButton = new javax.swing.JButton();
2 26 Feb 07 jari 60         cancelButton = new javax.swing.JButton();
2 26 Feb 07 jari 61         jPanel3 = new javax.swing.JPanel();
2 26 Feb 07 jari 62         calcHCLCheckBox = new javax.swing.JCheckBox();
2 26 Feb 07 jari 63
2 26 Feb 07 jari 64         getContentPane().setLayout(new java.awt.GridBagLayout());
2 26 Feb 07 jari 65
2 26 Feb 07 jari 66         setTitle("SVM Sample and Process Selection");
2 26 Feb 07 jari 67         setBackground(java.awt.Color.lightGray);
2 26 Feb 07 jari 68         addWindowListener(new java.awt.event.WindowAdapter() {
2 26 Feb 07 jari 69             public void windowClosing(java.awt.event.WindowEvent evt) {
2 26 Feb 07 jari 70                 closeDialog(evt);
2 26 Feb 07 jari 71             }
2 26 Feb 07 jari 72         });
2 26 Feb 07 jari 73
2 26 Feb 07 jari 74         jPanel1.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 75         jPanel1.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(javax.swing.border.EtchedBorder.RAISED), "Evaluation Selection", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 14)));
2 26 Feb 07 jari 76         runGenes.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 77         runGenes.setSelected(true);
2 26 Feb 07 jari 78         runGenes.setText("Classify Genes");
2 26 Feb 07 jari 79         runGenes.setToolTipText("");
2 26 Feb 07 jari 80         sampleSelection.add(runGenes);
2 26 Feb 07 jari 81         runGenes.setFocusPainted(false);
2 26 Feb 07 jari 82         jPanel1.add(runGenes);
2 26 Feb 07 jari 83
2 26 Feb 07 jari 84         runExperiments.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 85         runExperiments.setText("Classify Experiments");
2 26 Feb 07 jari 86         sampleSelection.add(runExperiments);
2 26 Feb 07 jari 87         runExperiments.setFocusPainted(false);
2 26 Feb 07 jari 88         jPanel1.add(runExperiments);
2 26 Feb 07 jari 89
2 26 Feb 07 jari 90         gridBagConstraints = new java.awt.GridBagConstraints();
2 26 Feb 07 jari 91         gridBagConstraints.gridx = 0;
2 26 Feb 07 jari 92         gridBagConstraints.gridy = 0;
2 26 Feb 07 jari 93         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
2 26 Feb 07 jari 94         gridBagConstraints.insets = new java.awt.Insets(4, 0, 0, 0);
2 26 Feb 07 jari 95         getContentPane().add(jPanel1, gridBagConstraints);
2 26 Feb 07 jari 96
2 26 Feb 07 jari 97         jPanel2.setLayout(new java.awt.GridBagLayout());
2 26 Feb 07 jari 98
2 26 Feb 07 jari 99         jPanel2.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 100         jPanel2.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(javax.swing.border.EtchedBorder.RAISED), "SVM Process Selection", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 14)));
2 26 Feb 07 jari 101         trainAndClassifyButton.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 102         trainAndClassifyButton.setSelected(true);
2 26 Feb 07 jari 103         trainAndClassifyButton.setText("Train SVM then Classify");
2 26 Feb 07 jari 104         trainAndClassifyButton.setToolTipText("Train SMV then immediately classify");
2 26 Feb 07 jari 105         processSelection.add(trainAndClassifyButton);
2 26 Feb 07 jari 106         trainAndClassifyButton.setFocusPainted(false);
2 26 Feb 07 jari 107         gridBagConstraints = new java.awt.GridBagConstraints();
2 26 Feb 07 jari 108         gridBagConstraints.gridx = 0;
2 26 Feb 07 jari 109         gridBagConstraints.gridy = 0;
2 26 Feb 07 jari 110         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
2 26 Feb 07 jari 111         gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 0);
2 26 Feb 07 jari 112         jPanel2.add(trainAndClassifyButton, gridBagConstraints);
2 26 Feb 07 jari 113
2 26 Feb 07 jari 114         trainOnlyButton.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 115         trainOnlyButton.setText("Train SVM (skip classify)");
2 26 Feb 07 jari 116         trainOnlyButton.setToolTipText("Train SVM only... output are result SVM weights");
2 26 Feb 07 jari 117         processSelection.add(trainOnlyButton);
2 26 Feb 07 jari 118         trainOnlyButton.setFocusPainted(false);
2 26 Feb 07 jari 119         gridBagConstraints = new java.awt.GridBagConstraints();
2 26 Feb 07 jari 120         gridBagConstraints.gridx = 0;
2 26 Feb 07 jari 121         gridBagConstraints.gridy = 1;
2 26 Feb 07 jari 122         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
2 26 Feb 07 jari 123         gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 0);
2 26 Feb 07 jari 124         jPanel2.add(trainOnlyButton, gridBagConstraints);
2 26 Feb 07 jari 125
2 26 Feb 07 jari 126         classifyOnlyButton.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 127         classifyOnlyButton.setText("Classify using existing SVM file");
2 26 Feb 07 jari 128         classifyOnlyButton.setToolTipText("Trains current data using and SVM file of weights");
2 26 Feb 07 jari 129         processSelection.add(classifyOnlyButton);
2 26 Feb 07 jari 130         classifyOnlyButton.setFocusPainted(false);
2 26 Feb 07 jari 131         gridBagConstraints = new java.awt.GridBagConstraints();
2 26 Feb 07 jari 132         gridBagConstraints.gridx = 0;
2 26 Feb 07 jari 133         gridBagConstraints.gridy = 2;
2 26 Feb 07 jari 134         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
2 26 Feb 07 jari 135         gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 0);
2 26 Feb 07 jari 136         jPanel2.add(classifyOnlyButton, gridBagConstraints);
2 26 Feb 07 jari 137
2 26 Feb 07 jari 138         gridBagConstraints = new java.awt.GridBagConstraints();
2 26 Feb 07 jari 139         gridBagConstraints.gridx = 0;
2 26 Feb 07 jari 140         gridBagConstraints.gridy = 1;
2 26 Feb 07 jari 141         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
2 26 Feb 07 jari 142         getContentPane().add(jPanel2, gridBagConstraints);
2 26 Feb 07 jari 143
2 26 Feb 07 jari 144         continueButton.setText("Continue");
2 26 Feb 07 jari 145         jPanel4.add(continueButton);
2 26 Feb 07 jari 146
2 26 Feb 07 jari 147         cancelButton.setText("Cancel");
2 26 Feb 07 jari 148         jPanel4.add(cancelButton);
2 26 Feb 07 jari 149
2 26 Feb 07 jari 150         gridBagConstraints = new java.awt.GridBagConstraints();
2 26 Feb 07 jari 151         gridBagConstraints.gridx = 0;
2 26 Feb 07 jari 152         gridBagConstraints.gridy = 3;
2 26 Feb 07 jari 153         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
2 26 Feb 07 jari 154         getContentPane().add(jPanel4, gridBagConstraints);
2 26 Feb 07 jari 155
2 26 Feb 07 jari 156         jPanel3.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 157         jPanel3.setBorder(new javax.swing.border.TitledBorder(new javax.swing.border.EtchedBorder(), "Hierarchical Clustering", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 14)));
2 26 Feb 07 jari 158         jPanel3.setMinimumSize(new java.awt.Dimension(310, 55));
2 26 Feb 07 jari 159         jPanel3.setPreferredSize(new java.awt.Dimension(310, 55));
2 26 Feb 07 jari 160         calcHCLCheckBox.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 161         calcHCLCheckBox.setText("Calculate Hierarchical Clustering on SVM Results");
2 26 Feb 07 jari 162         calcHCLCheckBox.setBorder(new javax.swing.border.CompoundBorder());
2 26 Feb 07 jari 163         calcHCLCheckBox.setFocusPainted(false);
2 26 Feb 07 jari 164         jPanel3.add(calcHCLCheckBox);
2 26 Feb 07 jari 165
2 26 Feb 07 jari 166         gridBagConstraints = new java.awt.GridBagConstraints();
2 26 Feb 07 jari 167         gridBagConstraints.gridx = 0;
2 26 Feb 07 jari 168         gridBagConstraints.gridy = 2;
2 26 Feb 07 jari 169         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
2 26 Feb 07 jari 170         getContentPane().add(jPanel3, gridBagConstraints);
2 26 Feb 07 jari 171
2 26 Feb 07 jari 172         pack();
2 26 Feb 07 jari 173     }//GEN-END:initComponents
2 26 Feb 07 jari 174     
2 26 Feb 07 jari 175     /** Closes the dialog */
2 26 Feb 07 jari 176     private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
2 26 Feb 07 jari 177         setVisible(false);
2 26 Feb 07 jari 178         dispose();
2 26 Feb 07 jari 179     }//GEN-LAST:event_closeDialog
2 26 Feb 07 jari 180      
2 26 Feb 07 jari 181     /**
2 26 Feb 07 jari 182      * Returns true if gene SVM's are to be evaluated
2 26 Feb 07 jari 183      */
2 26 Feb 07 jari 184     public boolean isEvaluateGenesSelected(){
2 26 Feb 07 jari 185         if(this.runGenes.isSelected())
2 26 Feb 07 jari 186             return true;
2 26 Feb 07 jari 187         else
2 26 Feb 07 jari 188             return false;
2 26 Feb 07 jari 189     }
2 26 Feb 07 jari 190     
2 26 Feb 07 jari 191     /**
2 26 Feb 07 jari 192      *  Returns a constant indicating which SVM process to run
2 26 Feb 07 jari 193      *  Train and classify, train only, classify only
2 26 Feb 07 jari 194      */
2 26 Feb 07 jari 195     public int getSVMProcessSelection(){
2 26 Feb 07 jari 196         if(this.trainAndClassifyButton.isSelected())
2 26 Feb 07 jari 197             return SVMGUI.TRAIN_AND_CLASSIFY;
2 26 Feb 07 jari 198         else if(this.trainOnlyButton.isSelected())
2 26 Feb 07 jari 199             return SVMGUI.TRAIN_ONLY;
2 26 Feb 07 jari 200         else
2 26 Feb 07 jari 201             return SVMGUI.CLASSIFY_ONLY;
2 26 Feb 07 jari 202     }
2 26 Feb 07 jari 203     
2 26 Feb 07 jari 204     /**
2 26 Feb 07 jari 205      * Returns boolean selection for calculating HCL on SVM results
2 26 Feb 07 jari 206      */
2 26 Feb 07 jari 207     public boolean getHCLSelection(){
2 26 Feb 07 jari 208         return this.calcHCLCheckBox.isSelected();
2 26 Feb 07 jari 209     }
2 26 Feb 07 jari 210     
2 26 Feb 07 jari 211     public int showModal() {
2 26 Feb 07 jari 212         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 213         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 214         show();
2 26 Feb 07 jari 215         return result;
2 26 Feb 07 jari 216     }
2 26 Feb 07 jari 217     
2 26 Feb 07 jari 218     
2 26 Feb 07 jari 219     
2 26 Feb 07 jari 220     /**
2 26 Feb 07 jari 221      * @param args the command line arguments
2 26 Feb 07 jari 222      */
2 26 Feb 07 jari 223     public static void main(String args[]) {
2 26 Feb 07 jari 224         new SVMTrain_ClassifierSelectDialog(new javax.swing.JFrame(), true).show();
2 26 Feb 07 jari 225     }
2 26 Feb 07 jari 226     
2 26 Feb 07 jari 227     
2 26 Feb 07 jari 228     // Variables declaration - do not modify//GEN-BEGIN:variables
2 26 Feb 07 jari 229     private javax.swing.JRadioButton trainOnlyButton;
2 26 Feb 07 jari 230     private javax.swing.JPanel jPanel4;
2 26 Feb 07 jari 231     private javax.swing.JRadioButton trainAndClassifyButton;
2 26 Feb 07 jari 232     private javax.swing.JButton continueButton;
2 26 Feb 07 jari 233     private javax.swing.JPanel jPanel3;
2 26 Feb 07 jari 234     private javax.swing.JCheckBox calcHCLCheckBox;
2 26 Feb 07 jari 235     private javax.swing.ButtonGroup processSelection;
2 26 Feb 07 jari 236     private javax.swing.JPanel jPanel2;
2 26 Feb 07 jari 237     private javax.swing.JRadioButton runExperiments;
2 26 Feb 07 jari 238     private javax.swing.JRadioButton classifyOnlyButton;
2 26 Feb 07 jari 239     private javax.swing.ButtonGroup sampleSelection;
2 26 Feb 07 jari 240     private javax.swing.JButton cancelButton;
2 26 Feb 07 jari 241     private javax.swing.JRadioButton runGenes;
2 26 Feb 07 jari 242     private javax.swing.JPanel jPanel1;
2 26 Feb 07 jari 243     // End of variables declaration//GEN-END:variables
2 26 Feb 07 jari 244      
2 26 Feb 07 jari 245     private class Listener extends DialogListener { 
2 26 Feb 07 jari 246         
2 26 Feb 07 jari 247         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 248             String command = e.getActionCommand();
2 26 Feb 07 jari 249             if (command.equals("ok-command")) {
2 26 Feb 07 jari 250                 try {
2 26 Feb 07 jari 251                     result = JOptionPane.OK_OPTION;
2 26 Feb 07 jari 252                 } catch (Exception exception) {
2 26 Feb 07 jari 253                     exception.printStackTrace();
2 26 Feb 07 jari 254                     result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 255                 }
2 26 Feb 07 jari 256                 dispose();
2 26 Feb 07 jari 257             } else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 258                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 259                 dispose();
2 26 Feb 07 jari 260             }
2 26 Feb 07 jari 261         }
2 26 Feb 07 jari 262         
2 26 Feb 07 jari 263         public void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 264             result = JOptionPane.CLOSED_OPTION;
2 26 Feb 07 jari 265             dispose();
2 26 Feb 07 jari 266         }
2 26 Feb 07 jari 267         
2 26 Feb 07 jari 268     }
2 26 Feb 07 jari 269     
2 26 Feb 07 jari 270 }