package eu.isas.peptideshaker.gui.exportdialogs;
import com.compomics.util.gui.ExportFormatSelectionDialog;
import com.compomics.util.gui.export.report.ReportEditor;
import com.compomics.util.gui.error_handlers.HelpDialog;
import com.compomics.util.gui.waiting.waitinghandlers.ProgressDialogX;
import com.compomics.util.io.export.ExportFormat;
import eu.isas.peptideshaker.export.PSExportFactory;
import com.compomics.util.io.export.ExportScheme;
import eu.isas.peptideshaker.export.OutputGenerator;
import eu.isas.peptideshaker.gui.PeptideShakerGUI;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
* Dialog for exporting protein, peptide, PSMs and search engine features.
*
* @author Marc Vaudel
* @author Harald Barsnes
*/
public class FeaturesPreferencesDialog extends javax.swing.JDialog {
/**
* PeptideShaker main GUI.
*/
private PeptideShakerGUI peptideShakerGUI;
/**
* The output generator will generate the output based on the user's choice.
*/
private OutputGenerator outputGenerator;
/**
* A simple progress dialog.
*/
private static ProgressDialogX progressDialog;
/**
* The export factory
*/
private PSExportFactory exportFactory = PSExportFactory.getInstance();
/**
* List of the available export schemes
*/
private ArrayList<String> exportSchemesNames;
/**
* Creates a new ExportPreferencesDialog.
*
* @param peptideShakerGUI the PeptideShaker GUI parent
*/
public FeaturesPreferencesDialog(PeptideShakerGUI peptideShakerGUI) {
super(peptideShakerGUI, true);
this.peptideShakerGUI = peptideShakerGUI;
initComponents();
setUpGUI();
this.outputGenerator = new OutputGenerator(peptideShakerGUI);
this.pack();
tabbedPane.setEnabledAt(4, peptideShakerGUI.getIdentification().getSpectrumFiles().size() > 1);
this.setLocationRelativeTo(peptideShakerGUI);
updateReportsList();
setVisible(true);
}
/**
* Set up the GUI.
*/
private void setUpGUI() {
reportsTable.getTableHeader().setReorderingAllowed(false);
reportsTable.getColumn(" ").setMaxWidth(30);
reportsTable.getColumn(" ").setMinWidth(30);
// make sure that the scroll panes are see-through
reportsTableScrollPane.getViewport().setOpaque(false);
}
/**
* 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() {
reportDocumentationPopupMenu = new javax.swing.JPopupMenu();
addReportMenuItem = new javax.swing.JMenuItem();
removeReportMenuItem = new javax.swing.JMenuItem();
editReportMenuItem = new javax.swing.JMenuItem();
reportPopUpMenuSeparator = new javax.swing.JPopupMenu.Separator();
reportDocumentationMenuItem = new javax.swing.JMenuItem();
backgroundPanel = new javax.swing.JPanel();
featuresPanel = new javax.swing.JPanel();
tabbedPane = new javax.swing.JTabbedPane();
customReportsPanel = new javax.swing.JPanel();
reportsTableScrollPane = new javax.swing.JScrollPane();
reportsTable = new javax.swing.JTable();
exportReportButton = new javax.swing.JButton();
selectReportTypeLabel = new javax.swing.JLabel();
helpLabel = new javax.swing.JLabel();
addReportLabel = new javax.swing.JLabel();
proteinsPanel = new javax.swing.JPanel();
proteinAccession = new javax.swing.JCheckBox();
proteinPI = new javax.swing.JCheckBox();
proteinNPeptides = new javax.swing.JCheckBox();
proteinNSpectra = new javax.swing.JCheckBox();
proteinDescription = new javax.swing.JCheckBox();
proteinEmpai = new javax.swing.JCheckBox();
proteinNsaf = new javax.swing.JCheckBox();
proteinScore = new javax.swing.JCheckBox();
proteinConfidence = new javax.swing.JCheckBox();
proteinExport = new javax.swing.JButton();
proteinSequenceCoverage = new javax.swing.JCheckBox();
ptmSummary = new javax.swing.JCheckBox();
proteinValidated = new javax.swing.JCheckBox();
proteinStarred = new javax.swing.JCheckBox();
proteinHidden = new javax.swing.JCheckBox();
proteinSelectAllLabel = new javax.swing.JLabel();
proteinDeselectAllLabel = new javax.swing.JLabel();
slashLabel1 = new javax.swing.JLabel();
molecularWeight = new javax.swing.JCheckBox();
maximalProteinSetCheckBox = new javax.swing.JCheckBox();
nonEnzymaticPeptidesProteinsTab = new javax.swing.JCheckBox();
peptidesPanel = new javax.swing.JPanel();
peptideAccession = new javax.swing.JCheckBox();
peptideModification = new javax.swing.JCheckBox();
peptideNSpectra = new javax.swing.JCheckBox();
peptideScore = new javax.swing.JCheckBox();
peptideConfidence = new javax.swing.JCheckBox();
peptideExport = new javax.swing.JButton();
peptideSequence = new javax.swing.JCheckBox();
peptidePosition = new javax.swing.JCheckBox();
peptideLocation = new javax.swing.JCheckBox();
peptideValidated = new javax.swing.JCheckBox();
peptideStarred = new javax.swing.JCheckBox();
peptideHidden = new javax.swing.JCheckBox();
precursorCharges = new javax.swing.JCheckBox();
peptideSurroundingAA = new javax.swing.JCheckBox();
peptideUniqueOnly = new javax.swing.JCheckBox();
proteinDescriptionPeptideTab = new javax.swing.JCheckBox();
peptideSelectAllLabel = new javax.swing.JLabel();
slashLabel2 = new javax.swing.JLabel();
peptideDeselectAllLabel = new javax.swing.JLabel();
uniqueOnlyHelpLabel = new javax.swing.JLabel();
enzymaticPeptide = new javax.swing.JCheckBox();
psmPanel = new javax.swing.JPanel();
psmAccession = new javax.swing.JCheckBox();
psmSequence = new javax.swing.JCheckBox();
psmFile = new javax.swing.JCheckBox();
psmTitle = new javax.swing.JCheckBox();
psmLocation = new javax.swing.JCheckBox();
psmModification = new javax.swing.JCheckBox();
psmScore = new javax.swing.JCheckBox();
psmConfidence = new javax.swing.JCheckBox();
psmExport = new javax.swing.JButton();
psmValidated = new javax.swing.JCheckBox();
psmStarred = new javax.swing.JCheckBox();
psmHidden = new javax.swing.JCheckBox();
proteinDescriptionPsmTab = new javax.swing.JCheckBox();
psmSelectAllLabel = new javax.swing.JLabel();
slashLabel3 = new javax.swing.JLabel();
psmDeselectAllLabel = new javax.swing.JLabel();
psmPrecursor = new javax.swing.JCheckBox();
searchEnginePanel = new javax.swing.JPanel();
assumptionAccession = new javax.swing.JCheckBox();
assumptionSequence = new javax.swing.JCheckBox();
assumptionModification = new javax.swing.JCheckBox();
assumptionFile = new javax.swing.JCheckBox();
assumptionTitle = new javax.swing.JCheckBox();
assumptionPrecursor = new javax.swing.JCheckBox();
assumptionScores = new javax.swing.JCheckBox();
assumptionConfidence = new javax.swing.JCheckBox();
assumptionExport = new javax.swing.JButton();
proteinDescriptionSerarchEnginesTab = new javax.swing.JCheckBox();
searchEnginesSelectAllLabel = new javax.swing.JLabel();
slashLabel4 = new javax.swing.JLabel();
searchEnginesDeselectAllLabel = new javax.swing.JLabel();
assumptionValidated = new javax.swing.JCheckBox();
fractionsPanel = new javax.swing.JPanel();
peptidesPerFraction = new javax.swing.JCheckBox();
precursorIntensitiesPerFraction = new javax.swing.JCheckBox();
spectraPerFraction = new javax.swing.JCheckBox();
fractionsExport = new javax.swing.JButton();
fractionsSelectAllLabel = new javax.swing.JLabel();
fractionsDeselectAllLabel = new javax.swing.JLabel();
slashLabel5 = new javax.swing.JLabel();
fractionsWarningLabel = new javax.swing.JLabel();
fractionMwRange = new javax.swing.JCheckBox();
nonEnzymaticPeptidesFractionTab = new javax.swing.JCheckBox();
projectPanel = new javax.swing.JPanel();
exportPhospoJButton = new javax.swing.JButton();
exportPhosphLabel = new javax.swing.JLabel();
exitButton = new javax.swing.JButton();
helpJButton = new javax.swing.JButton();
addReportMenuItem.setText("Add");
addReportMenuItem.setToolTipText("Add a new report type");
addReportMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
addReportMenuItemActionPerformed(evt);
}
});
reportDocumentationPopupMenu.add(addReportMenuItem);
removeReportMenuItem.setText("Remove");
removeReportMenuItem.setToolTipText("Remove the report type");
removeReportMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
removeReportMenuItemActionPerformed(evt);
}
});
reportDocumentationPopupMenu.add(removeReportMenuItem);
editReportMenuItem.setText("Edit");
editReportMenuItem.setToolTipText("Edit the report");
editReportMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
editReportMenuItemActionPerformed(evt);
}
});
reportDocumentationPopupMenu.add(editReportMenuItem);
reportDocumentationPopupMenu.add(reportPopUpMenuSeparator);
reportDocumentationMenuItem.setText("Documentation");
reportDocumentationMenuItem.setToolTipText("Export the report documentation to file");
reportDocumentationMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
reportDocumentationMenuItemActionPerformed(evt);
}
});
reportDocumentationPopupMenu.add(reportDocumentationMenuItem);
setTitle("Export Features");
backgroundPanel.setBackground(new java.awt.Color(230, 230, 230));
featuresPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Features"));
featuresPanel.setOpaque(false);
customReportsPanel.setBackground(new java.awt.Color(230, 230, 230));
reportsTable.setModel(new ReportsTableModel());
reportsTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
reportsTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
reportsTableMouseClicked(evt);
}
});
reportsTable.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
reportsTableKeyReleased(evt);
}
});
reportsTableScrollPane.setViewportView(reportsTable);
exportReportButton.setText("Export");
exportReportButton.setEnabled(false);
exportReportButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exportReportButtonActionPerformed(evt);
}
});
selectReportTypeLabel.setText("Select a Report Type");
helpLabel.setFont(helpLabel.getFont().deriveFont((helpLabel.getFont().getStyle() | java.awt.Font.ITALIC)));
helpLabel.setText("Right click on a row in the table for additional options.");
addReportLabel.setText("<html> <a href>Add new report type.</a> </html>");
addReportLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
addReportLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
addReportLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
addReportLabelMouseExited(evt);
}
});
javax.swing.GroupLayout customReportsPanelLayout = new javax.swing.GroupLayout(customReportsPanel);
customReportsPanel.setLayout(customReportsPanelLayout);
customReportsPanelLayout.setHorizontalGroup(
customReportsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(customReportsPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(customReportsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(reportsTableScrollPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 553, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, customReportsPanelLayout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(addReportLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(helpLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 101, Short.MAX_VALUE)
.addComponent(exportReportButton))
.addGroup(customReportsPanelLayout.createSequentialGroup()
.addComponent(selectReportTypeLabel)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
customReportsPanelLayout.setVerticalGroup(
customReportsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(customReportsPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(selectReportTypeLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(reportsTableScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(customReportsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(exportReportButton)
.addComponent(helpLabel)
.addComponent(addReportLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
tabbedPane.addTab("Reports", customReportsPanel);
proteinsPanel.setBackground(new java.awt.Color(230, 230, 230));
proteinAccession.setSelected(true);
proteinAccession.setText("Protein Accession");
proteinAccession.setIconTextGap(10);
proteinAccession.setOpaque(false);
proteinPI.setText("Protein Inference");
proteinPI.setIconTextGap(10);
proteinPI.setOpaque(false);
proteinNPeptides.setText("#Validated Peptides");
proteinNPeptides.setIconTextGap(10);
proteinNPeptides.setOpaque(false);
proteinNSpectra.setText("#Validated Spectra");
proteinNSpectra.setIconTextGap(10);
proteinNSpectra.setOpaque(false);
proteinDescription.setSelected(true);
proteinDescription.setText("Protein Description");
proteinDescription.setIconTextGap(10);
proteinDescription.setOpaque(false);
proteinEmpai.setText("emPAI");
proteinEmpai.setIconTextGap(10);
proteinEmpai.setOpaque(false);
proteinNsaf.setText("NSAF");
proteinNsaf.setIconTextGap(10);
proteinNsaf.setOpaque(false);
proteinScore.setText("Protein Score");
proteinScore.setIconTextGap(10);
proteinScore.setOpaque(false);
proteinConfidence.setText("Protein Confidence");
proteinConfidence.setIconTextGap(10);
proteinConfidence.setOpaque(false);
proteinExport.setText("Export");
proteinExport.setToolTipText("Export selected protein details");
proteinExport.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
proteinExportActionPerformed(evt);
}
});
proteinSequenceCoverage.setText("Sequence Coverage");
proteinSequenceCoverage.setIconTextGap(10);
proteinSequenceCoverage.setOpaque(false);
ptmSummary.setText("PTM Summary");
ptmSummary.setIconTextGap(10);
ptmSummary.setOpaque(false);
proteinValidated.setSelected(true);
proteinValidated.setText("Request Validated");
proteinValidated.setIconTextGap(10);
proteinValidated.setOpaque(false);
proteinStarred.setText("Request Starred");
proteinStarred.setIconTextGap(10);
proteinStarred.setOpaque(false);
proteinHidden.setText("Include Hidden");
proteinHidden.setIconTextGap(10);
proteinHidden.setOpaque(false);
proteinSelectAllLabel.setText("<html><a href>Select All<a></html>");
proteinSelectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
proteinSelectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
proteinSelectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
proteinSelectAllLabelMouseExited(evt);
}
});
proteinDeselectAllLabel.setText("<html><a href>Deselect All<a></html>");
proteinDeselectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
proteinDeselectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
proteinDeselectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
proteinDeselectAllLabelMouseExited(evt);
}
});
slashLabel1.setText("/");
molecularWeight.setText("Molecular Weight");
molecularWeight.setIconTextGap(10);
molecularWeight.setOpaque(false);
maximalProteinSetCheckBox.setText("Maximal Protein Set");
maximalProteinSetCheckBox.setToolTipText("Returns a separate file with the maximal protein set");
maximalProteinSetCheckBox.setIconTextGap(10);
maximalProteinSetCheckBox.setOpaque(false);
nonEnzymaticPeptidesProteinsTab.setText("Non Enzymatic Peptides");
nonEnzymaticPeptidesProteinsTab.setToolTipText("Do the proteins have non enzymatic peptides?");
nonEnzymaticPeptidesProteinsTab.setIconTextGap(10);
nonEnzymaticPeptidesProteinsTab.setOpaque(false);
javax.swing.GroupLayout proteinsPanelLayout = new javax.swing.GroupLayout(proteinsPanel);
proteinsPanel.setLayout(proteinsPanelLayout);
proteinsPanelLayout.setHorizontalGroup(
proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(proteinsPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(proteinsPanelLayout.createSequentialGroup()
.addComponent(proteinSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slashLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(proteinAccession, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(nonEnzymaticPeptidesProteinsTab, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(proteinDescription, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinScore, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinConfidence, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinNPeptides, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinPI, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinNSpectra, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinSequenceCoverage))
.addGroup(proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(proteinsPanelLayout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(proteinExport))
.addGroup(proteinsPanelLayout.createSequentialGroup()
.addGap(46, 46, 46)
.addGroup(proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(proteinValidated, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(proteinStarred, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(proteinHidden, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(ptmSummary, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(molecularWeight, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(maximalProteinSetCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(proteinNsaf, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinEmpai, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 168, Short.MAX_VALUE)))
.addContainerGap())
);
proteinsPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {proteinConfidence, proteinDescription, proteinHidden, proteinNPeptides, proteinNSpectra, proteinPI, proteinScore, proteinSequenceCoverage, proteinStarred, proteinValidated, ptmSummary});
proteinsPanelLayout.setVerticalGroup(
proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(proteinsPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(proteinsPanelLayout.createSequentialGroup()
.addComponent(proteinAccession)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinDescription)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinPI)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinScore)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinConfidence)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinNPeptides)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinNSpectra)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinSequenceCoverage)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(nonEnzymaticPeptidesProteinsTab, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(proteinsPanelLayout.createSequentialGroup()
.addComponent(proteinNsaf)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinEmpai)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(ptmSummary)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(molecularWeight)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(maximalProteinSetCheckBox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(proteinValidated)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinStarred)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinHidden)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addGroup(proteinsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(proteinSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(slashLabel1)
.addComponent(proteinDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(proteinExport))
.addContainerGap())
);
proteinsPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {maximalProteinSetCheckBox, molecularWeight, nonEnzymaticPeptidesProteinsTab, proteinAccession, proteinConfidence, proteinDescription, proteinEmpai, proteinHidden, proteinNPeptides, proteinNSpectra, proteinNsaf, proteinPI, proteinScore, proteinSequenceCoverage, proteinStarred, proteinValidated, ptmSummary});
tabbedPane.addTab("Proteins", proteinsPanel);
peptidesPanel.setBackground(new java.awt.Color(230, 230, 230));
peptideAccession.setSelected(true);
peptideAccession.setText("Protein Accession");
peptideAccession.setIconTextGap(10);
peptideAccession.setOpaque(false);
peptideModification.setText("Modification Status");
peptideModification.setIconTextGap(10);
peptideModification.setOpaque(false);
peptideNSpectra.setText("#Validated Spectra");
peptideNSpectra.setIconTextGap(10);
peptideNSpectra.setOpaque(false);
peptideScore.setText("Peptide Score");
peptideScore.setIconTextGap(10);
peptideScore.setOpaque(false);
peptideConfidence.setSelected(true);
peptideConfidence.setText("Peptide Confidence");
peptideConfidence.setIconTextGap(10);
peptideConfidence.setOpaque(false);
peptideExport.setText("Export");
peptideExport.setToolTipText("Export selected peptide details");
peptideExport.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
peptideExportActionPerformed(evt);
}
});
peptideSequence.setSelected(true);
peptideSequence.setText("Peptide Sequence");
peptideSequence.setIconTextGap(10);
peptideSequence.setOpaque(false);
peptidePosition.setText("Peptide Position");
peptidePosition.setIconTextGap(10);
peptidePosition.setOpaque(false);
peptideLocation.setText("Location Scores");
peptideLocation.setIconTextGap(10);
peptideLocation.setOpaque(false);
peptideValidated.setSelected(true);
peptideValidated.setText("Request Validated");
peptideValidated.setIconTextGap(10);
peptideValidated.setOpaque(false);
peptideStarred.setText("Request Starred");
peptideStarred.setIconTextGap(10);
peptideStarred.setOpaque(false);
peptideHidden.setText("Include Hidden");
peptideHidden.setIconTextGap(10);
peptideHidden.setOpaque(false);
precursorCharges.setText("Precursor Charge(s)");
precursorCharges.setIconTextGap(10);
precursorCharges.setOpaque(false);
peptideSurroundingAA.setText("Surrounding AA");
peptideSurroundingAA.setIconTextGap(10);
peptideSurroundingAA.setOpaque(false);
peptideUniqueOnly.setText("Unique Only");
peptideUniqueOnly.setToolTipText("<html> Exclude shared peptides, i.e., peptides<br> mapping to more than one protein. </html>");
peptideUniqueOnly.setIconTextGap(10);
peptideUniqueOnly.setOpaque(false);
proteinDescriptionPeptideTab.setSelected(true);
proteinDescriptionPeptideTab.setText("Protein Description");
proteinDescriptionPeptideTab.setIconTextGap(10);
proteinDescriptionPeptideTab.setOpaque(false);
peptideSelectAllLabel.setText("<html><a href>Select All<a></html>");
peptideSelectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
peptideSelectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
peptideSelectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
peptideSelectAllLabelMouseExited(evt);
}
});
slashLabel2.setText("/");
peptideDeselectAllLabel.setText("<html><a href>Deselect All<a></html>");
peptideDeselectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
peptideDeselectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
peptideDeselectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
peptideDeselectAllLabelMouseExited(evt);
}
});
uniqueOnlyHelpLabel.setForeground(new java.awt.Color(0, 0, 255));
uniqueOnlyHelpLabel.setText("(?)");
uniqueOnlyHelpLabel.setToolTipText("<html>\nExclude shared peptides, i.e., peptides<br>\nmapping to more than one protein. \n</html>");
enzymaticPeptide.setSelected(true);
enzymaticPeptide.setText("Enzymatic");
enzymaticPeptide.setToolTipText("Do the proteins have non enzymatic peptides?");
enzymaticPeptide.setIconTextGap(10);
enzymaticPeptide.setOpaque(false);
javax.swing.GroupLayout peptidesPanelLayout = new javax.swing.GroupLayout(peptidesPanel);
peptidesPanel.setLayout(peptidesPanelLayout);
peptidesPanelLayout.setHorizontalGroup(
peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addComponent(peptideSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slashLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(peptideDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 364, Short.MAX_VALUE)
.addComponent(peptideExport))
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(peptideAccession, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideSequence, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptidePosition)
.addComponent(peptideScore, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(proteinDescriptionPeptideTab, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideConfidence, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideModification, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideLocation, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideSurroundingAA, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(75, 75, 75)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(peptideValidated, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideHidden, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideStarred, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(peptideNSpectra, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(precursorCharges, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideUniqueOnly)
.addComponent(enzymaticPeptide, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(uniqueOnlyHelpLabel)))))
.addContainerGap())
);
peptidesPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {peptideAccession, peptideConfidence, peptideHidden, peptideLocation, peptideModification, peptideNSpectra, peptidePosition, peptideScore, peptideSequence, peptideStarred, peptideSurroundingAA, peptideValidated, precursorCharges});
peptidesPanelLayout.setVerticalGroup(
peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(peptideAccession)
.addComponent(peptideNSpectra))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addComponent(precursorCharges)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(peptideUniqueOnly)
.addComponent(uniqueOnlyHelpLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(enzymaticPeptide, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addComponent(proteinDescriptionPeptideTab)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(peptideSequence)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(peptidePosition)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(peptideScore)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(peptideConfidence)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(peptideModification)
.addComponent(peptideValidated))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addComponent(peptideStarred)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(peptideHidden))
.addGroup(peptidesPanelLayout.createSequentialGroup()
.addComponent(peptideLocation, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(peptideSurroundingAA, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addGroup(peptidesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(peptideSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(slashLabel2)
.addComponent(peptideDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptideExport))
.addContainerGap())
);
peptidesPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {enzymaticPeptide, peptideConfidence, peptideHidden, peptideLocation, peptideModification, peptideNSpectra, peptidePosition, peptideScore, peptideSequence, peptideStarred, peptideSurroundingAA, peptideUniqueOnly, peptideValidated, precursorCharges, proteinDescriptionPeptideTab});
tabbedPane.addTab("Peptides", peptidesPanel);
psmPanel.setBackground(new java.awt.Color(230, 230, 230));
psmAccession.setSelected(true);
psmAccession.setText("Protein Accession");
psmAccession.setIconTextGap(10);
psmAccession.setOpaque(false);
psmSequence.setSelected(true);
psmSequence.setText("Peptide Sequence");
psmSequence.setIconTextGap(10);
psmSequence.setOpaque(false);
psmFile.setText("Spectrum File");
psmFile.setIconTextGap(10);
psmFile.setOpaque(false);
psmTitle.setSelected(true);
psmTitle.setText("Spectrum Title");
psmTitle.setIconTextGap(10);
psmTitle.setOpaque(false);
psmLocation.setText("Location Scores");
psmLocation.setIconTextGap(10);
psmLocation.setOpaque(false);
psmModification.setText("Modification Status");
psmModification.setIconTextGap(10);
psmModification.setOpaque(false);
psmScore.setText("PSM Score");
psmScore.setIconTextGap(10);
psmScore.setOpaque(false);
psmConfidence.setSelected(true);
psmConfidence.setText("PSM Confidence");
psmConfidence.setIconTextGap(10);
psmConfidence.setOpaque(false);
psmExport.setText("Export");
psmExport.setToolTipText("Export selected PSM details");
psmExport.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
psmExportActionPerformed(evt);
}
});
psmValidated.setSelected(true);
psmValidated.setText("Request Validated");
psmValidated.setIconTextGap(10);
psmValidated.setOpaque(false);
psmStarred.setText("Request Starred");
psmStarred.setIconTextGap(10);
psmStarred.setOpaque(false);
psmHidden.setText("Include Hidden");
psmHidden.setIconTextGap(10);
psmHidden.setOpaque(false);
proteinDescriptionPsmTab.setSelected(true);
proteinDescriptionPsmTab.setText("Protein Description");
proteinDescriptionPsmTab.setIconTextGap(10);
proteinDescriptionPsmTab.setOpaque(false);
psmSelectAllLabel.setText("<html><a href>Select All<a></html>");
psmSelectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
psmSelectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
psmSelectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
psmSelectAllLabelMouseExited(evt);
}
});
slashLabel3.setText("/");
psmDeselectAllLabel.setText("<html><a href>Deselect All<a></html>");
psmDeselectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
psmDeselectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
psmDeselectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
psmDeselectAllLabelMouseExited(evt);
}
});
psmPrecursor.setText("Precursor Details");
psmPrecursor.setToolTipText("Do the proteins have non enzymatic peptides?");
psmPrecursor.setIconTextGap(10);
psmPrecursor.setOpaque(false);
javax.swing.GroupLayout psmPanelLayout = new javax.swing.GroupLayout(psmPanel);
psmPanel.setLayout(psmPanelLayout);
psmPanelLayout.setHorizontalGroup(
psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(psmPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(psmPanelLayout.createSequentialGroup()
.addComponent(psmSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slashLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmDeselectAllLabel, 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)
.addComponent(psmExport))
.addGroup(psmPanelLayout.createSequentialGroup()
.addGroup(psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(psmLocation, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmAccession, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmModification, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(proteinDescriptionPsmTab, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmSequence, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmFile, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmTitle, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmScore, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmConfidence, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(75, 75, 75)
.addGroup(psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(psmHidden, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmStarred, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmValidated, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmPrecursor, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 139, Short.MAX_VALUE)))
.addContainerGap())
);
psmPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {proteinDescriptionPsmTab, psmAccession, psmConfidence, psmFile, psmHidden, psmLocation, psmModification, psmScore, psmSequence, psmStarred, psmTitle, psmValidated});
psmPanelLayout.setVerticalGroup(
psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(psmPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(psmPanelLayout.createSequentialGroup()
.addGroup(psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(psmAccession)
.addComponent(psmPrecursor, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinDescriptionPsmTab)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmSequence)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmModification)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmLocation)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmFile)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmTitle)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmScore))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, psmPanelLayout.createSequentialGroup()
.addGap(46, 46, 46)
.addComponent(psmValidated)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(psmStarred)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(psmConfidence, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(psmHidden, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addGroup(psmPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(psmSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(slashLabel3)
.addComponent(psmDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(psmExport))
.addContainerGap())
);
psmPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {proteinDescriptionPsmTab, psmAccession, psmConfidence, psmFile, psmHidden, psmLocation, psmModification, psmPrecursor, psmScore, psmSequence, psmStarred, psmTitle, psmValidated});
tabbedPane.addTab("PSMs", psmPanel);
searchEnginePanel.setBackground(new java.awt.Color(230, 230, 230));
assumptionAccession.setSelected(true);
assumptionAccession.setText("Protein Accession");
assumptionAccession.setIconTextGap(10);
assumptionAccession.setOpaque(false);
assumptionSequence.setSelected(true);
assumptionSequence.setText("Peptide Sequence");
assumptionSequence.setIconTextGap(10);
assumptionSequence.setOpaque(false);
assumptionModification.setText("Modification Status");
assumptionModification.setIconTextGap(10);
assumptionModification.setOpaque(false);
assumptionFile.setText("Spectrum File");
assumptionFile.setIconTextGap(10);
assumptionFile.setOpaque(false);
assumptionTitle.setSelected(true);
assumptionTitle.setText("Spectrum Title");
assumptionTitle.setIconTextGap(10);
assumptionTitle.setOpaque(false);
assumptionPrecursor.setText("Precursor Details");
assumptionPrecursor.setIconTextGap(10);
assumptionPrecursor.setOpaque(false);
assumptionScores.setSelected(true);
assumptionScores.setText("Search Engine Score");
assumptionScores.setIconTextGap(10);
assumptionScores.setOpaque(false);
assumptionConfidence.setSelected(true);
assumptionConfidence.setText("Confidence");
assumptionConfidence.setIconTextGap(10);
assumptionConfidence.setOpaque(false);
assumptionExport.setText("Export");
assumptionExport.setToolTipText("Export selected search engine details");
assumptionExport.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
assumptionExportActionPerformed(evt);
}
});
proteinDescriptionSerarchEnginesTab.setSelected(true);
proteinDescriptionSerarchEnginesTab.setText("Protein Description");
proteinDescriptionSerarchEnginesTab.setIconTextGap(10);
proteinDescriptionSerarchEnginesTab.setOpaque(false);
searchEnginesSelectAllLabel.setText("<html><a href>Select All<a></html>");
searchEnginesSelectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
searchEnginesSelectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
searchEnginesSelectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
searchEnginesSelectAllLabelMouseExited(evt);
}
});
slashLabel4.setText("/");
searchEnginesDeselectAllLabel.setText("<html><a href>Deselect All<a></html>");
searchEnginesDeselectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
searchEnginesDeselectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
searchEnginesDeselectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
searchEnginesDeselectAllLabelMouseExited(evt);
}
});
assumptionValidated.setSelected(true);
assumptionValidated.setText("Request Validated");
assumptionValidated.setIconTextGap(10);
assumptionValidated.setOpaque(false);
javax.swing.GroupLayout searchEnginePanelLayout = new javax.swing.GroupLayout(searchEnginePanel);
searchEnginePanel.setLayout(searchEnginePanelLayout);
searchEnginePanelLayout.setHorizontalGroup(
searchEnginePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(searchEnginePanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(searchEnginePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(searchEnginePanelLayout.createSequentialGroup()
.addGroup(searchEnginePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(searchEnginePanelLayout.createSequentialGroup()
.addComponent(searchEnginesSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slashLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(searchEnginesDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 364, Short.MAX_VALUE)
.addComponent(assumptionExport))
.addGroup(searchEnginePanelLayout.createSequentialGroup()
.addGroup(searchEnginePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(assumptionAccession, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(assumptionPrecursor, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(assumptionSequence, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(assumptionModification, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(assumptionFile, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(proteinDescriptionSerarchEnginesTab, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(assumptionConfidence, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(assumptionTitle, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
.addGroup(searchEnginePanelLayout.createSequentialGroup()
.addComponent(assumptionScores, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(75, 75, 75)
.addComponent(assumptionValidated, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(36, 36, 36))))
);
searchEnginePanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {assumptionAccession, assumptionConfidence, assumptionFile, assumptionModification, assumptionPrecursor, assumptionSequence, assumptionTitle});
searchEnginePanelLayout.setVerticalGroup(
searchEnginePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(searchEnginePanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(assumptionAccession)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(proteinDescriptionSerarchEnginesTab)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(assumptionSequence)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(assumptionModification)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(assumptionFile)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(assumptionTitle)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(searchEnginePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(assumptionScores)
.addComponent(assumptionValidated, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(assumptionConfidence)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(assumptionPrecursor)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)
.addGroup(searchEnginePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(searchEnginesSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(slashLabel4)
.addComponent(searchEnginesDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(assumptionExport))
.addContainerGap())
);
searchEnginePanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {assumptionAccession, assumptionConfidence, assumptionFile, assumptionModification, assumptionPrecursor, assumptionScores, assumptionSequence, assumptionTitle, assumptionValidated, proteinDescriptionSerarchEnginesTab});
tabbedPane.addTab("Search Engines", searchEnginePanel);
fractionsPanel.setBackground(new java.awt.Color(230, 230, 230));
peptidesPerFraction.setSelected(true);
peptidesPerFraction.setText("#Peptides");
peptidesPerFraction.setToolTipText("#Peptides per protein per fraction");
peptidesPerFraction.setIconTextGap(10);
peptidesPerFraction.setOpaque(false);
precursorIntensitiesPerFraction.setSelected(true);
precursorIntensitiesPerFraction.setText("Precursor Intensities");
precursorIntensitiesPerFraction.setToolTipText("Summed precursor intensity per protein per fraction");
precursorIntensitiesPerFraction.setIconTextGap(10);
precursorIntensitiesPerFraction.setOpaque(false);
spectraPerFraction.setSelected(true);
spectraPerFraction.setText("#Spectra");
spectraPerFraction.setToolTipText("#Spectra per protein per fraction");
spectraPerFraction.setIconTextGap(10);
spectraPerFraction.setOpaque(false);
fractionsExport.setText("Export");
fractionsExport.setToolTipText("Export selected protein details");
fractionsExport.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
fractionsExportActionPerformed(evt);
}
});
fractionsSelectAllLabel.setText("<html><a href>Select All<a></html>");
fractionsSelectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
fractionsSelectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
fractionsSelectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
fractionsSelectAllLabelMouseExited(evt);
}
});
fractionsDeselectAllLabel.setText("<html><a href>Deselect All<a></html>");
fractionsDeselectAllLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
fractionsDeselectAllLabelMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
fractionsDeselectAllLabelMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
fractionsDeselectAllLabelMouseExited(evt);
}
});
slashLabel5.setText("/");
fractionsWarningLabel.setText("<html>\n<i>\nNote: While these values provide an idea of how the data distributes<br>\nacross the fractions, further analysis is however required to be able<br>\nto claim that this is indeed the case.\n</i>\n</html>");
fractionMwRange.setSelected(true);
fractionMwRange.setText("Fraction MW Range");
fractionMwRange.setToolTipText("Show the molecular weight ranges for each protein.");
fractionMwRange.setIconTextGap(10);
fractionMwRange.setOpaque(false);
nonEnzymaticPeptidesFractionTab.setSelected(true);
nonEnzymaticPeptidesFractionTab.setText("Non Enzymatic Peptides");
nonEnzymaticPeptidesFractionTab.setToolTipText("Do the proteins have non enzymatic peptides?");
nonEnzymaticPeptidesFractionTab.setIconTextGap(10);
nonEnzymaticPeptidesFractionTab.setOpaque(false);
javax.swing.GroupLayout fractionsPanelLayout = new javax.swing.GroupLayout(fractionsPanel);
fractionsPanel.setLayout(fractionsPanelLayout);
fractionsPanelLayout.setHorizontalGroup(
fractionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(fractionsPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(fractionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(fractionsPanelLayout.createSequentialGroup()
.addGroup(fractionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(fractionsWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 543, Short.MAX_VALUE)
.addGroup(fractionsPanelLayout.createSequentialGroup()
.addComponent(fractionsSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(slashLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(fractionsDeselectAllLabel, 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)
.addComponent(fractionsExport))
.addGroup(fractionsPanelLayout.createSequentialGroup()
.addGroup(fractionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(precursorIntensitiesPerFraction, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spectraPerFraction, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(peptidesPerFraction, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
.addGroup(fractionsPanelLayout.createSequentialGroup()
.addGroup(fractionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(nonEnzymaticPeptidesFractionTab, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(fractionMwRange, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))))
);
fractionsPanelLayout.setVerticalGroup(
fractionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(fractionsPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(peptidesPerFraction)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(spectraPerFraction)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(precursorIntensitiesPerFraction, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(fractionMwRange, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(nonEnzymaticPeptidesFractionTab, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 57, Short.MAX_VALUE)
.addComponent(fractionsWarningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(fractionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(fractionsSelectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(slashLabel5)
.addComponent(fractionsDeselectAllLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(fractionsExport))
.addContainerGap())
);
fractionsPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {fractionMwRange, nonEnzymaticPeptidesFractionTab, peptidesPerFraction, precursorIntensitiesPerFraction, spectraPerFraction});
tabbedPane.addTab("Fractions", fractionsPanel);
projectPanel.setBackground(new java.awt.Color(230, 230, 230));
exportPhospoJButton.setText("Export Phosphorylation Summary");
exportPhospoJButton.setToolTipText("Export phosphorylation summary to a text file");
exportPhospoJButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exportPhospoJButtonActionPerformed(evt);
}
});
exportPhosphLabel.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
exportPhosphLabel.setText("Protein and PSM summaries for phosphorylation datasets.");
exportPhosphLabel.setToolTipText("Export all the identification results as four tab separated text files.");
javax.swing.GroupLayout projectPanelLayout = new javax.swing.GroupLayout(projectPanel);
projectPanel.setLayout(projectPanelLayout);
projectPanelLayout.setHorizontalGroup(
projectPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(projectPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(exportPhospoJButton)
.addGap(18, 18, 18)
.addComponent(exportPhosphLabel)
.addContainerGap(77, Short.MAX_VALUE))
);
projectPanelLayout.setVerticalGroup(
projectPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(projectPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(projectPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(exportPhospoJButton)
.addComponent(exportPhosphLabel))
.addContainerGap(259, Short.MAX_VALUE))
);
tabbedPane.addTab("Advanced", projectPanel);
javax.swing.GroupLayout featuresPanelLayout = new javax.swing.GroupLayout(featuresPanel);
featuresPanel.setLayout(featuresPanelLayout);
featuresPanelLayout.setHorizontalGroup(
featuresPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(featuresPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(tabbedPane)
.addContainerGap())
);
featuresPanelLayout.setVerticalGroup(
featuresPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(featuresPanelLayout.createSequentialGroup()
.addComponent(tabbedPane)
.addContainerGap())
);
exitButton.setText("Exit");
exitButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exitButtonActionPerformed(evt);
}
});
helpJButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/help.GIF"))); // NOI18N
helpJButton.setToolTipText("Help");
helpJButton.setBorder(null);
helpJButton.setBorderPainted(false);
helpJButton.setContentAreaFilled(false);
helpJButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
helpJButtonMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
helpJButtonMouseExited(evt);
}
});
helpJButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
helpJButtonActionPerformed(evt);
}
});
javax.swing.GroupLayout backgroundPanelLayout = new javax.swing.GroupLayout(backgroundPanel);
backgroundPanel.setLayout(backgroundPanelLayout);
backgroundPanelLayout.setHorizontalGroup(
backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(backgroundPanelLayout.createSequentialGroup()
.addGroup(backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(backgroundPanelLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(helpJButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(exitButton))
.addGroup(backgroundPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(featuresPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addContainerGap())
);
backgroundPanelLayout.setVerticalGroup(
backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(backgroundPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(featuresPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(helpJButton)
.addComponent(exitButton))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(backgroundPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(backgroundPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
}// </editor-fold>//GEN-END:initComponents
/**
* Export the protein features to file.
*
* @param evt
*/
private void proteinExportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_proteinExportActionPerformed
outputGenerator.getProteinsOutput(this, null, false, proteinValidated.isSelected(), proteinAccession.isSelected(), proteinAccession.isSelected(), proteinPI.isSelected(),
proteinDescription.isSelected(), proteinNPeptides.isSelected(), proteinEmpai.isSelected(), proteinSequenceCoverage.isSelected(), ptmSummary.isSelected(),
proteinNSpectra.isSelected(), proteinNsaf.isSelected(), proteinScore.isSelected(), proteinConfidence.isSelected(), molecularWeight.isSelected(), true, proteinStarred.isSelected(),
true, proteinHidden.isSelected(), maximalProteinSetCheckBox.isSelected(), nonEnzymaticPeptidesProteinsTab.isSelected(), proteinDescription.isSelected(), proteinDescription.isSelected()); // @TODO: gene name and chromosome number should have separate check boxes...
}//GEN-LAST:event_proteinExportActionPerformed
/**
* Export all peptide features to file.
*
* @param evt
*/
private void peptideExportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_peptideExportActionPerformed
outputGenerator.getPeptidesOutput(this, null, null, false, peptideValidated.isSelected(),
peptideAccession.isSelected(), proteinDescriptionPeptideTab.isSelected(), !proteinStarred.isSelected(), peptidePosition.isSelected(),
peptideSurroundingAA.isSelected(), peptideSequence.isSelected(), peptideModification.isSelected(), peptideLocation.isSelected(),
precursorCharges.isSelected(), peptideNSpectra.isSelected(), peptideScore.isSelected(), peptideConfidence.isSelected(), true,
peptideStarred.isSelected(), peptideHidden.isSelected(), peptideUniqueOnly.isSelected(), null, enzymaticPeptide.isSelected());
}//GEN-LAST:event_peptideExportActionPerformed
/**
* Export all PSM features to file.
*
* @param evt
*/
private void psmExportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_psmExportActionPerformed
outputGenerator.getPSMsOutput(this, null, false, psmValidated.isSelected(), psmAccession.isSelected(), proteinDescriptionPsmTab.isSelected(), psmSequence.isSelected(),
psmModification.isSelected(), psmLocation.isSelected(), psmFile.isSelected(), psmTitle.isSelected(),
psmPrecursor.isSelected(), psmScore.isSelected(), psmConfidence.isSelected(), true, psmStarred.isSelected(), psmHidden.isSelected());
}//GEN-LAST:event_psmExportActionPerformed
/**
* Export all search engine features to file.
*
* @param evt
*/
private void assumptionExportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_assumptionExportActionPerformed
outputGenerator.getAssumptionsOutput(this, null, assumptionValidated.isSelected(), assumptionAccession.isSelected(), proteinDescriptionSerarchEnginesTab.isSelected(),
assumptionSequence.isSelected(), assumptionModification.isSelected(), assumptionFile.isSelected(), assumptionTitle.isSelected(),
assumptionPrecursor.isSelected(), assumptionScores.isSelected(), assumptionConfidence.isSelected(), true);
}//GEN-LAST:event_assumptionExportActionPerformed
/**
* Open the help dialog.
*
* @param evt
*/
private void helpJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_helpJButtonActionPerformed
setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
new HelpDialog(peptideShakerGUI, getClass().getResource("/helpFiles/FeatureExport.html"),
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/help.GIF")),
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/peptide-shaker.gif")),
"PeptideShaker - Help");
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_helpJButtonActionPerformed
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void helpJButtonMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_helpJButtonMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_helpJButtonMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void helpJButtonMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_helpJButtonMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_helpJButtonMouseExited
/**
* Close the dialog.
*
* @param evt
*/
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitButtonActionPerformed
try {
exportFactory.saveFactory();
} catch (Exception e) {
peptideShakerGUI.catchException(e);
}
setVisible(false);
dispose();
}//GEN-LAST:event_exitButtonActionPerformed
/**
* Select all protein features.
*
* @param evt
*/
private void proteinSelectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_proteinSelectAllLabelMouseClicked
proteinAccession.setSelected(true);
proteinPI.setSelected(true);
proteinDescription.setSelected(true);
proteinNPeptides.setSelected(true);
proteinEmpai.setSelected(true);
proteinNSpectra.setSelected(true);
ptmSummary.setSelected(true);
proteinNsaf.setSelected(true);
proteinScore.setSelected(true);
proteinConfidence.setSelected(true);
proteinSequenceCoverage.setSelected(true);
proteinValidated.setSelected(true);
maximalProteinSetCheckBox.setSelected(true);
molecularWeight.setSelected(true);
nonEnzymaticPeptidesProteinsTab.setSelected(true);
}//GEN-LAST:event_proteinSelectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void proteinSelectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_proteinSelectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_proteinSelectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void proteinSelectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_proteinSelectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_proteinSelectAllLabelMouseExited
/**
* Deselect all protein features.
*
* @param evt
*/
private void proteinDeselectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_proteinDeselectAllLabelMouseClicked
proteinAccession.setSelected(false);
proteinPI.setSelected(false);
proteinDescription.setSelected(false);
proteinNPeptides.setSelected(false);
proteinEmpai.setSelected(false);
proteinNSpectra.setSelected(false);
proteinNsaf.setSelected(false);
proteinScore.setSelected(false);
proteinConfidence.setSelected(false);
proteinSequenceCoverage.setSelected(false);
ptmSummary.setSelected(false);
maximalProteinSetCheckBox.setSelected(false);
proteinValidated.setSelected(false);
proteinStarred.setSelected(false);
proteinHidden.setSelected(false);
molecularWeight.setSelected(false);
nonEnzymaticPeptidesProteinsTab.setSelected(false);
}//GEN-LAST:event_proteinDeselectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void proteinDeselectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_proteinDeselectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_proteinDeselectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void proteinDeselectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_proteinDeselectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_proteinDeselectAllLabelMouseExited
/**
* Select all peptide features.
*
* @param evt
*/
private void peptideSelectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_peptideSelectAllLabelMouseClicked
peptideAccession.setSelected(true);
proteinDescriptionPeptideTab.setSelected(true);
peptideSequence.setSelected(true);
peptideModification.setSelected(true);
peptideLocation.setSelected(true);
peptideSurroundingAA.setSelected(true);
precursorCharges.setSelected(true);
peptideNSpectra.setSelected(true);
peptideScore.setSelected(true);
peptideConfidence.setSelected(true);
peptideLocation.setSelected(true);
peptidePosition.setSelected(true);
peptideValidated.setSelected(true);
enzymaticPeptide.setSelected(true);
}//GEN-LAST:event_peptideSelectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void peptideSelectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_peptideSelectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_peptideSelectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void peptideSelectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_peptideSelectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_peptideSelectAllLabelMouseExited
/**
* Deselect all peptide features.
*
* @param evt
*/
private void peptideDeselectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_peptideDeselectAllLabelMouseClicked
peptideAccession.setSelected(false);
proteinDescriptionPeptideTab.setSelected(false);
peptideSequence.setSelected(false);
peptideModification.setSelected(false);
peptideLocation.setSelected(false);
peptideSurroundingAA.setSelected(false);
peptideUniqueOnly.setSelected(false);
precursorCharges.setSelected(false);
peptideNSpectra.setSelected(false);
peptideScore.setSelected(false);
peptideConfidence.setSelected(false);
peptideLocation.setSelected(false);
peptidePosition.setSelected(false);
peptideValidated.setSelected(false);
peptideStarred.setSelected(false);
peptideHidden.setSelected(false);
enzymaticPeptide.setSelected(false);
}//GEN-LAST:event_peptideDeselectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void peptideDeselectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_peptideDeselectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_peptideDeselectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void peptideDeselectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_peptideDeselectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_peptideDeselectAllLabelMouseExited
/**
* Select all psm features.
*
* @param evt
*/
private void psmSelectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_psmSelectAllLabelMouseClicked
psmAccession.setSelected(true);
proteinDescriptionPsmTab.setSelected(true);
psmSequence.setSelected(true);
psmModification.setSelected(true);
psmLocation.setSelected(true);
psmFile.setSelected(true);
psmTitle.setSelected(true);
psmPrecursor.setSelected(true);
psmScore.setSelected(true);
psmConfidence.setSelected(true);
psmValidated.setSelected(true);
}//GEN-LAST:event_psmSelectAllLabelMouseClicked
private void psmSelectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_psmSelectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_psmSelectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void psmSelectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_psmSelectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_psmSelectAllLabelMouseExited
/**
* Deselect all psm features.
*
* @param evt
*/
private void psmDeselectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_psmDeselectAllLabelMouseClicked
psmAccession.setSelected(false);
proteinDescriptionPsmTab.setSelected(false);
psmSequence.setSelected(false);
psmModification.setSelected(false);
psmLocation.setSelected(false);
psmFile.setSelected(false);
psmTitle.setSelected(false);
psmPrecursor.setSelected(false);
psmScore.setSelected(false);
psmConfidence.setSelected(false);
psmValidated.setSelected(false);
psmStarred.setSelected(false);
psmHidden.setSelected(false);
}//GEN-LAST:event_psmDeselectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void psmDeselectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_psmDeselectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_psmDeselectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void psmDeselectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_psmDeselectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_psmDeselectAllLabelMouseExited
/**
* Select all search engine features.
*
* @param evt
*/
private void searchEnginesSelectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_searchEnginesSelectAllLabelMouseClicked
assumptionAccession.setSelected(true);
proteinDescriptionSerarchEnginesTab.setSelected(true);
assumptionSequence.setSelected(true);
assumptionModification.setSelected(true);
assumptionFile.setSelected(true);
assumptionTitle.setSelected(true);
assumptionPrecursor.setSelected(true);
assumptionScores.setSelected(true);
assumptionConfidence.setSelected(true);
assumptionValidated.setSelected(true);
}//GEN-LAST:event_searchEnginesSelectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void searchEnginesSelectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_searchEnginesSelectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_searchEnginesSelectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void searchEnginesSelectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_searchEnginesSelectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_searchEnginesSelectAllLabelMouseExited
/**
* Deselect all search engine features.
*
* @param evt
*/
private void searchEnginesDeselectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_searchEnginesDeselectAllLabelMouseClicked
assumptionAccession.setSelected(false);
proteinDescriptionSerarchEnginesTab.setSelected(false);
assumptionSequence.setSelected(false);
assumptionModification.setSelected(false);
assumptionFile.setSelected(false);
assumptionTitle.setSelected(false);
assumptionPrecursor.setSelected(false);
assumptionScores.setSelected(false);
assumptionConfidence.setSelected(false);
assumptionValidated.setSelected(false);
}//GEN-LAST:event_searchEnginesDeselectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void searchEnginesDeselectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_searchEnginesDeselectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_searchEnginesDeselectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void searchEnginesDeselectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_searchEnginesDeselectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_searchEnginesDeselectAllLabelMouseExited
/**
* Export all fraction features to a file.
*
* @param evt
*/
private void fractionsExportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fractionsExportActionPerformed
outputGenerator.getFractionsOutput(this, null, false, true, true, true, true, true, true, true,
true, true, peptidesPerFraction.isSelected(), spectraPerFraction.isSelected(), precursorIntensitiesPerFraction.isSelected(),
fractionMwRange.isSelected(), true, false, true, false, nonEnzymaticPeptidesFractionTab.isSelected());
}//GEN-LAST:event_fractionsExportActionPerformed
/**
* Select all fraction features.
*
* @param evt
*/
private void fractionsSelectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_fractionsSelectAllLabelMouseClicked
peptidesPerFraction.setSelected(true);
spectraPerFraction.setSelected(true);
precursorIntensitiesPerFraction.setSelected(true);
fractionMwRange.setSelected(true);
nonEnzymaticPeptidesFractionTab.setSelected(true);
}//GEN-LAST:event_fractionsSelectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void fractionsSelectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_fractionsSelectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_fractionsSelectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void fractionsSelectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_fractionsSelectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_fractionsSelectAllLabelMouseExited
/**
* Deselect all fraction features.
*
* @param evt
*/
private void fractionsDeselectAllLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_fractionsDeselectAllLabelMouseClicked
peptidesPerFraction.setSelected(false);
spectraPerFraction.setSelected(false);
precursorIntensitiesPerFraction.setSelected(false);
fractionMwRange.setSelected(false);
nonEnzymaticPeptidesFractionTab.setSelected(false);
}//GEN-LAST:event_fractionsDeselectAllLabelMouseClicked
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void fractionsDeselectAllLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_fractionsDeselectAllLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_fractionsDeselectAllLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void fractionsDeselectAllLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_fractionsDeselectAllLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_fractionsDeselectAllLabelMouseExited
/**
* Export a phosphorylation summary to a text file.
*
* @param evt
*/
private void exportPhospoJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportPhospoJButtonActionPerformed
outputGenerator.getPhosphoOutput(this);
}//GEN-LAST:event_exportPhospoJButtonActionPerformed
/**
* Export the selected report to file.
*
* @param evt
*/
private void exportReportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportReportButtonActionPerformed
writeSelectedReport();
}//GEN-LAST:event_exportReportButtonActionPerformed
/**
* Export the given report or show its details.
*
* @param evt
*/
private void reportsTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_reportsTableMouseClicked
if (evt != null && reportsTable.rowAtPoint(evt.getPoint()) != -1) {
reportsTable.setRowSelectionInterval(reportsTable.rowAtPoint(evt.getPoint()), reportsTable.rowAtPoint(evt.getPoint()));
}
if (evt != null && evt.getButton() == MouseEvent.BUTTON3 && reportsTable.getSelectedRow() != -1) {
String schemeName = (String) reportsTable.getValueAt(reportsTable.getSelectedRow(), 1);
ExportScheme exportScheme = exportFactory.getExportScheme(schemeName);
editReportMenuItem.setVisible(exportScheme.isEditable());
removeReportMenuItem.setVisible(exportScheme.isEditable());
reportDocumentationPopupMenu.show(reportsTable, evt.getX(), evt.getY());
}
if (evt != null && evt.getButton() == MouseEvent.BUTTON1 && evt.getClickCount() == 2) {
writeSelectedReport();
}
exportReportButton.setEnabled(reportsTable.getSelectedRow() != -1);
}//GEN-LAST:event_reportsTableMouseClicked
/**
* Enable/disable the export and delete buttons.
*
* @param evt
*/
private void reportsTableKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_reportsTableKeyReleased
reportsTableMouseClicked(null);
}//GEN-LAST:event_reportsTableKeyReleased
/**
* Export the report documentation to file.
*
* @param evt
*/
private void reportDocumentationMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_reportDocumentationMenuItemActionPerformed
writeDocumentationOfSelectedReport();
}//GEN-LAST:event_reportDocumentationMenuItemActionPerformed
/**
* Edit the selected report.
*
* @param evt
*/
private void editReportMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editReportMenuItemActionPerformed
String reportName = (String) reportsTable.getValueAt(reportsTable.getSelectedRow(), 1);
new ReportEditor(peptideShakerGUI, exportFactory, reportName, true);
int selectedRow = reportsTable.getSelectedRow();
updateReportsList();
((DefaultTableModel) reportsTable.getModel()).fireTableDataChanged();
if (selectedRow != -1) {
reportsTable.setRowSelectionInterval(selectedRow, selectedRow);
}
reportsTableMouseClicked(null);
}//GEN-LAST:event_editReportMenuItemActionPerformed
/**
* Add a new report type.
*
* @param evt
*/
private void addReportMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addReportMenuItemActionPerformed
new ReportEditor(peptideShakerGUI, exportFactory);
int selectedRow = reportsTable.getSelectedRow();
updateReportsList();
((DefaultTableModel) reportsTable.getModel()).fireTableDataChanged();
if (selectedRow != -1) {
reportsTable.setRowSelectionInterval(selectedRow, selectedRow);
}
reportsTableMouseClicked(null);
}//GEN-LAST:event_addReportMenuItemActionPerformed
/**
* Delete the currently selected report.
*
* @param evt
*/
private void removeReportMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeReportMenuItemActionPerformed
String reportName = (String) reportsTable.getValueAt(reportsTable.getSelectedRow(), 1);
exportFactory.removeExportScheme(reportName);
updateReportsList();
((DefaultTableModel) reportsTable.getModel()).fireTableDataChanged();
reportsTableMouseClicked(null);
}//GEN-LAST:event_removeReportMenuItemActionPerformed
/**
* Change the cursor back to a hand icon.
*
* @param evt
*/
private void addReportLabelMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_addReportLabelMouseEntered
this.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
}//GEN-LAST:event_addReportLabelMouseEntered
/**
* Change the cursor back to the default icon.
*
* @param evt
*/
private void addReportLabelMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_addReportLabelMouseExited
this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_addReportLabelMouseExited
/**
* Add a new report type.
*
* @param evt
*/
private void addReportLabelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_addReportLabelMouseClicked
addReportMenuItemActionPerformed(null);
}//GEN-LAST:event_addReportLabelMouseClicked
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel addReportLabel;
private javax.swing.JMenuItem addReportMenuItem;
private javax.swing.JCheckBox assumptionAccession;
private javax.swing.JCheckBox assumptionConfidence;
private javax.swing.JButton assumptionExport;
private javax.swing.JCheckBox assumptionFile;
private javax.swing.JCheckBox assumptionModification;
private javax.swing.JCheckBox assumptionPrecursor;
private javax.swing.JCheckBox assumptionScores;
private javax.swing.JCheckBox assumptionSequence;
private javax.swing.JCheckBox assumptionTitle;
private javax.swing.JCheckBox assumptionValidated;
private javax.swing.JPanel backgroundPanel;
private javax.swing.JPanel customReportsPanel;
private javax.swing.JMenuItem editReportMenuItem;
private javax.swing.JCheckBox enzymaticPeptide;
private javax.swing.JButton exitButton;
private javax.swing.JLabel exportPhosphLabel;
private javax.swing.JButton exportPhospoJButton;
private javax.swing.JButton exportReportButton;
private javax.swing.JPanel featuresPanel;
private javax.swing.JCheckBox fractionMwRange;
private javax.swing.JLabel fractionsDeselectAllLabel;
private javax.swing.JButton fractionsExport;
private javax.swing.JPanel fractionsPanel;
private javax.swing.JLabel fractionsSelectAllLabel;
private javax.swing.JLabel fractionsWarningLabel;
private javax.swing.JButton helpJButton;
private javax.swing.JLabel helpLabel;
private javax.swing.JCheckBox maximalProteinSetCheckBox;
private javax.swing.JCheckBox molecularWeight;
private javax.swing.JCheckBox nonEnzymaticPeptidesFractionTab;
private javax.swing.JCheckBox nonEnzymaticPeptidesProteinsTab;
private javax.swing.JCheckBox peptideAccession;
private javax.swing.JCheckBox peptideConfidence;
private javax.swing.JLabel peptideDeselectAllLabel;
private javax.swing.JButton peptideExport;
private javax.swing.JCheckBox peptideHidden;
private javax.swing.JCheckBox peptideLocation;
private javax.swing.JCheckBox peptideModification;
private javax.swing.JCheckBox peptideNSpectra;
private javax.swing.JCheckBox peptidePosition;
private javax.swing.JCheckBox peptideScore;
private javax.swing.JLabel peptideSelectAllLabel;
private javax.swing.JCheckBox peptideSequence;
private javax.swing.JCheckBox peptideStarred;
private javax.swing.JCheckBox peptideSurroundingAA;
private javax.swing.JCheckBox peptideUniqueOnly;
private javax.swing.JCheckBox peptideValidated;
private javax.swing.JPanel peptidesPanel;
private javax.swing.JCheckBox peptidesPerFraction;
private javax.swing.JCheckBox precursorCharges;
private javax.swing.JCheckBox precursorIntensitiesPerFraction;
private javax.swing.JPanel projectPanel;
private javax.swing.JCheckBox proteinAccession;
private javax.swing.JCheckBox proteinConfidence;
private javax.swing.JCheckBox proteinDescription;
private javax.swing.JCheckBox proteinDescriptionPeptideTab;
private javax.swing.JCheckBox proteinDescriptionPsmTab;
private javax.swing.JCheckBox proteinDescriptionSerarchEnginesTab;
private javax.swing.JLabel proteinDeselectAllLabel;
private javax.swing.JCheckBox proteinEmpai;
private javax.swing.JButton proteinExport;
private javax.swing.JCheckBox proteinHidden;
private javax.swing.JCheckBox proteinNPeptides;
private javax.swing.JCheckBox proteinNSpectra;
private javax.swing.JCheckBox proteinNsaf;
private javax.swing.JCheckBox proteinPI;
private javax.swing.JCheckBox proteinScore;
private javax.swing.JLabel proteinSelectAllLabel;
private javax.swing.JCheckBox proteinSequenceCoverage;
private javax.swing.JCheckBox proteinStarred;
private javax.swing.JCheckBox proteinValidated;
private javax.swing.JPanel proteinsPanel;
private javax.swing.JCheckBox psmAccession;
private javax.swing.JCheckBox psmConfidence;
private javax.swing.JLabel psmDeselectAllLabel;
private javax.swing.JButton psmExport;
private javax.swing.JCheckBox psmFile;
private javax.swing.JCheckBox psmHidden;
private javax.swing.JCheckBox psmLocation;
private javax.swing.JCheckBox psmModification;
private javax.swing.JPanel psmPanel;
private javax.swing.JCheckBox psmPrecursor;
private javax.swing.JCheckBox psmScore;
private javax.swing.JLabel psmSelectAllLabel;
private javax.swing.JCheckBox psmSequence;
private javax.swing.JCheckBox psmStarred;
private javax.swing.JCheckBox psmTitle;
private javax.swing.JCheckBox psmValidated;
private javax.swing.JCheckBox ptmSummary;
private javax.swing.JMenuItem removeReportMenuItem;
private javax.swing.JMenuItem reportDocumentationMenuItem;
private javax.swing.JPopupMenu reportDocumentationPopupMenu;
private javax.swing.JPopupMenu.Separator reportPopUpMenuSeparator;
private javax.swing.JTable reportsTable;
private javax.swing.JScrollPane reportsTableScrollPane;
private javax.swing.JPanel searchEnginePanel;
private javax.swing.JLabel searchEnginesDeselectAllLabel;
private javax.swing.JLabel searchEnginesSelectAllLabel;
private javax.swing.JLabel selectReportTypeLabel;
private javax.swing.JLabel slashLabel1;
private javax.swing.JLabel slashLabel2;
private javax.swing.JLabel slashLabel3;
private javax.swing.JLabel slashLabel4;
private javax.swing.JLabel slashLabel5;
private javax.swing.JCheckBox spectraPerFraction;
private javax.swing.JTabbedPane tabbedPane;
private javax.swing.JLabel uniqueOnlyHelpLabel;
// End of variables declaration//GEN-END:variables
/**
* Updates the reports list based on the information stored in the export
* factory.
*/
private void updateReportsList() {
exportSchemesNames = new ArrayList<String>();
exportSchemesNames.addAll(exportFactory.getDefaultExportSchemesNames());
exportSchemesNames.addAll(exportFactory.getUserSchemesNames());
}
/**
* Writes the selected report into a file.
*/
private void writeSelectedReport() {
ExportFormatSelectionDialog exportFormatSelectionDialog = new ExportFormatSelectionDialog(this, true);
if (!exportFormatSelectionDialog.isCanceled()) {
final File selectedFile;
final ExportFormat exportFormat = exportFormatSelectionDialog.getFormat();
// get the file to send the output to
if (exportFormat == ExportFormat.text) {
selectedFile = peptideShakerGUI.getUserSelectedFile(".txt", "Tab separated text file (.txt)", "Export...", false);
} else {
selectedFile = peptideShakerGUI.getUserSelectedFile(".xls", "Excel Workbook (.xls)", "Export...", false);
}
if (selectedFile != null) {
progressDialog = new ProgressDialogX(this, peptideShakerGUI,
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/peptide-shaker.gif")),
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/peptide-shaker-orange.gif")),
true);
progressDialog.setTitle("Exporting Report. Please Wait...");
final String filePath = selectedFile.getPath();
new Thread(new Runnable() {
public void run() {
try {
progressDialog.setVisible(true);
} catch (IndexOutOfBoundsException e) {
// ignore
}
}
}, "ProgressDialog").start();
new Thread("ExportThread") {
@Override
public void run() {
try {
String schemeName = (String) reportsTable.getValueAt(reportsTable.getSelectedRow(), 1);
ExportScheme exportScheme = exportFactory.getExportScheme(schemeName);
progressDialog.setTitle("Exporting. Please Wait...");
PSExportFactory.writeExport(exportScheme, selectedFile, exportFormat, peptideShakerGUI.getExperiment().getReference(),
peptideShakerGUI.getSample().getReference(), peptideShakerGUI.getReplicateNumber(),
peptideShakerGUI.getProjectDetails(), peptideShakerGUI.getIdentification(),
peptideShakerGUI.getIdentificationFeaturesGenerator(), peptideShakerGUI.getSearchParameters(),
null, null, null, null, peptideShakerGUI.getDisplayPreferences().getnAASurroundingPeptides(),
peptideShakerGUI.getAnnotationPreferences(), peptideShakerGUI.getSequenceMatchingPreferences(), peptideShakerGUI.getIdFilter(),
peptideShakerGUI.getPtmScoringPreferences(), peptideShakerGUI.getSpectrumCountingPreferences(), progressDialog);
boolean processCancelled = progressDialog.isRunCanceled();
progressDialog.setRunFinished();
if (!processCancelled) {
JOptionPane.showMessageDialog(peptideShakerGUI, "Data copied to file:\n" + filePath, "Data Exported.", JOptionPane.INFORMATION_MESSAGE);
}
} catch (FileNotFoundException e) {
progressDialog.setRunFinished();
JOptionPane.showMessageDialog(peptideShakerGUI,
"An error occurred while generating the output. Please make sure "
+ "that the destination file is not opened by another application.", "Output Error.", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
} catch (Exception e) {
progressDialog.setRunFinished();
JOptionPane.showMessageDialog(peptideShakerGUI, "An error occurred while generating the output.", "Output Error.", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
}.start();
}
}
}
/**
* Writes the documentation related to the selected report into a file.
*/
private void writeDocumentationOfSelectedReport() {
ExportFormatSelectionDialog exportFormatSelectionDialog = new ExportFormatSelectionDialog(this, true);
if (!exportFormatSelectionDialog.isCanceled()) {
final File selectedFile;
final ExportFormat exportFormat = exportFormatSelectionDialog.getFormat();
// get the file to send the output to
if (exportFormat == ExportFormat.text) {
selectedFile = peptideShakerGUI.getUserSelectedFile(".txt", "Tab separated text file (.txt)", "Export...", false);
} else {
selectedFile = peptideShakerGUI.getUserSelectedFile(".xls", "Excel Workbook (.xls)", "Export...", false);
}
if (selectedFile != null) {
progressDialog = new ProgressDialogX(this, peptideShakerGUI,
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/peptide-shaker.gif")),
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/peptide-shaker-orange.gif")),
true);
new Thread(new Runnable() {
public void run() {
try {
progressDialog.setVisible(true);
} catch (IndexOutOfBoundsException e) {
// ignore
}
}
}, "ProgressDialog").start();
new Thread("ExportThread") {
@Override
public void run() {
boolean error = false;
try {
String schemeName = (String) reportsTable.getValueAt(reportsTable.getSelectedRow(), 1);
ExportScheme exportScheme = exportFactory.getExportScheme(schemeName);
PSExportFactory.writeDocumentation(exportScheme, exportFormat, selectedFile);
} catch (Exception e) {
error = true;
peptideShakerGUI.catchException(e);
}
progressDialog.setRunFinished();
if (!error) {
JOptionPane.showMessageDialog(peptideShakerGUI, "Documentation saved to \'" + selectedFile.getAbsolutePath() + "\'.",
"Documentation Saved", JOptionPane.INFORMATION_MESSAGE);
}
}
}.start();
}
}
}
/**
* Table model for the reports table.
*/
private class ReportsTableModel extends DefaultTableModel {
public ReportsTableModel() {
}
@Override
public int getRowCount() {
if (exportSchemesNames == null) {
return 0;
}
return exportSchemesNames.size();
}
@Override
public int getColumnCount() {
return 2;
}
@Override
public String getColumnName(int column) {
switch (column) {
case 0:
return " ";
case 1:
return "Name";
default:
return "";
}
}
@Override
public Object getValueAt(int row, int column) {
switch (column) {
case 0:
return row + 1;
case 1:
return exportSchemesNames.get(row);
default:
return "";
}
}
@Override
public Class getColumnClass(int columnIndex) {
for (int i = 0; i < getRowCount(); i++) {
if (getValueAt(i, columnIndex) != null) {
return getValueAt(i, columnIndex).getClass();
}
}
return String.class;
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
}
}