X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGAlignFrame.java;h=25db31aab3246021583926c1e9b1902cd7c4daaf;hb=586ade46bdcd05ff028a1cff82c3c527326d28ec;hp=6c6d123e25aad3ef171813f7e48970c3064b3f60;hpb=54f6fe32b978af0932428981a56c9960b0df44a7;p=jalview.git diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index 6c6d123..25db31a 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -31,6 +31,7 @@ import java.awt.event.InputEvent; 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; @@ -57,11 +58,14 @@ import jalview.api.SplitContainerI; import jalview.bin.Cache; import jalview.gui.JvSwingUtils; import jalview.gui.Preferences; +import jalview.hmmer.HmmerCommand; +import jalview.io.FileFormatException; import jalview.io.FileFormats; import jalview.schemes.ResidueColourScheme; import jalview.util.MessageManager; import jalview.util.Platform; + @SuppressWarnings("serial") public class GAlignFrame extends JInternalFrame { @@ -71,9 +75,11 @@ public class GAlignFrame extends JInternalFrame public JMenu webService = new JMenu();// BH 2019 was protected, but not // sufficient for AlignFrame thread run + // JBP - followed suite for these other service related GUI elements. + // TODO: check we really need these to be public + public JMenu hmmerMenu = new JMenu(); - public JMenuItem webServiceNoServices;// BH 2019 was protected, but not - // sufficient for AlignFrame thread run + public JMenuItem webServiceNoServices; protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem(); @@ -203,6 +209,12 @@ 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(); protected JMenuItem openFeatureSettings; @@ -264,7 +276,7 @@ public class GAlignFrame extends JInternalFrame private void jbInit() throws Exception { initColourMenu(); - + JMenuItem saveAs = new JMenuItem( MessageManager.getString("action.save_as")); ActionListener al = new ActionListener() @@ -275,12 +287,12 @@ public class GAlignFrame extends JInternalFrame saveAs_actionPerformed(); } }; - + // FIXME getDefaultToolkit throws an exception in Headless mode KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Platform.SHORTCUT_KEY_MASK | InputEvent.SHIFT_DOWN_MASK, false); addMenuActionAndAccelerator(keyStroke, saveAs, al); - + closeMenuItem.setText(MessageManager.getString("action.close")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, Platform.SHORTCUT_KEY_MASK, false); al = new ActionListener() @@ -292,7 +304,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, closeMenuItem, al); - + JMenu editMenu = new JMenu(MessageManager.getString("action.edit")); JMenu viewMenu = new JMenu(MessageManager.getString("action.view")); JMenu annotationsMenu = new JMenu( @@ -302,6 +314,9 @@ public class GAlignFrame extends JInternalFrame JMenu calculateMenu = new JMenu( MessageManager.getString("action.calculate")); webService.setText(MessageManager.getString("action.web_service")); + + initHMMERMenu(); + JMenuItem selectAllSequenceMenuItem = new JMenuItem( MessageManager.getString("action.select_all")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A, @@ -315,7 +330,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al); - + JMenuItem deselectAllSequenceMenuItem = new JMenuItem( MessageManager.getString("action.deselect_all")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false); @@ -328,7 +343,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al); - + JMenuItem invertSequenceMenuItem = new JMenuItem( MessageManager.getString("action.invert_sequence_selection")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, @@ -342,7 +357,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al); - + JMenuItem grpsFromSelection = new JMenuItem( MessageManager.getString("action.make_groups_selection")); grpsFromSelection.addActionListener(new ActionListener() @@ -378,7 +393,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al); - + JMenuItem remove2RightMenuItem = new JMenuItem( MessageManager.getString("action.remove_right")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R, @@ -392,7 +407,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al); - + JMenuItem removeGappedColumnMenuItem = new JMenuItem( MessageManager.getString("action.remove_empty_columns")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, @@ -406,7 +421,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al); - + JMenuItem removeAllGapsMenuItem = new JMenuItem( MessageManager.getString("action.remove_all_gaps")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E, @@ -422,7 +437,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al); - + JMenuItem justifyLeftMenuItem = new JMenuItem( MessageManager.getString("action.left_justify_alignment")); justifyLeftMenuItem.addActionListener(new ActionListener() @@ -514,7 +529,27 @@ public class GAlignFrame extends JInternalFrame sortGroupMenuItem_actionPerformed(e); } }); - + JMenuItem sortEValueMenuItem = new JMenuItem( + MessageManager.getString("action.by_evalue")); + sortEValueMenuItem.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + sortEValueMenuItem_actionPerformed(e); + } + }); + JMenuItem sortBitScoreMenuItem = new JMenuItem( + MessageManager.getString("action.by_bit_score")); + sortBitScoreMenuItem.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + sortBitScoreMenuItem_actionPerformed(e); + } + }); + JMenuItem removeRedundancyMenuItem = new JMenuItem( MessageManager.getString("action.remove_redundancy")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D, @@ -529,6 +564,30 @@ public class GAlignFrame extends JInternalFrame }; addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al); + JMenuItem filterByEValue = new JMenuItem( + MessageManager.getString("action.filter_by_evalue")); + filterByEValue.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + filterByEValue_actionPerformed(); + } + + }); + + JMenuItem filterByScore = new JMenuItem( + MessageManager.getString("action.filter_by_score")); + filterByScore.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + filterByScore_actionPerformed(); + } + + }); + JMenuItem pairwiseAlignmentMenuItem = new JMenuItem( MessageManager.getString("action.pairwise_alignment")); pairwiseAlignmentMenuItem.addActionListener(new ActionListener() @@ -539,16 +598,18 @@ public class GAlignFrame extends JInternalFrame pairwiseAlignmentMenuItem_actionPerformed(e); } }); - + this.getContentPane().setLayout(new BorderLayout()); alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11)); statusBar.setBackground(Color.white); statusBar.setFont(new java.awt.Font("Verdana", 0, 11)); statusBar.setBorder(BorderFactory.createLineBorder(Color.black)); statusBar.setText(MessageManager.getString("label.status_bar")); + outputTextboxMenu .setText(MessageManager.getString("label.out_to_textbox")); + annotationPanelMenuItem.setActionCommand(""); annotationPanelMenuItem .setText(MessageManager.getString("label.show_annotations")); @@ -616,6 +677,7 @@ public class GAlignFrame extends JInternalFrame final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem( MessageManager.getString("label.sort_annotations_by_label")); + sortAnnBySequence.setSelected( sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL); sortAnnBySequence.addActionListener(new ActionListener() @@ -656,7 +718,7 @@ public class GAlignFrame extends JInternalFrame colourTextMenuItem_actionPerformed(e); } }); - + JMenuItem htmlMenuItem = new JMenuItem( MessageManager.getString("label.html")); htmlMenuItem.addActionListener(new ActionListener() @@ -667,7 +729,7 @@ public class GAlignFrame extends JInternalFrame htmlMenuItem_actionPerformed(e); } }); - + JMenuItem createBioJS = new JMenuItem( MessageManager.getString("label.biojs_html_export")); createBioJS.addActionListener(new java.awt.event.ActionListener() @@ -678,7 +740,7 @@ public class GAlignFrame extends JInternalFrame bioJSMenuItem_actionPerformed(e); } }); - + JMenuItem overviewMenuItem = new JMenuItem( MessageManager.getString("label.overview_window")); overviewMenuItem.addActionListener(new ActionListener() @@ -689,7 +751,7 @@ public class GAlignFrame extends JInternalFrame overviewMenuItem_actionPerformed(e); } }); - + undoMenuItem.setEnabled(false); undoMenuItem.setText(MessageManager.getString("action.undo")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z, @@ -703,7 +765,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, undoMenuItem, al); - + redoMenuItem.setEnabled(false); redoMenuItem.setText(MessageManager.getString("action.redo")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y, @@ -717,7 +779,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, redoMenuItem, al); - + wrapMenuItem.setText(MessageManager.getString("label.wrap")); wrapMenuItem.addActionListener(new ActionListener() { @@ -727,7 +789,7 @@ public class GAlignFrame extends JInternalFrame wrapMenuItem_actionPerformed(e); } }); - + JMenuItem printMenuItem = new JMenuItem( MessageManager.getString("action.print")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, @@ -741,7 +803,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, printMenuItem, al); - + renderGapsMenuItem .setText(MessageManager.getString("action.show_gaps")); renderGapsMenuItem.setState(true); @@ -753,7 +815,7 @@ public class GAlignFrame extends JInternalFrame renderGapsMenuItem_actionPerformed(e); } }); - + JMenuItem findMenuItem = new JMenuItem( MessageManager.getString("action.find")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F, @@ -772,6 +834,7 @@ public class GAlignFrame extends JInternalFrame showSeqFeatures.setText( MessageManager.getString("label.show_sequence_features")); + showSeqFeatures.addActionListener(new ActionListener() { @Override @@ -790,86 +853,86 @@ public class GAlignFrame extends JInternalFrame .setText(MessageManager.getString("label.show_database_refs")); showDbRefsMenuitem.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { showDbRefs_actionPerformed(e); } - + }); showNpFeatsMenuitem.setText( MessageManager.getString("label.show_non_positional_features")); showNpFeatsMenuitem.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { showNpFeats_actionPerformed(e); } - + }); showGroupConservation .setText(MessageManager.getString("label.group_conservation")); showGroupConservation.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { showGroupConservation_actionPerformed(e); } - + }); showGroupConsensus .setText(MessageManager.getString("label.group_consensus")); showGroupConsensus.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { showGroupConsensus_actionPerformed(e); } - + }); showConsensusHistogram.setText( MessageManager.getString("label.show_consensus_histogram")); showConsensusHistogram.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { showConsensusHistogram_actionPerformed(e); } - + }); showSequenceLogo .setText(MessageManager.getString("label.show_consensus_logo")); showSequenceLogo.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { showSequenceLogo_actionPerformed(e); } - + }); normaliseSequenceLogo .setText(MessageManager.getString("label.norm_consensus_logo")); normaliseSequenceLogo.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { normaliseSequenceLogo_actionPerformed(e); } - + }); applyAutoAnnotationSettings .setText(MessageManager.getString("label.apply_all_groups")); @@ -883,7 +946,7 @@ public class GAlignFrame extends JInternalFrame applyAutoAnnotationSettings_actionPerformed(e); } }); - + ButtonGroup buttonGroup = new ButtonGroup(); final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem( MessageManager.getString("label.show_first")); @@ -914,7 +977,7 @@ public class GAlignFrame extends JInternalFrame sortAnnotations_actionPerformed(); } }); - + JMenuItem deleteGroups = new JMenuItem( MessageManager.getString("action.undefine_groups")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U, @@ -928,7 +991,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, deleteGroups, al); - + JMenuItem annotationColumn = new JMenuItem( MessageManager.getString("action.select_by_annotation")); annotationColumn.addActionListener(new ActionListener() @@ -939,7 +1002,7 @@ public class GAlignFrame extends JInternalFrame annotationColumn_actionPerformed(e); } }); - + JMenuItem createGroup = new JMenuItem( MessageManager.getString("action.create_group")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, @@ -953,7 +1016,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, createGroup, al); - + JMenuItem unGroup = new JMenuItem( MessageManager.getString("action.remove_group")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, @@ -969,7 +1032,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, unGroup, al); - + copy.setText(MessageManager.getString("action.copy")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Platform.SHORTCUT_KEY_MASK, false); @@ -983,7 +1046,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, copy, al); - + cut.setText(MessageManager.getString("action.cut")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, Platform.SHORTCUT_KEY_MASK, false); @@ -996,7 +1059,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, cut, al); - + JMenuItem delete = new JMenuItem( MessageManager.getString("action.delete")); delete.addActionListener(new ActionListener() @@ -1007,7 +1070,7 @@ public class GAlignFrame extends JInternalFrame delete_actionPerformed(); } }); - + pasteMenu.setText(MessageManager.getString("action.paste")); JMenuItem pasteNew = new JMenuItem( MessageManager.getString("label.to_new_alignment")); @@ -1020,11 +1083,18 @@ 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); - + JMenuItem pasteThis = new JMenuItem( MessageManager.getString("label.to_this_alignment")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, @@ -1034,11 +1104,18 @@ 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); - + JMenuItem createPNG = new JMenuItem("PNG"); createPNG.addActionListener(new ActionListener() { @@ -1050,7 +1127,6 @@ public class GAlignFrame extends JInternalFrame }); createPNG.setActionCommand( MessageManager.getString("label.save_png_image")); - JMenuItem font = new JMenuItem(MessageManager.getString("action.font")); font.addActionListener(new ActionListener() { @@ -1080,7 +1156,7 @@ public class GAlignFrame extends JInternalFrame createEPS(null); } }); - + JMenuItem createSVG = new JMenuItem("SVG"); createSVG.addActionListener(new ActionListener() { @@ -1090,7 +1166,7 @@ public class GAlignFrame extends JInternalFrame createSVG(null); } }); - + JMenuItem loadTreeMenuItem = new JMenuItem( MessageManager.getString("label.load_associated_tree")); loadTreeMenuItem.setActionCommand( @@ -1103,7 +1179,7 @@ public class GAlignFrame extends JInternalFrame loadTreeMenuItem_actionPerformed(e); } }); - + scaleAbove.setVisible(false); scaleAbove.setText(MessageManager.getString("action.scale_above")); scaleAbove.addActionListener(new ActionListener() @@ -1154,15 +1230,15 @@ public class GAlignFrame extends JInternalFrame .setText(MessageManager.getString("label.automatic_scrolling")); followHighlightMenuItem.addActionListener(new ActionListener() { - + @Override public void actionPerformed(ActionEvent e) { followHighlight_actionPerformed(); } - + }); - + sortByTreeMenu .setText(MessageManager.getString("action.by_tree_order")); sort.setText(MessageManager.getString("action.sort")); @@ -1191,12 +1267,12 @@ public class GAlignFrame extends JInternalFrame { buildTreeSortMenu(); } - + @Override public void menuDeselected(MenuEvent e) { } - + @Override public void menuCanceled(MenuEvent e) { @@ -1207,17 +1283,17 @@ public class GAlignFrame extends JInternalFrame sort.add(sortByAnnotScore); sort.addMenuListener(new javax.swing.event.MenuListener() { - + @Override public void menuCanceled(MenuEvent e) { } - + @Override public void menuDeselected(MenuEvent e) { } - + @Override public void menuSelected(MenuEvent e) { @@ -1297,7 +1373,7 @@ public class GAlignFrame extends JInternalFrame showReverse_actionPerformed(true); } }); - + JMenuItem extractScores = new JMenuItem( MessageManager.getString("label.extract_scores")); extractScores.addActionListener(new ActionListener() @@ -1310,10 +1386,10 @@ public class GAlignFrame extends JInternalFrame }); extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based score extraction - + // for show products actions see AlignFrame.canShowProducts showProducts.setText(MessageManager.getString("label.get_cross_refs")); - + runGroovy.setText(MessageManager.getString("label.run_groovy")); runGroovy.setToolTipText( MessageManager.getString("label.run_groovy_tip")); @@ -1350,7 +1426,7 @@ public class GAlignFrame extends JInternalFrame fetchSequence_actionPerformed(); } }); - + JMenuItem associatedData = new JMenuItem( MessageManager.getString("label.load_features_annotations")); associatedData.addActionListener(new ActionListener() @@ -1358,7 +1434,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(); + } } }); loadVcf = new JMenuItem( @@ -1413,7 +1496,7 @@ public class GAlignFrame extends JInternalFrame listenToViewSelections_actionPerformed(e); } }); - + JMenu addSequenceMenu = new JMenu( MessageManager.getString("label.add_sequences")); JMenuItem addFromFile = new JMenuItem( @@ -1559,7 +1642,7 @@ public class GAlignFrame extends JInternalFrame hiddenMarkers_actionPerformed(e); } }); - + JMenuItem invertColSel = new JMenuItem( MessageManager.getString("action.invert_column_selection")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I, @@ -1575,7 +1658,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, invertColSel, al); - + showComplementMenuItem.setVisible(false); showComplementMenuItem.addActionListener(new ActionListener() { @@ -1585,7 +1668,7 @@ public class GAlignFrame extends JInternalFrame showComplement_actionPerformed(showComplementMenuItem.getState()); } }); - + tabbedPane.addChangeListener(new javax.swing.event.ChangeListener() { @Override @@ -1606,7 +1689,7 @@ public class GAlignFrame extends JInternalFrame tabbedPane_mousePressed(e); } } - + @Override public void mouseReleased(MouseEvent e) { @@ -1624,7 +1707,7 @@ public class GAlignFrame extends JInternalFrame tabbedPane_focusGained(e); } }); - + JMenuItem save = new JMenuItem(MessageManager.getString("action.save")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, Platform.SHORTCUT_KEY_MASK, false); @@ -1637,7 +1720,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, save, al); - + reload.setEnabled(false); reload.setText(MessageManager.getString("action.reload")); reload.addActionListener(new ActionListener() @@ -1648,7 +1731,7 @@ public class GAlignFrame extends JInternalFrame reload_actionPerformed(e); } }); - + JMenuItem newView = new JMenuItem( MessageManager.getString("action.new_view")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, @@ -1662,11 +1745,11 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, newView, al); - + tabbedPane.setToolTipText("" + MessageManager.getString("label.rename_tab_eXpand_reGroup") + ""); - + formatMenu.setText(MessageManager.getString("action.format")); JMenu selectMenu = new JMenu(MessageManager.getString("action.select")); @@ -1680,7 +1763,7 @@ public class GAlignFrame extends JInternalFrame idRightAlign_actionPerformed(e); } }); - + gatherViews.setEnabled(false); gatherViews.setText(MessageManager.getString("action.gather_views")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false); @@ -1693,7 +1776,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, gatherViews, al); - + expandViews.setEnabled(false); expandViews.setText(MessageManager.getString("action.expand_views")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false); @@ -1706,7 +1789,7 @@ public class GAlignFrame extends JInternalFrame } }; addMenuActionAndAccelerator(keyStroke, expandViews, al); - + JMenuItem pageSetup = new JMenuItem( MessageManager.getString("action.page_setup")); pageSetup.addActionListener(new ActionListener() @@ -1739,12 +1822,24 @@ public class GAlignFrame extends JInternalFrame selectHighlightedColumns_actionPerformed(actionEvent); } }; + JMenuItem Filter = new JMenuItem( + MessageManager.getString("action.select_highlighted_columns")); + selectHighlighted.setToolTipText( + MessageManager.getString("tooltip.select_highlighted_columns")); + al = new ActionListener() + { + @Override + public void actionPerformed(ActionEvent actionEvent) + { + selectHighlightedColumns_actionPerformed(actionEvent); + } + }; selectHighlighted.addActionListener(al); JMenu tooltipSettingsMenu = new JMenu( MessageManager.getString("label.sequence_id_tooltip")); JMenu autoAnnMenu = new JMenu( MessageManager.getString("label.autocalculated_annotation")); - + JMenu exportImageMenu = new JMenu( MessageManager.getString("label.export_image")); JMenu fileMenu = new JMenu(MessageManager.getString("action.file")); @@ -1756,11 +1851,12 @@ public class GAlignFrame extends JInternalFrame alignFrameMenuBar.add(formatMenu); alignFrameMenuBar.add(colourMenu); alignFrameMenuBar.add(calculateMenu); + alignFrameMenuBar.add(webService); if (!Platform.isJS()) { - alignFrameMenuBar.add(webService); + alignFrameMenuBar.add(hmmerMenu); } - + fileMenu.add(fetchSequence); fileMenu.add(addSequenceMenu); fileMenu.add(reload); @@ -1783,7 +1879,7 @@ public class GAlignFrame extends JInternalFrame } fileMenu.addSeparator(); fileMenu.add(closeMenuItem); - + pasteMenu.add(pasteNew); pasteMenu.add(pasteThis); editMenu.add(undoMenuItem); @@ -1805,7 +1901,10 @@ public class GAlignFrame extends JInternalFrame // editMenu.add(justifyRightMenuItem); // editMenu.addSeparator(); editMenu.add(padGapsMenuitem); - + editMenu.addSeparator(); + editMenu.add(filterByEValue); + editMenu.add(filterByScore); + showMenu.add(showAllColumns); showMenu.add(showAllSeqs); showMenu.add(showAllhidden); @@ -1833,7 +1932,7 @@ public class GAlignFrame extends JInternalFrame viewMenu.add(alignmentProperties); viewMenu.addSeparator(); viewMenu.add(overviewMenuItem); - + annotationsMenu.add(annotationPanelMenuItem); annotationsMenu.addSeparator(); annotationsMenu.add(showAllAlAnnotations); @@ -1860,6 +1959,8 @@ public class GAlignFrame extends JInternalFrame sort.add(sortLengthMenuItem); sort.add(sortGroupMenuItem); sort.add(sortPairwiseMenuItem); + sort.add(sortEValueMenuItem); + sort.add(sortBitScoreMenuItem); sort.add(sortByTreeMenu); calculateMenu.add(sort); calculateMenu.add(calculateTree); @@ -1880,7 +1981,6 @@ public class GAlignFrame extends JInternalFrame calculateMenu.addSeparator(); calculateMenu.add(runGroovy); } - webServiceNoServices = new JMenuItem( MessageManager.getString("label.no_services")); webService.add(webServiceNoServices); @@ -1901,7 +2001,7 @@ public class GAlignFrame extends JInternalFrame this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH); statusPanel.add(statusBar, null); this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER); - + formatMenu.add(font); formatMenu.addSeparator(); formatMenu.add(wrapMenuItem); @@ -1935,6 +2035,170 @@ public class GAlignFrame extends JInternalFrame // selectMenu.add(listenToViewSelections); } + /** + * Constructs the entries on the HMMER menu + */ + protected void initHMMERMenu() + { + /* + * hmmbuild + */ + JMenu hmmBuild = new JMenu(MessageManager.getString("label.hmmbuild")); + JMenuItem hmmBuildSettings = new JMenuItem( + MessageManager.getString("label.edit_settings_and_run")); + hmmBuildSettings.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hmmBuild_actionPerformed(false); + } + }); + JMenuItem hmmBuildRun = new JMenuItem(MessageManager.formatMessage( + "label.action_with_default_settings", "hmmbuild")); + hmmBuildRun.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hmmBuild_actionPerformed(true); + } + }); + hmmBuild.add(hmmBuildRun); + hmmBuild.add(hmmBuildSettings); + + /* + * hmmalign + */ + JMenu hmmAlign = new JMenu(MessageManager.getString("label.hmmalign")); + JMenuItem hmmAlignRun = new JMenuItem(MessageManager.formatMessage( + "label.action_with_default_settings", "hmmalign")); + hmmAlignRun.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hmmAlign_actionPerformed(true); + } + }); + JMenuItem hmmAlignSettings = new JMenuItem( + MessageManager.getString("label.edit_settings_and_run")); + hmmAlignSettings.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hmmAlign_actionPerformed(false); + } + }); + hmmAlign.add(hmmAlignRun); + hmmAlign.add(hmmAlignSettings); + + /* + * hmmsearch + */ + JMenu hmmSearch = new JMenu( + MessageManager.getString("label.hmmsearch")); + JMenuItem hmmSearchSettings = new JMenuItem( + MessageManager.getString("label.edit_settings_and_run")); + hmmSearchSettings.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hmmSearch_actionPerformed(false); + } + }); + JMenuItem hmmSearchRun = new JMenuItem(MessageManager.formatMessage( + "label.action_with_default_settings", "hmmsearch")); + hmmSearchRun.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + hmmSearch_actionPerformed(true); + } + }); + JMenuItem addDatabase = new JMenuItem( + MessageManager.getString("label.add_database")); + addDatabase.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + try + { + addDatabase_actionPerformed(); + } catch (IOException e1) + { + e1.printStackTrace(); + } + } + }); + hmmSearch.add(hmmSearchRun); + hmmSearch.add(hmmSearchSettings); + // hmmSearch.add(addDatabase); + + /* + * jackhmmer + */ + JMenu jackhmmer = new JMenu( + MessageManager.getString("label.jackhmmer")); + JMenuItem jackhmmerSettings = new JMenuItem( + MessageManager.getString("label.edit_settings_and_run")); + jackhmmerSettings.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + jackhmmer_actionPerformed(false); + } + }); + JMenuItem jackhmmerRun = new JMenuItem(MessageManager.formatMessage( + "label.action_with_default_settings", "jackhmmer")); + jackhmmerRun.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + jackhmmer_actionPerformed(true); + } + + }); + /* + JMenuItem addDatabase = new JMenuItem( + MessageManager.getString("label.add_database")); + addDatabase.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + try + { + addDatabase_actionPerformed(); + } catch (IOException e1) + { + e1.printStackTrace(); + } + } + }); + */ + jackhmmer.add(jackhmmerRun); + jackhmmer.add(jackhmmerSettings); + // hmmSearch.add(addDatabase); + + /* + * top level menu + */ + hmmerMenu.setText(MessageManager.getString("action.hmmer")); + hmmerMenu.setEnabled(HmmerCommand.isHmmerAvailable()); + hmmerMenu.add(hmmBuild); + hmmerMenu.add(hmmAlign); + hmmerMenu.add(hmmSearch); + hmmerMenu.add(jackhmmer); + + } + protected void enableSortMenuOptions() { } @@ -2354,6 +2618,14 @@ public class GAlignFrame extends JInternalFrame { } + protected void sortEValueMenuItem_actionPerformed(ActionEvent e) + { + } + + protected void sortBitScoreMenuItem_actionPerformed(ActionEvent e) + { + } + protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e) { } @@ -2415,10 +2687,12 @@ public class GAlignFrame extends JInternalFrame } protected void pasteNew_actionPerformed(ActionEvent e) + throws IOException, InterruptedException { } protected void pasteThis_actionPerformed(ActionEvent e) + throws IOException, InterruptedException { } @@ -2426,6 +2700,27 @@ public class GAlignFrame extends JInternalFrame { } + protected void hmmBuild_actionPerformed(boolean withDefaults) + { + } + + protected void hmmSearch_actionPerformed(boolean withDefaults) + { + } + + protected void jackhmmer_actionPerformed(boolean b) + { + } + + protected void addDatabase_actionPerformed() + throws FileFormatException, IOException + { + } + + protected void hmmAlign_actionPerformed(boolean withDefaults) + { + } + public void createPNG(java.io.File f) { } @@ -2482,6 +2777,14 @@ public class GAlignFrame extends JInternalFrame { } + protected void filterByEValue_actionPerformed() + { + } + + protected void filterByScore_actionPerformed() + { + } + protected void scaleRight_actionPerformed(ActionEvent e) { } @@ -2541,6 +2844,7 @@ public class GAlignFrame extends JInternalFrame } public void associatedData_actionPerformed(ActionEvent e) + throws IOException, InterruptedException { }