JAL-2629 remove redundant options from HMMER menu
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
index 294596c..74a3940 100755 (executable)
@@ -23,14 +23,9 @@ package jalview.jbgui;
 import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
 import jalview.api.SplitContainerI;
 import jalview.bin.Cache;
-import jalview.gui.Desktop;
-import jalview.gui.JvOptionPane;
 import jalview.gui.JvSwingUtils;
 import jalview.gui.Preferences;
-import jalview.gui.UserDefinedColours;
-import jalview.io.FileFormat;
-import jalview.schemes.ColourSchemeProperty;
-import jalview.schemes.UserColourScheme;
+import jalview.io.FileFormats;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
 
@@ -45,6 +40,7 @@ import java.awt.event.FocusEvent;
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -66,16 +62,20 @@ import javax.swing.event.MenuListener;
 
 public class GAlignFrame extends JInternalFrame
 {
-  protected static final String USER_DEFINED_COLOUR_SCHEME = "USER_DEFINED";
-
   protected JMenuBar alignFrameMenuBar = new JMenuBar();
 
   protected JMenuItem closeMenuItem = new JMenuItem();
 
-  protected JMenu colourMenu = new JMenu();
-
   protected JMenu webService = new JMenu();
 
+  protected JMenu hmmerMenu = new JMenu();
+
+  protected JMenuItem hmmAlign = new JMenuItem();
+
+  protected JMenuItem hmmSearch = new JMenuItem();
+
+  protected JMenuItem hmmBuild = new JCheckBoxMenuItem();
+
   protected JMenuItem webServiceNoServices;
 
   protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
@@ -88,40 +88,6 @@ public class GAlignFrame extends JInternalFrame
 
   protected JMenu outputTextboxMenu = new JMenu();
 
-  protected JRadioButtonMenuItem textColour;
-
-  protected JRadioButtonMenuItem clustalColour;
-
-  protected JRadioButtonMenuItem zappoColour;
-
-  protected JRadioButtonMenuItem taylorColour;
-
-  protected JRadioButtonMenuItem hydrophobicityColour;
-
-  protected JRadioButtonMenuItem helixColour;
-
-  protected JRadioButtonMenuItem strandColour;
-
-  protected JRadioButtonMenuItem turnColour;
-
-  protected JRadioButtonMenuItem buriedColour;
-
-  protected JRadioButtonMenuItem userDefinedColour;
-
-  protected JRadioButtonMenuItem PIDColour;
-
-  protected JRadioButtonMenuItem BLOSUM62Colour;
-
-  protected JRadioButtonMenuItem nucleotideColour;
-
-  protected JRadioButtonMenuItem purinePyrimidineColour;
-
-  protected JRadioButtonMenuItem RNAInteractionColour;
-
-  // protected JRadioButtonMenuItem covariationColour;
-
-  protected JRadioButtonMenuItem tcoffeeColour;
-
   protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
@@ -132,16 +98,10 @@ public class GAlignFrame extends JInternalFrame
 
   protected JMenuItem redoMenuItem = new JMenuItem();
 
-  protected JCheckBoxMenuItem conservationMenuItem;
-
-  JRadioButtonMenuItem noColourmenuItem;
-
   protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
 
-  protected JCheckBoxMenuItem abovePIDThreshold;
-
   public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
 
   JMenuItem copy = new JMenuItem();
@@ -150,8 +110,6 @@ public class GAlignFrame extends JInternalFrame
 
   JMenu pasteMenu = new JMenu();
 
-  protected JCheckBoxMenuItem applyToAllGroups;
-
   protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
@@ -160,17 +118,27 @@ public class GAlignFrame extends JInternalFrame
 
   protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
 
-  protected JMenuItem modifyPID;
+  protected JCheckBoxMenuItem applyToAllGroups;
+
+  protected JMenu colourMenu = new JMenu();
+
+  protected JMenuItem textColour;
+
+  protected JCheckBoxMenuItem conservationMenuItem;
 
   protected JMenuItem modifyConservation;
 
+  protected JCheckBoxMenuItem abovePIDThreshold;
+
+  protected JMenuItem modifyPID;
+
   protected JMenuItem annotationColour;
 
   protected JMenu sortByTreeMenu = new JMenu();
 
   protected JMenu sort = new JMenu();
 
-  protected JMenu calculateTree = new JMenu();
+  protected JMenuItem calculateTree = new JMenuItem();
 
   protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
 
@@ -178,8 +146,6 @@ public class GAlignFrame extends JInternalFrame
 
   protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
 
-  protected ButtonGroup colours = new ButtonGroup();
-
   protected JMenuItem showTranslation = new JMenuItem();
 
   protected JMenuItem showReverse = new JMenuItem();
@@ -190,8 +156,6 @@ public class GAlignFrame extends JInternalFrame
 
   protected JMenuItem runGroovy = new JMenuItem();
 
-  protected JMenuItem rnahelicesColour;
-
   protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
@@ -238,13 +202,19 @@ public class GAlignFrame extends JInternalFrame
 
   protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
 
+  protected JCheckBoxMenuItem showInformationHistogram = new JCheckBoxMenuItem();
+
+  protected JCheckBoxMenuItem showHMMSequenceLogo = new JCheckBoxMenuItem();
+
+  protected JCheckBoxMenuItem normaliseHMMSequenceLogo = new JCheckBoxMenuItem();
+
   protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
 
   private SequenceAnnotationOrder annotationSortOrder;
 
   private boolean showAutoCalculatedAbove = false;
 
-  private Map<KeyStroke, JMenuItem> accelerators = new HashMap<KeyStroke, JMenuItem>();
+  private Map<KeyStroke, JMenuItem> accelerators = new HashMap<>();
 
   private SplitContainerI splitFrame;
 
@@ -256,7 +226,7 @@ public class GAlignFrame extends JInternalFrame
       setJMenuBar(alignFrameMenuBar);
 
       // dynamically fill save as menu with available formats
-      for (String ff : FileFormat.getWritableFormats(true))
+      for (String ff : FileFormats.getInstance().getWritableFormats(true))
       {
         JMenuItem item = new JMenuItem(ff);
 
@@ -287,205 +257,12 @@ public class GAlignFrame extends JInternalFrame
       pasteMenu.setMnemonic('P');
       reload.setMnemonic('R');
     }
-
-    // Map<String, UserColourScheme> userColourSchemes = UserDefinedColours
-    // .getUserColourSchemes();
-    // if (userColourSchemes != null)
-    // {
-    // int insertionPoint = findUserDefinedColourPosition();
-    // for (String userColour : userColourSchemes.keySet())
-    // {
-    // final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
-    // userColour);
-    // radioItem.setName(USER_DEFINED_COLOUR_SCHEME);
-    // radioItem.addMouseListener(new MouseAdapter()
-    // {
-    // @Override
-    // public void mousePressed(MouseEvent evt)
-    // {
-    // if (evt.isPopupTrigger()) // Mac
-    // {
-    // offerRemoval();
-    // }
-    // }
-    //
-    // @Override
-    // public void mouseReleased(MouseEvent evt)
-    // {
-    // if (evt.isPopupTrigger()) // Windows
-    // {
-    // offerRemoval();
-    // }
-    // }
-    //
-    // void offerRemoval()
-    // {
-    // radioItem.removeActionListener(radioItem.getActionListeners()[0]);
-    //
-    // int option = JvOptionPane.showInternalConfirmDialog(
-    // Desktop.desktop, MessageManager
-    // .getString("label.remove_from_default_list"),
-    // MessageManager
-    // .getString("label.remove_user_defined_colour"),
-    // JvOptionPane.YES_NO_OPTION);
-    // if (option == JvOptionPane.YES_OPTION)
-    // {
-    // UserDefinedColours.removeColourFromDefaults(radioItem
-    // .getText());
-    // colourMenu.remove(radioItem);
-    // }
-    // else
-    // {
-    // radioItem.addActionListener(new ActionListener()
-    // {
-    // @Override
-    // public void actionPerformed(ActionEvent evt)
-    // {
-    // userDefinedColour_actionPerformed(evt);
-    // }
-    // });
-    // }
-    // }
-    // });
-    // radioItem.addActionListener(new ActionListener()
-    // {
-    // @Override
-    // public void actionPerformed(ActionEvent evt)
-    // {
-    // userDefinedColour_actionPerformed(evt);
-    // }
-    // });
-    // colourMenu.insert(radioItem, insertionPoint);
-    // insertionPoint++;
-    // colours.add(radioItem);
-    // }
-    // }
-    //
-    // /*
-    // * add colours to a ButtonGroup to make their
-    // * selection mutually exclusive
-    // */
-    // colours.add(noColourmenuItem);
-    // colours.add(clustalColour);
-    // colours.add(zappoColour);
-    // colours.add(taylorColour);
-    // colours.add(hydrophobicityColour);
-    // colours.add(helixColour);
-    // colours.add(strandColour);
-    // colours.add(turnColour);
-    // colours.add(buriedColour);
-    // colours.add(userDefinedColour);
-    // colours.add(PIDColour);
-    // colours.add(BLOSUM62Colour);
-    // colours.add(nucleotideColour);
-    // colours.add(purinePyrimidineColour);
-    // // colours.add(covariationColour);
-    // colours.add(tcoffeeColour);
-    // colours.add(RNAInteractionColour);
-    // setColourSelected(Cache.getDefault(Preferences.DEFAULT_COLOUR, "None"));
-  }
-
-  public void setColourSelected(String defaultColour)
-  {
-
-    if (defaultColour != null)
-    {
-      int index = ColourSchemeProperty
-              .getColourIndexFromName(defaultColour);
-
-      switch (index)
-      {
-      case ColourSchemeProperty.CLUSTAL:
-        clustalColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.BLOSUM:
-        BLOSUM62Colour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.PID:
-        PIDColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.ZAPPO:
-        zappoColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.TAYLOR:
-        taylorColour.setSelected(true);
-        break;
-
-      case ColourSchemeProperty.HYDROPHOBIC:
-        hydrophobicityColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.HELIX:
-        helixColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.STRAND:
-        strandColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.TURN:
-        turnColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.BURIED:
-        buriedColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.NUCLEOTIDE:
-        nucleotideColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.TCOFFEE:
-        tcoffeeColour.setSelected(true);
-        break;
-
-      case ColourSchemeProperty.PURINEPYRIMIDINE:
-        purinePyrimidineColour.setSelected(true);
-
-        break;
-
-      case ColourSchemeProperty.RNAINTERACTION:
-        RNAInteractionColour.setSelected(true);
-
-        break;
-      /*
-       * case ColourSchemeProperty.COVARIATION:
-       * covariationColour.setSelected(true);
-       * 
-       * break;
-       */
-      case ColourSchemeProperty.USER_DEFINED:
-        userDefinedColour.setSelected(true);
-
-        break;
-      case ColourSchemeProperty.NONE:
-      default:
-        noColourmenuItem.setSelected(true);
-        break;
-
-      }
-    }
-
   }
 
   private void jbInit() throws Exception
   {
     initColourMenu();
-    buildColourMenu();
+    initHMMERMenu();
 
     JMenuItem saveAs = new JMenuItem(
             MessageManager.getString("action.save_as"));
@@ -526,6 +303,7 @@ public class GAlignFrame extends JInternalFrame
     JMenu calculateMenu = new JMenu(
             MessageManager.getString("action.calculate"));
     webService.setText(MessageManager.getString("action.web_service"));
+    hmmerMenu.setText(MessageManager.getString("action.hmmer"));
     JMenuItem selectAllSequenceMenuItem = new JMenuItem(
             MessageManager.getString("action.select_all"));
     keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit
@@ -687,7 +465,7 @@ public class GAlignFrame extends JInternalFrame
       }
     });
     showNonconservedMenuItem.setText(MessageManager
-            .getString("label.show_non_conversed"));
+            .getString("label.show_non_conserved"));
     showNonconservedMenuItem.setState(false);
     showNonconservedMenuItem.addActionListener(new ActionListener()
     {
@@ -762,36 +540,6 @@ public class GAlignFrame extends JInternalFrame
         pairwiseAlignmentMenuItem_actionPerformed(e);
       }
     });
