package com.compomics.util.gui.parameters.identification_parameters;
import com.compomics.util.experiment.biology.AminoAcid;
import com.compomics.util.experiment.biology.variants.AaSubstitutionMatrix;
import com.compomics.util.gui.renderers.AlignedListCellRenderer;
import com.compomics.util.gui.variants.aa_substitutions.AaSubstitutionMatrixTableModel;
import com.compomics.util.preferences.PeptideVariantsPreferences;
import java.awt.Dialog;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumnModel;
import no.uib.jsparklines.extra.TrueFalseIconRenderer;
/**
* FractionSettingsDialog.
*
* @author Marc Vaudel
* @author Harald Barsnes
*/
public class PeptideVariantsSettingsDialog extends javax.swing.JDialog {
/**
* Boolean indicating whether the user canceled the editing.
*/
private boolean canceled = false;
/**
* Boolean indicating whether the settings can be edited by the user.
*/
private boolean editable;
/**
* Creates a new FractionSettingsDialog with a frame as owner.
*
* @param parentFrame a parent frame
* @param peptideVariantPreferences the peptide variants settings
* @param editable boolean indicating whether the settings can be edited by
* the user
*/
public PeptideVariantsSettingsDialog(java.awt.Frame parentFrame, PeptideVariantsPreferences peptideVariantPreferences, boolean editable) {
super(parentFrame, true);
this.editable = editable;
initComponents();
setUpGui();
populateGUI(peptideVariantPreferences);
setLocationRelativeTo(parentFrame);
setVisible(true);
}
/**
* Creates a new FractionSettingsDialog with a dialog as owner.
*
* @param owner the dialog owner
* @param parentFrame a parent frame
* @param peptideVariantPreferences the peptide variants settings
* @param editable boolean indicating whether the settings can be edited by
* the user
*/
public PeptideVariantsSettingsDialog(Dialog owner, java.awt.Frame parentFrame, PeptideVariantsPreferences peptideVariantPreferences, boolean editable) {
super(owner, true);
this.editable = editable;
initComponents();
setUpGui();
populateGUI(peptideVariantPreferences);
setLocationRelativeTo(owner);
setVisible(true);
}
/**
* Sets up the GUI.
*/
private void setUpGui() {
totalVariantsSpinner.setEnabled(editable);
specificVariantsComboBox.setEnabled(editable);
specificVariantsComboBox.setRenderer(new AlignedListCellRenderer(SwingConstants.CENTER));
deletionsSpinner.setEnabled(editable);
insertionsSpinner.setEnabled(editable);
subsitutionsSpinner.setEnabled(editable);
swapSpinner.setEnabled(editable);
substitutionMatrixComboBox.setEnabled(editable);
substitutionMatrixComboBox.setRenderer(new AlignedListCellRenderer(SwingConstants.CENTER));
setTableProperties();
}
/**
* Sets the table properties.
*/
private void setTableProperties() {
TableColumnModel tableColumnModel = substitutionMatrixTable.getColumnModel();
tableColumnModel.getColumn(0).setMaxWidth(50);
substitutionMatrixTableJScrollPane.getViewport().setOpaque(false);
for (int i = 0; i < AminoAcid.getUniqueAminoAcids().length; i++) {
tableColumnModel.getColumn(i + 1).setCellRenderer(new TrueFalseIconRenderer(
new ImageIcon(this.getClass().getResource("/icons/selected_green.png")),
null,
"On", "Off"));
}
}
/**
* Fills the GUI with the given settings.
*
* @param fractionSettings the fraction settings to display
*/
private void populateGUI(PeptideVariantsPreferences peptideVariantPreferences) {
totalVariantsSpinner.setValue(peptideVariantPreferences.getnVariants());
boolean useSpecific = peptideVariantPreferences.getUseSpecificCount();
if (useSpecific) {
specificVariantsComboBox.setSelectedIndex(0);
} else {
specificVariantsComboBox.setSelectedIndex(1);
}
if (editable) {
deletionsSpinner.setEnabled(useSpecific);
insertionsSpinner.setEnabled(useSpecific);
subsitutionsSpinner.setEnabled(useSpecific);
swapSpinner.setEnabled(useSpecific);
}
deletionsSpinner.setValue(peptideVariantPreferences.getnAaDeletions());
insertionsSpinner.setValue(peptideVariantPreferences.getnAaInsertions());
subsitutionsSpinner.setValue(peptideVariantPreferences.getnAaSubstitutions());
swapSpinner.setValue(peptideVariantPreferences.getnAaSwap());
AaSubstitutionMatrix aaSubstitutionMatrix = peptideVariantPreferences.getAaSubstitutionMatrix();
substitutionMatrixComboBox.setSelectedItem(aaSubstitutionMatrix);
updateTableContent(aaSubstitutionMatrix);
}
/**
* Indicates whether the user canceled the editing.
*
* @return a boolean indicating whether the user canceled the editing
*/
public boolean isCanceled() {
return canceled;
}
/**
* Returns the peptide variants settings as set by the user.
*
* @return the peptide variants settings as set by the user
*/
public PeptideVariantsPreferences getPeptideVariantsPreferences() {
PeptideVariantsPreferences peptideVariantsPreferences = new PeptideVariantsPreferences();
peptideVariantsPreferences.setnVariants((Integer) totalVariantsSpinner.getValue());
peptideVariantsPreferences.setUseSpecificCount(specificVariantsComboBox.getSelectedIndex() == 0);
peptideVariantsPreferences.setnAaDeletions((Integer) deletionsSpinner.getValue());
peptideVariantsPreferences.setnAaInsertions((Integer) insertionsSpinner.getValue());
peptideVariantsPreferences.setnAaSubstitutions((Integer) subsitutionsSpinner.getValue());
peptideVariantsPreferences.setnAaSwap((Integer) swapSpinner.getValue());
peptideVariantsPreferences.setAaSubstitutionMatrix((AaSubstitutionMatrix) substitutionMatrixComboBox.getSelectedItem());
return peptideVariantsPreferences;
}
/**
* Updates the content of the table with the given substitution matrix.
*
* @param aaSubstitutionMatrix the substitution matrix to display
*/
private void updateTableContent(AaSubstitutionMatrix aaSubstitutionMatrix) {
((AaSubstitutionMatrixTableModel) substitutionMatrixTable.getModel()).setAaSubstitutionMatrix(aaSubstitutionMatrix);
updateTableContent();
}
/**
* Updates the content of the table.
*/
private void updateTableContent() {
((DefaultTableModel) substitutionMatrixTable.getModel()).fireTableDataChanged();
}
/**
* 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
backgrounPanel = new javax.swing.JPanel();
maxVariantsJPanel = new javax.swing.JPanel();
deletionsSpinner = new javax.swing.JSpinner();
deletionsLbl = new javax.swing.JLabel();
deletionsLbl1 = new javax.swing.JLabel();
insertionsSpinner = new javax.swing.JSpinner();
deletionsLbl2 = new javax.swing.JLabel();
subsitutionsSpinner = new javax.swing.JSpinner();
deletionsLbl3 = new javax.swing.JLabel();
swapSpinner = new javax.swing.JSpinner();
totalVariantsLbl = new javax.swing.JLabel();
totalVariantsSpinner = new javax.swing.JSpinner();
specificVariantsLbl = new javax.swing.JLabel();
specificVariantsComboBox = new javax.swing.JComboBox();
cancelButton = new javax.swing.JButton();
okButton = new javax.swing.JButton();
aaSubstitutionsTableJPanel = new javax.swing.JPanel();
substitutionMatrixComboBox = new javax.swing.JComboBox();
substitutionMatrixTableJScrollPane = new javax.swing.JScrollPane();
substitutionMatrixTable = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Fraction Settings");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
formWindowClosing(evt);
}
});
backgrounPanel.setBackground(new java.awt.Color(230, 230, 230));
maxVariantsJPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Number of Variants Allowed per Peptide"));
maxVariantsJPanel.setOpaque(false);
deletionsSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(1)));
deletionsLbl.setText("Amino acid deletions");
deletionsLbl1.setText("Amino acid insertions");
insertionsSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(1)));
deletionsLbl2.setText("Amino acid substitutions");
subsitutionsSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(1)));
deletionsLbl3.setText("Amino acid swap");
swapSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(1)));
totalVariantsLbl.setText("Total");
totalVariantsSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(1)));
specificVariantsLbl.setText("Use specific variants");
specificVariantsComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Yes", "No" }));
specificVariantsComboBox.setSelectedIndex(1);
specificVariantsComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
specificVariantsComboBoxActionPerformed(evt);
}
});
javax.swing.GroupLayout maxVariantsJPanelLayout = new javax.swing.GroupLayout(maxVariantsJPanel);
maxVariantsJPanel.setLayout(maxVariantsJPanelLayout);
maxVariantsJPanelLayout.setHorizontalGroup(
maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(maxVariantsJPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(maxVariantsJPanelLayout.createSequentialGroup()
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(totalVariantsLbl)
.addComponent(specificVariantsLbl))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(specificVariantsComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(totalVariantsSpinner, javax.swing.GroupLayout.DEFAULT_SIZE, 150, Short.MAX_VALUE)))
.addGroup(maxVariantsJPanelLayout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(deletionsLbl)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, maxVariantsJPanelLayout.createSequentialGroup()
.addComponent(deletionsLbl1)
.addGap(15, 15, 15))
.addComponent(deletionsLbl2)
.addComponent(deletionsLbl3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(swapSpinner, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(subsitutionsSpinner, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(deletionsSpinner, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(insertionsSpinner, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap())
);
maxVariantsJPanelLayout.setVerticalGroup(
maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, maxVariantsJPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(totalVariantsLbl)
.addComponent(totalVariantsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(specificVariantsLbl)
.addComponent(specificVariantsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(deletionsLbl)
.addComponent(deletionsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(deletionsLbl1)
.addComponent(insertionsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(deletionsLbl3)
.addComponent(swapSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(maxVariantsJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(deletionsLbl2)
.addComponent(subsitutionsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
cancelButton.setText("Cancel");
cancelButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cancelButtonActionPerformed(evt);
}
});
okButton.setText("OK");
okButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
okButtonActionPerformed(evt);
}
});
aaSubstitutionsTableJPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Allowed Amino Acid Substitutions"));
aaSubstitutionsTableJPanel.setOpaque(false);
substitutionMatrixComboBox.setModel(new DefaultComboBoxModel(AaSubstitutionMatrix.defaultMutationMatrices));
substitutionMatrixComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
substitutionMatrixComboBoxActionPerformed(evt);
}
});
substitutionMatrixTable.setModel(new AaSubstitutionMatrixTableModel(null, false));
substitutionMatrixTableJScrollPane.setViewportView(substitutionMatrixTable);
javax.swing.GroupLayout aaSubstitutionsTableJPanelLayout = new javax.swing.GroupLayout(aaSubstitutionsTableJPanel);
aaSubstitutionsTableJPanel.setLayout(aaSubstitutionsTableJPanelLayout);
aaSubstitutionsTableJPanelLayout.setHorizontalGroup(
aaSubstitutionsTableJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(aaSubstitutionsTableJPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(aaSubstitutionsTableJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(substitutionMatrixTableJScrollPane)
.addComponent(substitutionMatrixComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
aaSubstitutionsTableJPanelLayout.setVerticalGroup(
aaSubstitutionsTableJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(aaSubstitutionsTableJPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(substitutionMatrixComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(substitutionMatrixTableJScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 231, Short.MAX_VALUE)
.addContainerGap())
);
javax.swing.GroupLayout backgrounPanelLayout = new javax.swing.GroupLayout(backgrounPanel);
backgrounPanel.setLayout(backgrounPanelLayout);
backgrounPanelLayout.setHorizontalGroup(
backgrounPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, backgrounPanelLayout.createSequentialGroup()
.addContainerGap(700, Short.MAX_VALUE)
.addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cancelButton)
.addContainerGap())
.addGroup(backgrounPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(backgrounPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(backgrounPanelLayout.createSequentialGroup()
.addComponent(aaSubstitutionsTableJPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
.addGroup(backgrounPanelLayout.createSequentialGroup()
.addComponent(maxVariantsJPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(7, 7, 7))))
);
backgrounPanelLayout.setVerticalGroup(
backgrounPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(backgrounPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(maxVariantsJPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(aaSubstitutionsTableJPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(backgrounPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cancelButton)
.addComponent(okButton))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(backgrounPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(backgrounPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>//GEN-END:initComponents
/**
* Close the dialog.
*
* @param evt
*/
private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed
dispose();
}//GEN-LAST:event_okButtonActionPerformed
/**
* Cancel the dialog.
*
* @param evt
*/
private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
canceled = true;
dispose();
}//GEN-LAST:event_cancelButtonActionPerformed
/**
* Cancel the dialog.
*
* @param evt
*/
private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
canceled = true;
}//GEN-LAST:event_formWindowClosing
private void substitutionMatrixComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_substitutionMatrixComboBoxActionPerformed
AaSubstitutionMatrix aaSubstitutionMatrix = (AaSubstitutionMatrix) substitutionMatrixComboBox.getSelectedItem();
updateTableContent(aaSubstitutionMatrix);
}//GEN-LAST:event_substitutionMatrixComboBoxActionPerformed
private void specificVariantsComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_specificVariantsComboBoxActionPerformed
if (editable) {
boolean useSpecific = specificVariantsComboBox.getSelectedIndex() == 0;
deletionsSpinner.setEnabled(useSpecific);
insertionsSpinner.setEnabled(useSpecific);
subsitutionsSpinner.setEnabled(useSpecific);
swapSpinner.setEnabled(useSpecific);
}
}//GEN-LAST:event_specificVariantsComboBoxActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel aaSubstitutionsTableJPanel;
private javax.swing.JPanel backgrounPanel;
private javax.swing.JButton cancelButton;
private javax.swing.JLabel deletionsLbl;
private javax.swing.JLabel deletionsLbl1;
private javax.swing.JLabel deletionsLbl2;
private javax.swing.JLabel deletionsLbl3;
private javax.swing.JSpinner deletionsSpinner;
private javax.swing.JSpinner insertionsSpinner;
private javax.swing.JPanel maxVariantsJPanel;
private javax.swing.JButton okButton;
private javax.swing.JComboBox specificVariantsComboBox;
private javax.swing.JLabel specificVariantsLbl;
private javax.swing.JSpinner subsitutionsSpinner;
private javax.swing.JComboBox substitutionMatrixComboBox;
private javax.swing.JTable substitutionMatrixTable;
private javax.swing.JScrollPane substitutionMatrixTableJScrollPane;
private javax.swing.JSpinner swapSpinner;
private javax.swing.JLabel totalVariantsLbl;
private javax.swing.JSpinner totalVariantsSpinner;
// End of variables declaration//GEN-END:variables
}