X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGAlignFrame.java;h=6253e36d4b4b434eec97d3ae53c8edb3e0f35e04;hb=a45774ee31d9f35d4eff46d54d7deab719afb092;hp=a4f0983ede7af57cac3238aa586f2d27450139be;hpb=56457cda1f74dac270c3584bb52e83d73453bb97;p=jalview.git diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index a4f0983..6253e36 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -1,20 +1,19 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) + * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Jalview. If not, see . */ package jalview.jbgui; @@ -122,6 +121,8 @@ public class GAlignFrame extends JInternalFrame public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem(); + public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem(); + JMenuItem htmlMenuItem = new JMenuItem(); JMenuItem overviewMenuItem = new JMenuItem(); @@ -145,6 +146,7 @@ public class GAlignFrame extends JInternalFrame public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem(); public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem(); + public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem(); protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem(); @@ -194,7 +196,9 @@ public class GAlignFrame extends JInternalFrame JMenu jMenu2 = new JMenu(); protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem(); protected ButtonGroup colours = new ButtonGroup(); @@ -217,6 +221,10 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem(); + protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem(); + JMenu addSequenceMenu = new JMenu(); JMenuItem addFromFile = new JMenuItem(); @@ -234,7 +242,7 @@ public class GAlignFrame extends JInternalFrame GridLayout gridLayout1 = new GridLayout(); JMenu jMenu3 = new JMenu(); - + JMenuItem showAllSeqs = new JMenuItem(); JMenuItem showAllColumns = new JMenuItem(); @@ -245,6 +253,12 @@ public class GAlignFrame extends JInternalFrame JMenuItem hideSelColumns = new JMenuItem(); + JMenuItem hideAllButSelection = new JMenuItem(); + + JMenuItem hideAllSelection = new JMenuItem(); + + JMenuItem showAllhidden = new JMenuItem(); + protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem(); JMenuItem invertColSel = new JMenuItem(); @@ -268,7 +282,7 @@ public class GAlignFrame extends JInternalFrame protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem(); protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem(); - + protected JMenuItem gatherViews = new JMenuItem(); protected JMenuItem expandViews = new JMenuItem(); @@ -276,13 +290,27 @@ public class GAlignFrame extends JInternalFrame JMenuItem pageSetup = new JMenuItem(); JMenuItem alignmentProperties = new JMenuItem(); - + JMenu tooltipSettingsMenu = new JMenu(); - private JMenuItem justifyLeftMenuItem=new JMenuItem(); + private JMenuItem justifyLeftMenuItem = new JMenuItem(); + + private JMenuItem justifyRightMenuItem = new JMenuItem(); + + JMenu autoAnnMenu = new JMenu(); + + protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem(); + + protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem(); + + private JMenuItem grpsFromSelection = new JMenuItem(); - private JMenuItem justifyRightMenuItem=new JMenuItem(); - public GAlignFrame() { try @@ -339,8 +367,7 @@ public class GAlignFrame extends JInternalFrame if (evt.isControlDown() || SwingUtilities.isRightMouseButton(evt)) { - radioItem - .removeActionListener(radioItem.getActionListeners()[0]); + radioItem.removeActionListener(radioItem.getActionListeners()[0]); int option = JOptionPane.showInternalConfirmDialog( jalview.gui.Desktop.desktop, @@ -406,9 +433,6 @@ public class GAlignFrame extends JInternalFrame switch (index) { - case ColourSchemeProperty.NONE: - noColourmenuItem.setSelected(true); - break; case ColourSchemeProperty.CLUSTAL: clustalColour.setSelected(true); @@ -467,6 +491,11 @@ public class GAlignFrame extends JInternalFrame userDefinedColour.setSelected(true); break; + case ColourSchemeProperty.NONE: + default: + noColourmenuItem.setSelected(true); + break; + } } @@ -538,6 +567,15 @@ public class GAlignFrame extends JInternalFrame invertSequenceMenuItem_actionPerformed(e); } }); + grpsFromSelection.setText("Make Groups for selection"); + grpsFromSelection.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + makeGrpsFromSelection_actionPerformed(e); + } + }); + remove2LeftMenuItem.setText("Remove Left"); remove2LeftMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_L, Toolkit.getDefaultToolkit() @@ -588,21 +626,23 @@ public class GAlignFrame extends JInternalFrame } }); justifyLeftMenuItem.setText("Left Justify Alignment"); - justifyLeftMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - justifyLeftMenuItem_actionPerformed(e); - } - }); + justifyLeftMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + justifyLeftMenuItem_actionPerformed(e); + } + }); justifyRightMenuItem.setText("Right Justify Alignment"); - justifyRightMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - justifyRightMenuItem_actionPerformed(e); - } - }); + justifyRightMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + justifyRightMenuItem_actionPerformed(e); + } + }); viewBoxesMenuItem.setText("Boxes"); viewBoxesMenuItem.setState(true); viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener() @@ -621,6 +661,16 @@ public class GAlignFrame extends JInternalFrame viewTextMenuItem_actionPerformed(e); } }); + showNonconservedMenuItem.setText("Show nonconserved"); + showNonconservedMenuItem.setState(false); + showNonconservedMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showUnconservedMenuItem_actionPerformed(e); + } + }); sortPairwiseMenuItem.setText("by Pairwise Identity"); sortPairwiseMenuItem .addActionListener(new java.awt.event.ActionListener() @@ -639,13 +689,14 @@ public class GAlignFrame extends JInternalFrame } }); sortLengthMenuItem.setText("By Length"); - sortLengthMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - sortLengthMenuItem_actionPerformed(e); - } - }); + sortLengthMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + sortLengthMenuItem_actionPerformed(e); + } + }); sortGroupMenuItem.setText("by Group"); sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener() { @@ -951,14 +1002,12 @@ public class GAlignFrame extends JInternalFrame showSeqFeatures_actionPerformed(actionEvent); } }); - showSeqFeaturesHeight.setText("Vary Sequence Feature Height"); - showSeqFeaturesHeight.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent actionEvent) - { - showSeqFeaturesHeight_actionPerformed(actionEvent); - } - }); + /* + * showSeqFeaturesHeight.setText("Vary Sequence Feature Height"); + * showSeqFeaturesHeight.addActionListener(new ActionListener() { public + * void actionPerformed(ActionEvent actionEvent) { + * showSeqFeaturesHeight_actionPerformed(actionEvent); } }); + */ showDbRefsMenuitem.setText("Show Database Refs"); showDbRefsMenuitem.addActionListener(new ActionListener() { @@ -967,7 +1016,7 @@ public class GAlignFrame extends JInternalFrame { showDbRefs_actionPerformed(e); } - + }); showNpFeatsMenuitem.setText("Show Non-Positional Features"); showNpFeatsMenuitem.addActionListener(new ActionListener() @@ -977,8 +1026,62 @@ public class GAlignFrame extends JInternalFrame { showNpFeats_actionPerformed(e); } - + + }); + showGroupConservation.setText("Group Conservation"); + showGroupConservation.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showGroupConservation_actionPerformed(e); + } + + }); + + showGroupConsensus.setText("Group Consensus"); + showGroupConsensus.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showGroupConsensus_actionPerformed(e); + } + + }); + showConsensusHistogram.setText("Show Consensus Histogram"); + showConsensusHistogram.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showConsensusHistogram_actionPerformed(e); + } + + }); + showSequenceLogo.setText("Show Consensus Logo"); + showSequenceLogo.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + showSequenceLogo_actionPerformed(e); + } + + }); + applyAutoAnnotationSettings.setText("Apply to all groups"); + applyAutoAnnotationSettings.setState(false); + applyAutoAnnotationSettings.setVisible(true); + applyAutoAnnotationSettings.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + applyAutoAnnotationSettings_actionPerformed(e); + } + }); + nucleotideColour.setText("Nucleotide"); nucleotideColour.addActionListener(new java.awt.event.ActionListener() { @@ -1157,9 +1260,9 @@ public class GAlignFrame extends JInternalFrame { followHighlight_actionPerformed(); } - + }); - + modifyPID.setText("Modify Identity Threshold..."); modifyPID.addActionListener(new java.awt.event.ActionListener() { @@ -1253,7 +1356,7 @@ public class GAlignFrame extends JInternalFrame } }); extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based - // score extraction + // score extraction showProducts.setText("Get Cross References"); /* * showProducts.addActionListener(new ActionListener() { @@ -1304,6 +1407,29 @@ public class GAlignFrame extends JInternalFrame autoCalculate_actionPerformed(e); } }); + sortByTree.setText("Sort Alignment With New Tree"); + sortByTree.setToolTipText("Enable this to automatically sort
the alignment when you open
a new tree."); + sortByTree.setState(jalview.bin.Cache.getDefault( + "SORT_BY_TREE", false)); + sortByTree.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + sortByTreeOption_actionPerformed(e); + } + }); + + listenToViewSelections.setText("Listen for selections"); + listenToViewSelections.setToolTipText("When selected, selections in this view will mirror
selections made on the same sequences in other views."); + listenToViewSelections.setState(false); + listenToViewSelections.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + listenToViewSelections_actionPerformed(e); + } + }); + addSequenceMenu.setText("Add Sequences"); addFromFile.setText("From File"); addFromFile.addActionListener(new ActionListener() @@ -1348,6 +1474,7 @@ public class GAlignFrame extends JInternalFrame statusPanel.setLayout(gridLayout1); jMenu3.setText("Show"); showAllSeqs.setText("All Sequences"); + showAllSeqs.setToolTipText("Shift+H toggles sequence visiblity."); showAllSeqs.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1356,6 +1483,7 @@ public class GAlignFrame extends JInternalFrame } }); showAllColumns.setText("All Columns"); + showAllColumns.setToolTipText("Ctrl+H toggles column visiblity."); showAllColumns.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1365,6 +1493,7 @@ public class GAlignFrame extends JInternalFrame }); hideMenu.setText("Hide"); hideSelSequences.setText("Selected Sequences"); + hideSelSequences.setToolTipText("Shift+H toggles sequence visiblity."); hideSelSequences.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1373,6 +1502,7 @@ public class GAlignFrame extends JInternalFrame } }); hideSelColumns.setText("Selected Columns"); + hideSelColumns.setToolTipText("Ctrl+H toggles column visiblity."); hideSelColumns.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1380,6 +1510,34 @@ public class GAlignFrame extends JInternalFrame hideSelColumns_actionPerformed(e); } }); + hideAllSelection.setText("Selected Region"); + hideAllSelection.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + hideAllSelection_actionPerformed(e); + } + }); + // TODO: should be hidden if no selection exists. + hideAllButSelection.setText("All but Selected Region (Shift+Ctrl+H)"); + hideAllButSelection.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + hideAllButSelection_actionPerformed(e); + } + }); + showAllhidden.setText("All Sequences and Columns"); + showAllhidden + .setToolTipText("H toggles visibility of hidden or selected regions."); + showAllhidden.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showAllhidden_actionPerformed(e); + } + }); + hiddenMarkers.setText("Show Hidden Markers"); hiddenMarkers.addActionListener(new ActionListener() { @@ -1513,6 +1671,7 @@ public class GAlignFrame extends JInternalFrame } }); tooltipSettingsMenu.setText("Sequence ID Tooltip"); + autoAnnMenu.setText("Autocalculated Annotation"); alignFrameMenuBar.add(fileMenu); alignFrameMenuBar.add(editMenu); alignFrameMenuBar.add(selectMenu); @@ -1552,10 +1711,11 @@ public class GAlignFrame extends JInternalFrame editMenu.add(removeAllGapsMenuItem); editMenu.add(removeRedundancyMenuItem); editMenu.addSeparator(); - // dont add these yet - they cannot be undone! - //editMenu.add(justifyLeftMenuItem); - //editMenu.add(justifyRightMenuItem); - editMenu.addSeparator(); + // dont add these yet in the CVS build - they cannot be undone! + // Excluded from Jalview 2.5 release - undo needs to be implemented. + // editMenu.add(justifyLeftMenuItem); + // editMenu.add(justifyRightMenuItem); + // editMenu.addSeparator(); editMenu.add(padGapsMenuitem); viewMenu.add(newView); viewMenu.add(expandViews); @@ -1566,10 +1726,17 @@ public class GAlignFrame extends JInternalFrame viewMenu.addSeparator(); viewMenu.add(followHighlightMenuItem); viewMenu.add(annotationPanelMenuItem); + autoAnnMenu.add(applyAutoAnnotationSettings); + autoAnnMenu.add(showConsensusHistogram); + autoAnnMenu.add(showSequenceLogo); + autoAnnMenu.addSeparator(); + autoAnnMenu.add(showGroupConservation); + autoAnnMenu.add(showGroupConsensus); + viewMenu.add(autoAnnMenu); viewMenu.addSeparator(); viewMenu.add(showSeqFeatures); - viewMenu.add(showSeqFeaturesHeight); - + // viewMenu.add(showSeqFeaturesHeight); + viewMenu.add(featureSettings); tooltipSettingsMenu.add(showDbRefsMenuitem); tooltipSettingsMenu.add(showNpFeatsMenuitem); @@ -1609,6 +1776,7 @@ public class GAlignFrame extends JInternalFrame calculateMenu.add(showTranslation); calculateMenu.add(showProducts); calculateMenu.add(autoCalculate); + calculateMenu.add(sortByTree); calculateMenu.addSeparator(); calculateMenu.add(extractScores); webServiceNoServices = new JMenuItem(""); @@ -1635,8 +1803,12 @@ public class GAlignFrame extends JInternalFrame this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER); jMenu3.add(showAllColumns); jMenu3.add(showAllSeqs); + jMenu3.add(showAllhidden); hideMenu.add(hideSelColumns); hideMenu.add(hideSelSequences); + hideMenu.add(hideAllSelection); + hideMenu.add(hideAllButSelection); + formatMenu.add(font); formatMenu.addSeparator(); formatMenu.add(wrapMenuItem); @@ -1651,6 +1823,7 @@ public class GAlignFrame extends JInternalFrame formatMenu.add(colourTextMenuItem); formatMenu.add(renderGapsMenuItem); formatMenu.add(centreColumnLabelsMenuItem); + formatMenu.add(showNonconservedMenuItem); selectMenu.add(findMenuItem); selectMenu.addSeparator(); selectMenu.add(selectAllSequenceMenuItem); @@ -1658,43 +1831,113 @@ public class GAlignFrame extends JInternalFrame selectMenu.add(invertSequenceMenuItem); selectMenu.add(invertColSel); selectMenu.add(deleteGroups); + selectMenu.add(grpsFromSelection); + // TODO - determine if the listenToViewSelections button is needed : see bug JAL-574 + //selectMenu.addSeparator(); + //selectMenu.add(listenToViewSelections); + } + + protected void listenToViewSelections_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showAllhidden_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void hideAllButSelection_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void hideAllSelection_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showConsensusHistogram_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showSequenceLogo_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void makeGrpsFromSelection_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showGroupConsensus_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showGroupConservation_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + + } + + protected void showUnconservedMenuItem_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + } protected void showSeqFeaturesHeight_actionPerformed( ActionEvent actionEvent) { // TODO Auto-generated method stub - + } protected void justifyRightMenuItem_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void justifyLeftMenuItem_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void followHighlight_actionPerformed() { // TODO Auto-generated method stub - + } protected void showNpFeats_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void showDbRefs_actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - + } protected void centreColumnLabels_actionPerformed(ActionEvent e) @@ -2060,6 +2303,11 @@ public class GAlignFrame extends JInternalFrame } + public void sortByTreeOption_actionPerformed(ActionEvent e) + { + + } + public void showAllSeqs_actionPerformed(ActionEvent e) {