-    JMenuItem PCAMenuItem = new JMenuItem(
-            MessageManager.getString("label.principal_component_analysis"));
-    PCAMenuItem.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        PCAMenuItem_actionPerformed(e);
-      }
-    });
-    JMenuItem averageDistanceTreeMenuItem = new JMenuItem(
-            MessageManager.getString("label.average_distance_identity"));
-    averageDistanceTreeMenuItem.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        averageDistanceTreeMenuItem_actionPerformed(e);
-      }
-    });
-    JMenuItem neighbourTreeMenuItem = new JMenuItem(
-            MessageManager.getString("label.neighbour_joining_identity"));
-    neighbourTreeMenuItem.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        neighbourTreeMenuItem_actionPerformed(e);
-      }
-    });
 
     this.getContentPane().setLayout(new BorderLayout());
     alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
@@ -802,27 +550,6 @@ public class GAlignFrame extends JInternalFrame
     outputTextboxMenu.setText(MessageManager
             .getString("label.out_to_textbox"));
 
-
-    JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem(
-            MessageManager.getString("label.average_distance_bloslum62"));
-    avDistanceTreeBlosumMenuItem.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        avTreeBlosumMenuItem_actionPerformed(e);
-      }
-    });
-    JMenuItem njTreeBlosumMenuItem = new JMenuItem(
-            MessageManager.getString("label.neighbour_blosum62"));
-    njTreeBlosumMenuItem.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        njTreeBlosumMenuItem_actionPerformed(e);
-      }
-    });
     annotationPanelMenuItem.setActionCommand("");
     annotationPanelMenuItem.setText(MessageManager
             .getString("label.show_annotations"));
