/**
   * Open the UniProt download page for the given species.
   *
   * @param evt
   */
  private void downloadUniProtJLabelMouseClicked(
      java.awt.event.MouseEvent evt) { // GEN-FIRST:event_downloadUniProtJLabelMouseClicked

    // @TODO: for "Mus musculus (Mouse)" get rid of "(Mouse)" before searching
    if (downloadUniProtJLabel.isEnabled()) {
      this.setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
      BareBonesBrowserLaunch.openURL(
          "http://www.uniprot.org/uniprot/?query=%28organism%3A%22"
              + species
              + "%22%29&sort=score");
      this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    }
  } // GEN-LAST:event_downloadUniProtJLabelMouseClicked
 /**
  * Carry out actions upon user clicks.
  *
  * @param evt
  */
 private void displayPanelMouseClicked(
     java.awt.event.MouseEvent evt) { // GEN-FIRST:event_displayPanelMouseClicked
   if (currentDisplayPanelIndex == displayPanels.size() - 1) {
     setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
     setVisible(false);
     if (welcomeDialog != null) {
       welcomeDialog.setVisible(false);
     }
     peptideShakerGUI.setVisible(true);
     dispose();
     peptideShakerGUI.openExampleFile();
     setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
   } else if (currentDisplayPanelIndex == 1) {
     setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
     BareBonesBrowserLaunch.openURL("http://compomics.github.io/projects/searchgui.html");
     setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
   }
 } // GEN-LAST:event_displayPanelMouseClicked
  /**
   * Sets the main match if the main match column is selected, or opens the protein web link if the
   * accession number column is selected.
   *
   * @param evt
   */
  private void proteinMatchTableMouseReleased(
      java.awt.event.MouseEvent evt) { // GEN-FIRST:event_proteinMatchTableMouseReleased

    int row = proteinMatchTable.rowAtPoint(evt.getPoint());
    int column = proteinMatchTable.columnAtPoint(evt.getPoint());

    if (row != -1) {

      if (column == 1) {
        try {
          inspectedMatch.setMainMatch(accessions.get(row));
          identification.updateProteinMatch(inspectedMatch);
          peptideShakerGUI
              .getIdentificationFeaturesGenerator()
              .updateCoverableAA(inspectedMatch.getKey());
          peptideShakerGUI
              .getIdentificationFeaturesGenerator()
              .updateSequenceCoverage(inspectedMatch.getKey());
          peptideShakerGUI
              .getIdentificationFeaturesGenerator()
              .updateObservableCoverage(inspectedMatch.getKey());
        } catch (Exception e) {
          peptideShakerGUI.catchException(e);
        }
        proteinMatchTable.revalidate();
        proteinMatchTable.repaint();
      } else if (column == 2) {

        // open protein link in web browser
        if (evt.getButton() == MouseEvent.BUTTON1
            && ((String) proteinMatchTable.getValueAt(row, column)).lastIndexOf("<html>") != -1) {

          String link = (String) proteinMatchTable.getValueAt(row, column);
          link = link.substring(link.indexOf("\"") + 1);
          link = link.substring(0, link.indexOf("\""));

          this.setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
          BareBonesBrowserLaunch.openURL(link);
          this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        }
      }
    }
  } // GEN-LAST:event_proteinMatchTableMouseReleased
 /**
  * Open the ISAS web page.
  *
  * @param evt
  */
 private void isasButtonActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_isasButtonActionPerformed
   setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
   BareBonesBrowserLaunch.openURL("http://www.isas.de");
   setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
 } // GEN-LAST:event_isasButtonActionPerformed
 /**
  * Open the Compomics web page.
  *
  * @param evt
  */
 private void compomicsButtonActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_compomicsButtonActionPerformed
   setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
   BareBonesBrowserLaunch.openURL("http://compomics.wordpress.com");
   setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
 } // GEN-LAST:event_compomicsButtonActionPerformed
 /**
  * Open the database help web page.
  *
  * @param evt
  */
 private void databaseHelpSettingsJLabelMouseClicked(
     java.awt.event.MouseEvent evt) { // GEN-FIRST:event_databaseHelpSettingsJLabelMouseClicked
   this.setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
   BareBonesBrowserLaunch.openURL("http://compomics.github.io/searchgui/wiki/databasehelp.html");
   this.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
 } // GEN-LAST:event_databaseHelpSettingsJLabelMouseClicked