@@ -1214,7 +941,7 @@ public class GAlignFrame extends JInternalFrame
     });
 
     JMenuItem createGroup = new JMenuItem(
-            MessageManager.getString("action.create_groups"));
+            MessageManager.getString("action.create_group"));
     keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit
             .getDefaultToolkit().getMenuShortcutKeyMask(), false);
     al = new ActionListener()
@@ -1291,7 +1018,14 @@ public class GAlignFrame extends JInternalFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        pasteNew_actionPerformed(e);
+        try
+        {
+          pasteNew_actionPerformed(e);
+        } catch (IOException | InterruptedException e1)
+        {
+          // TODO Auto-generated catch block
+          e1.printStackTrace();
+        }
       }
     };
     addMenuActionAndAccelerator(keyStroke, pasteNew, al);
@@ -1305,7 +1039,14 @@ public class GAlignFrame extends JInternalFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        pasteThis_actionPerformed(e);
+        try
+        {
+          pasteThis_actionPerformed(e);
+        } catch (IOException | InterruptedException e1)
+        {
+          // TODO Auto-generated catch block
+          e1.printStackTrace();
+        }
       }
     };
     addMenuActionAndAccelerator(keyStroke, pasteThis, al);
@@ -1442,7 +1183,7 @@ public class GAlignFrame extends JInternalFrame
       @Override
       public void menuSelected(MenuEvent e)
       {
-        buildTreeMenu();
+        buildTreeSortMenu();
       }
 
       @Override
@@ -1479,8 +1220,8 @@ public class GAlignFrame extends JInternalFrame
     });
     sortByAnnotScore.setVisible(false);
 
-    calculateTree
-            .setText(MessageManager.getString("action.calculate_tree"));
+    calculateTree.setText(MessageManager
+            .getString("action.calculate_tree_pca"));
 
     padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
     padGapsMenuitem.setState(jalview.bin.Cache
@@ -1590,7 +1331,14 @@ public class GAlignFrame extends JInternalFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        associatedData_actionPerformed(e);
+        try
+        {
+          associatedData_actionPerformed(e);
+        } catch (IOException | InterruptedException e1)
+        {
+          // TODO Auto-generated catch block
+          e1.printStackTrace();
+        }
       }
     });
     autoCalculate.setText(MessageManager
@@ -1892,6 +1640,7 @@ public class GAlignFrame extends JInternalFrame
 
     formatMenu.setText(MessageManager.getString("action.format"));
     JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
+
     idRightAlign.setText(MessageManager
             .getString("label.right_align_sequence_id"));
     idRightAlign.addActionListener(new ActionListener()
@@ -1961,6 +1710,50 @@ public class GAlignFrame extends JInternalFrame
         selectHighlightedColumns_actionPerformed(actionEvent);
       }
     };
+    hmmBuild.setText(MessageManager.getString("label.hmmbuild"));
+    hmmBuild.addActionListener(new ActionListener()
+    {
+
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        try
+        {
+          hmmBuild_actionPerformed(e);
+        } catch (IOException e1)
+        {
+          // TODO Auto-generated catch block
+          e1.printStackTrace();
+        } catch (InterruptedException e1)
+        {
+          // TODO Auto-generated catch block
+          e1.printStackTrace();
+        }
+      }
+
+    });
+    hmmAlign.setText(MessageManager.getString("label.hmmalign"));
+    hmmAlign.addActionListener(new ActionListener()
+    {
+
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        try
+        {
+          hmmAlign_actionPerformed(e);
+        } catch (IOException e1)
+        {
+          // TODO Auto-generated catch block
+          e1.printStackTrace();
+        } catch (InterruptedException e1)
+        {
+          // TODO Auto-generated catch block
+          e1.printStackTrace();
+        }
+      }
+
+    });
     selectHighlighted.addActionListener(al);
     JMenu tooltipSettingsMenu = new JMenu(
             MessageManager.getString("label.sequence_id_tooltip"));
@@ -1979,6 +1772,7 @@ public class GAlignFrame extends JInternalFrame
     alignFrameMenuBar.add(colourMenu);
     alignFrameMenuBar.add(calculateMenu);
     alignFrameMenuBar.add(webService);
+    alignFrameMenuBar.add(hmmerMenu);
 
     fileMenu.add(fetchSequence);
     fileMenu.add(addSequenceMenu);
@@ -2081,7 +1875,6 @@ public class GAlignFrame extends JInternalFrame
     calculateMenu.add(calculateTree);
     calculateMenu.addSeparator();
     calculateMenu.add(pairwiseAlignmentMenuItem);
-    calculateMenu.add(PCAMenuItem);
     calculateMenu.addSeparator();
     calculateMenu.add(showTranslation);
     calculateMenu.add(showReverse);
@@ -2144,146 +1937,15 @@ public class GAlignFrame extends JInternalFrame
   }
 
   /**
-   * Rebuilds the Colour menu, including any user-defined colours which have
-   * been loaded either on startup or during the session
-   */
-  public void buildColourMenu()
-  {
-    colourMenu.removeAll();
-    colours = new ButtonGroup();
-
-    colourMenu.add(applyToAllGroups);
-    colourMenu.add(textColour);
-    colourMenu.addSeparator();
-    colourMenu.add(noColourmenuItem);
-    colourMenu.add(clustalColour);
-    colourMenu.add(BLOSUM62Colour);
-    colourMenu.add(PIDColour);
-    colourMenu.add(zappoColour);
-    colourMenu.add(taylorColour);
-    colourMenu.add(hydrophobicityColour);
-    colourMenu.add(helixColour);
-    colourMenu.add(strandColour);
-    colourMenu.add(turnColour);
-    colourMenu.add(buriedColour);
-    colourMenu.add(nucleotideColour);
-    colourMenu.add(purinePyrimidineColour);
-    // colourMenu.add(RNAInteractionColour);
-    // colourMenu.add(covariationColour);
-    colourMenu.add(tcoffeeColour);
-
-    /*
-     * add any user-defined colours
-     */
-    Map<String, UserColourScheme> userColourSchemes = UserDefinedColours
-            .getUserColourSchemes();
-    if (userColourSchemes != null)
-    {
-      for (String userColour : userColourSchemes.keySet())
-      {
-        final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
-                userColour);
-        radioItem.setName(USER_DEFINED_COLOUR_SCHEME);
-        radioItem.addMouseListener(new MouseAdapter()
-        {
-          @Override
-          public void mousePressed(MouseEvent evt)
-          {
-            if (evt.isPopupTrigger()) // Mac
-            {
-              offerRemoval();
-            }
-          }
-
-          @Override
-          public void mouseReleased(MouseEvent evt)
-          {
-            if (evt.isPopupTrigger()) // Windows
-            {
-              offerRemoval();
-            }
-          }
-
-          void offerRemoval()
-          {
-            radioItem.removeActionListener(radioItem.getActionListeners()[0]);
-
-            int option = JvOptionPane.showInternalConfirmDialog(
-                    Desktop.desktop, MessageManager
-                            .getString("label.remove_from_default_list"),
-                    MessageManager
-                            .getString("label.remove_user_defined_colour"),
-                    JvOptionPane.YES_NO_OPTION);
-            if (option == JvOptionPane.YES_OPTION)
-            {
-              UserDefinedColours.removeColourFromDefaults(radioItem
-                      .getText());
-              colourMenu.remove(radioItem);
-            }
-            else
-            {
-              radioItem.addActionListener(new ActionListener()
-              {
-                @Override
-                public void actionPerformed(ActionEvent evt)
-                {
-                  userDefinedColour_actionPerformed(evt);
-                }
-              });
-            }
-          }
-        });
-        radioItem.addActionListener(new ActionListener()
-        {
-          @Override
-          public void actionPerformed(ActionEvent evt)
-          {
-            userDefinedColour_actionPerformed(evt);
-          }
-        });
-        colourMenu.add(radioItem);
-        colours.add(radioItem);
-      }
-    }
-
-    colourMenu.add(userDefinedColour);
-    colourMenu.addSeparator();
-    colourMenu.add(conservationMenuItem);
-    colourMenu.add(modifyConservation);
-    colourMenu.add(abovePIDThreshold);
-    colourMenu.add(modifyPID);
-    colourMenu.add(annotationColour);
-    colourMenu.add(rnahelicesColour);
-
-    /*
-     * add colours to a ButtonGroup to make their 
-     * selection mutually exclusive
-     */
-    colours.add(noColourmenuItem);
-    colours.add(clustalColour);
-    colours.add(zappoColour);
-    colours.add(taylorColour);
-    colours.add(hydrophobicityColour);
-    colours.add(helixColour);
-    colours.add(strandColour);
-    colours.add(turnColour);
-    colours.add(buriedColour);
-    colours.add(userDefinedColour);
-    colours.add(PIDColour);
-    colours.add(BLOSUM62Colour);
-    colours.add(nucleotideColour);
-    colours.add(purinePyrimidineColour);
-    // colours.add(covariationColour);
-    colours.add(tcoffeeColour);
-    colours.add(RNAInteractionColour);
-    setColourSelected(Cache.getDefault(Preferences.DEFAULT_COLOUR, "None"));
-
-  }
-
-  /**
    * Constructs the entries on the Colour menu (but does not add them to the
-   * menu)
+   * menu).
    */
+  protected void initHMMERMenu()
+  {
+    hmmAlign = new JMenuItem(MessageManager.getString("label.hmmalign"));
+    hmmBuild = new JMenuItem(MessageManager.getString("label.hmmbuild"));
+    hmmSearch = new JMenuItem(MessageManager.getString("label.hmmsearch"));
+  }
   protected void initColourMenu()
   {
     applyToAllGroups = new JCheckBoxMenuItem(
@@ -2293,12 +1955,12 @@ public class GAlignFrame extends JInternalFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        applyToAllGroups_actionPerformed();
+        applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
       }
     });
 
-    textColour = new JRadioButtonMenuItem(
-            MessageManager.getString("action.set_text_colour"));
+    textColour = new JMenuItem(
+            MessageManager.getString("label.text_colour"));
     textColour.addActionListener(new ActionListener()
     {
       @Override
@@ -2307,188 +1969,16 @@ public class GAlignFrame extends JInternalFrame
         textColour_actionPerformed();
       }
     });
-    clustalColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.clustalx"));
-    clustalColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        clustalColour_actionPerformed();
-      }
-    });
-    zappoColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.zappo"));
-    zappoColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        zappoColour_actionPerformed();
-      }
-    });
-    taylorColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.taylor"));
-    taylorColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        taylorColour_actionPerformed();
-      }
-    });
-    hydrophobicityColour = new JRadioButtonMenuItem(
-            MessageManager
-            .getString("label.hydrophobicity"));
-    hydrophobicityColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        hydrophobicityColour_actionPerformed();
-      }
-    });
-    helixColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.helix_propensity"));
-    helixColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        helixColour_actionPerformed();
-      }
-    });
-    strandColour = new JRadioButtonMenuItem(
-            MessageManager
-            .getString("label.strand_propensity"));
-    strandColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        strandColour_actionPerformed();
-      }
-    });
-    turnColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.turn_propensity"));
-    turnColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        turnColour_actionPerformed();
-      }
-    });
-    buriedColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.buried_index"));
-    buriedColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        buriedColour_actionPerformed();
-      }
-    });
-    userDefinedColour = new JRadioButtonMenuItem(
-            MessageManager
-            .getString("action.user_defined"));
-    userDefinedColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        userDefinedColour_actionPerformed(e);
-      }
-    });
-    PIDColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.percentage_identity"));
-    PIDColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        PIDColour_actionPerformed();
-      }
-    });
-    BLOSUM62Colour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.blosum62_score"));
-    BLOSUM62Colour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        BLOSUM62Colour_actionPerformed();
-      }
-    });
-    nucleotideColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.nucleotide"));
-    nucleotideColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        nucleotideColour_actionPerformed();
-      }
-    });
-    purinePyrimidineColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.purine_pyrimidine"));
-    purinePyrimidineColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        purinePyrimidineColour_actionPerformed();
-      }
-    });
-
-    tcoffeeColour = new JRadioButtonMenuItem(
-            MessageManager.getString("label.tcoffee_scores"));
-    tcoffeeColour.setEnabled(false);
-    tcoffeeColour.addActionListener(new ActionListener()
-    {
-
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        tcoffeeColorScheme_actionPerformed();
-      }
-    });
-
-    RNAInteractionColour = new JRadioButtonMenuItem("RNA Interaction type");
-    RNAInteractionColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        RNAInteractionColour_actionPerformed();
-      }
-    });
-    /*
-     * covariationColour = new JRadioButtonMenuItem("Covariation");
-     * covariationColour.addActionListener(new ActionListener() { public void
-     * actionPerformed(ActionEvent e) { covariationColour_actionPerformed(); }
-     * });
-     */
 
     conservationMenuItem = new JCheckBoxMenuItem(
-            MessageManager
-            .getString("action.by_conservation"));
+            MessageManager.getString("action.by_conservation"));
     conservationMenuItem.addActionListener(new ActionListener()
     {
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        conservationMenuItem_actionPerformed();
-      }
-    });
-    noColourmenuItem = new JRadioButtonMenuItem(
-            MessageManager.getString("label.none"));
-    noColourmenuItem.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        noColourmenuItem_actionPerformed();
+        conservationMenuItem_actionPerformed(conservationMenuItem
+                .isSelected());
       }
     });
 
@@ -2499,7 +1989,7 @@ public class GAlignFrame extends JInternalFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        abovePIDThreshold_actionPerformed();
+        abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
       }
     });
     modifyPID = new JMenuItem(
@@ -2534,17 +2024,6 @@ public class GAlignFrame extends JInternalFrame
         annotationColour_actionPerformed();
       }
     });
-
-    rnahelicesColour = new JMenuItem(
-            MessageManager.getString("action.by_rna_helixes"));
-    rnahelicesColour.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        rnahelicesColour_actionPerformed();
-      }
-    });
   }
 
   protected void selectHighlightedColumns_actionPerformed(
@@ -2882,147 +2361,91 @@ public class GAlignFrame extends JInternalFrame
   {
   }
 
-  protected void PCAMenuItem_actionPerformed(ActionEvent e)
-  {
-  }
-
-  protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
-  {
-  }
-
   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
-  {
-  }
-
-  protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
-  {
-  }
-
-  protected void clustalColour_actionPerformed()
-  {
-  }
-
-  protected void zappoColour_actionPerformed()
-  {
-  }
-
-  protected void taylorColour_actionPerformed()
-  {
-  }
-
-  protected void hydrophobicityColour_actionPerformed()
-  {
-  }
-
-  protected void helixColour_actionPerformed()
-  {
-  }
-
-  protected void strandColour_actionPerformed()
-  {
-  }
-
-  protected void turnColour_actionPerformed()
-  {
-  }
-
-  protected void buriedColour_actionPerformed()
-  {
-  }
-
-  protected void userDefinedColour_actionPerformed(ActionEvent e)
+  protected void conservationMenuItem_actionPerformed(boolean selected)
   {
   }
 
-  protected void PIDColour_actionPerformed()
-  {
-  }
-
-  protected void BLOSUM62Colour_actionPerformed()
-  {
-  }
-
-  protected void purinePyrimidineColour_actionPerformed()
+  protected void printMenuItem_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void RNAInteractionColour_actionPerformed()
+  protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
   {
   }
 
-  /*
-   * protected void covariationColour_actionPerformed() { }
-   */
-
-  protected void noColourmenuItem_actionPerformed()
+  protected void findMenuItem_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void conservationMenuItem_actionPerformed()
+  protected void abovePIDThreshold_actionPerformed(boolean selected)
   {
   }
 
-  protected void printMenuItem_actionPerformed(ActionEvent e)
+  public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
   {
   }
 
-  protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
+  protected void deleteGroups_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void findMenuItem_actionPerformed(ActionEvent e)
+  protected void createGroup_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void abovePIDThreshold_actionPerformed()
+  protected void unGroup_actionPerformed(ActionEvent e)
   {
   }
 
-  public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
+  protected void copy_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void nucleotideColour_actionPerformed()
+  protected void cut_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void deleteGroups_actionPerformed(ActionEvent e)
+  protected void delete_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void createGroup_actionPerformed(ActionEvent e)
+  protected void pasteNew_actionPerformed(ActionEvent e)
+          throws IOException, InterruptedException
   {
   }
 
-  protected void unGroup_actionPerformed(ActionEvent e)
+  protected void pasteThis_actionPerformed(ActionEvent e)
+          throws IOException, InterruptedException
   {
   }
 
-  protected void copy_actionPerformed(ActionEvent e)
+  protected void applyToAllGroups_actionPerformed(boolean selected)
   {
   }
 
-  protected void cut_actionPerformed(ActionEvent e)
+  protected void autoAlignSeqs_actionPerformed(boolean selected)
   {
   }
 
-  protected void delete_actionPerformed(ActionEvent e)
+  protected void hmmAlign_actionPerformed(ActionEvent e)
+          throws IOException, InterruptedException
   {
   }
 
-  protected void pasteNew_actionPerformed(ActionEvent e)
+  protected void changeHMMERLocation_actionPerformed(ActionEvent e)
   {
   }
 
-  protected void pasteThis_actionPerformed(ActionEvent e)
+  protected void hmmBuild_actionPerformed(ActionEvent e)
+          throws IOException, InterruptedException
   {
   }
 
-  protected void applyToAllGroups_actionPerformed()
+  protected void hmmSearch_actionPerformed(ActionEvent e)
   {
   }
 
@@ -3070,16 +2493,6 @@ public class GAlignFrame extends JInternalFrame
 
   }
 
-  /**
-   * Template method to handle the 'Color T-Coffee scores' menu event.
-   * <p>
-   * Subclasses override this method to provide a custom action.
-   */
-  protected void tcoffeeColorScheme_actionPerformed()
-  {
-
-  }
-
   protected void jpred_actionPerformed(ActionEvent e)
   {
   }
@@ -3150,12 +2563,8 @@ public class GAlignFrame extends JInternalFrame
   {
   }
 
-  public void rnahelicesColour_actionPerformed()
-  {
-
-  }
-
   public void associatedData_actionPerformed(ActionEvent e)
+          throws IOException, InterruptedException
   {
 
   }
@@ -3265,7 +2674,7 @@ public class GAlignFrame extends JInternalFrame
 
   }
 
-  public void buildTreeMenu()
+  public void buildTreeSortMenu()
   {
 
   }
@@ -3352,4 +2761,22 @@ public class GAlignFrame extends JInternalFrame
   protected void showComplement_actionPerformed(boolean complement)
   {
   }
+
+  protected void showInformationHistogram_actionPerformed(ActionEvent e)
+  {
+    // TODO Auto-generated method stub
+
+  }
+
+  protected void showHMMSequenceLogo_actionPerformed(ActionEvent e)
+  {
+    // TODO Auto-generated method stub
+
+  }
+
+  protected void normaliseHMMSequenceLogo_actionPerformed(ActionEvent e)
+  {
+    // TODO Auto-generated method stub
+
+  }
 }