JAL-468 JAL-936 sort alignment by tree and autosort for new tree
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
3  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  * 
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.jbgui;
19
20 import java.awt.*;
21 import java.awt.event.*;
22
23 import javax.swing.*;
24 import javax.swing.event.*;
25
26 import jalview.schemes.*;
27
28 public class GAlignFrame extends JInternalFrame
29 {
30   protected JMenuBar alignFrameMenuBar = new JMenuBar();
31
32   protected JMenu fileMenu = new JMenu();
33
34   protected JMenuItem closeMenuItem = new JMenuItem();
35
36   protected JMenu editMenu = new JMenu();
37
38   protected JMenu viewMenu = new JMenu();
39
40   protected JMenu colourMenu = new JMenu();
41
42   protected JMenu calculateMenu = new JMenu();
43
44   protected JMenu webService = new JMenu();
45
46   protected JMenuItem webServiceNoServices;
47
48   protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();
49
50   protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();
51
52   protected JMenuItem invertSequenceMenuItem = new JMenuItem();
53
54   protected JMenuItem remove2LeftMenuItem = new JMenuItem();
55
56   protected JMenuItem remove2RightMenuItem = new JMenuItem();
57
58   protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();
59
60   protected JMenuItem removeAllGapsMenuItem = new JMenuItem();
61
62   public JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
63
64   public JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
65
66   protected JMenuItem sortPairwiseMenuItem = new JMenuItem();
67
68   protected JMenuItem sortIDMenuItem = new JMenuItem();
69
70   protected JMenuItem sortLengthMenuItem = new JMenuItem();
71
72   protected JMenuItem sortGroupMenuItem = new JMenuItem();
73
74   protected JMenu sortByAnnotScore = new JMenu();
75
76   protected JMenuItem removeRedundancyMenuItem = new JMenuItem();
77
78   protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();
79
80   protected JMenuItem PCAMenuItem = new JMenuItem();
81
82   protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();
83
84   protected JMenuItem neighbourTreeMenuItem = new JMenuItem();
85
86   BorderLayout borderLayout1 = new BorderLayout();
87
88   public JLabel statusBar = new JLabel();
89
90   protected JMenuItem saveAs = new JMenuItem();
91
92   protected JMenu outputTextboxMenu = new JMenu();
93
94   protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
95
96   protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
97
98   protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
99
100   protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
101
102   protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
103
104   protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
105
106   protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
107
108   protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
109
110   protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
111
112   protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
113
114   protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
115
116   JMenuItem njTreeBlosumMenuItem = new JMenuItem();
117
118   JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();
119
120   public JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
121
122   public JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
123
124   public JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
125
126   JMenuItem htmlMenuItem = new JMenuItem();
127
128   JMenuItem overviewMenuItem = new JMenuItem();
129
130   protected JMenuItem undoMenuItem = new JMenuItem();
131
132   protected JMenuItem redoMenuItem = new JMenuItem();
133
134   public JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
135
136   JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
137
138   public JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
139
140   JMenuItem printMenuItem = new JMenuItem();
141
142   public JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
143
144   JMenuItem findMenuItem = new JMenuItem();
145
146   public JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();
147
148   public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
149
150   public JCheckBoxMenuItem showSeqFeaturesHeight = new JCheckBoxMenuItem();
151
152   protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();
153
154   JMenuItem deleteGroups = new JMenuItem();
155
156   JMenuItem delete = new JMenuItem();
157
158   JMenuItem copy = new JMenuItem();
159
160   JMenuItem cut = new JMenuItem();
161
162   JMenu pasteMenu = new JMenu();
163
164   JMenuItem pasteNew = new JMenuItem();
165
166   JMenuItem pasteThis = new JMenuItem();
167
168   public JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();
169
170   JMenuItem createPNG = new JMenuItem();
171
172   protected JMenuItem font = new JMenuItem();
173
174   public JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
175
176   JMenuItem epsFile = new JMenuItem();
177
178   JMenuItem LoadtreeMenuItem = new JMenuItem();
179
180   public JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
181
182   public JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
183
184   public JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
185
186   protected JMenuItem modifyPID = new JMenuItem();
187
188   protected JMenuItem modifyConservation = new JMenuItem();
189
190   protected JMenu sortByTreeMenu = new JMenu();
191
192   protected JMenu sort = new JMenu();
193
194   protected JMenu calculateTree = new JMenu();
195
196   JMenu jMenu2 = new JMenu();
197
198   protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
199
200   protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
201
202   protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
203
204   protected ButtonGroup colours = new ButtonGroup();
205
206   JMenuItem vamsasStore = new JMenuItem();
207
208   protected JMenuItem showTranslation = new JMenuItem();
209
210   protected JMenuItem extractScores = new JMenuItem();
211
212   protected JMenu showProducts = new JMenu();
213
214   public JMenuItem featureSettings = new JMenuItem();
215
216   JMenuItem fetchSequence = new JMenuItem();
217
218   JMenuItem annotationColour = new JMenuItem();
219
220   JMenuItem associatedData = new JMenuItem();
221
222   protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
223
224   protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
225
226   JMenu addSequenceMenu = new JMenu();
227
228   JMenuItem addFromFile = new JMenuItem();
229
230   JMenuItem addFromText = new JMenuItem();
231
232   JMenuItem addFromURL = new JMenuItem();
233
234   JMenuItem exportAnnotations = new JMenuItem();
235
236   JMenuItem exportFeatures = new JMenuItem();
237
238   protected JPanel statusPanel = new JPanel();
239
240   GridLayout gridLayout1 = new GridLayout();
241
242   JMenu jMenu3 = new JMenu();
243
244   JMenuItem showAllSeqs = new JMenuItem();
245
246   JMenuItem showAllColumns = new JMenuItem();
247
248   JMenu hideMenu = new JMenu();
249
250   JMenuItem hideSelSequences = new JMenuItem();
251
252   JMenuItem hideSelColumns = new JMenuItem();
253
254   JMenuItem hideAllButSelection = new JMenuItem();
255
256   JMenuItem hideAllSelection = new JMenuItem();
257
258   JMenuItem showAllhidden = new JMenuItem();
259
260   protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
261
262   JMenuItem invertColSel = new JMenuItem();
263
264   protected JTabbedPane tabbedPane = new JTabbedPane();
265
266   JMenuItem save = new JMenuItem();
267
268   protected JMenuItem reload = new JMenuItem();
269
270   JMenuItem newView = new JMenuItem();
271
272   JMenuItem textColour = new JMenuItem();
273
274   JMenu formatMenu = new JMenu();
275
276   JMenu selectMenu = new JMenu();
277
278   protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
279
280   protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
281
282   protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
283
284   protected JMenuItem gatherViews = new JMenuItem();
285
286   protected JMenuItem expandViews = new JMenuItem();
287
288   JMenuItem pageSetup = new JMenuItem();
289
290   JMenuItem alignmentProperties = new JMenuItem();
291
292   JMenu tooltipSettingsMenu = new JMenu();
293
294   private JMenuItem justifyLeftMenuItem = new JMenuItem();
295
296   private JMenuItem justifyRightMenuItem = new JMenuItem();
297
298   JMenu autoAnnMenu = new JMenu();
299
300   protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
301
302   protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
303
304   protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
305
306   protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
307
308   protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
309
310   private JMenuItem grpsFromSelection = new JMenuItem();
311
312   public GAlignFrame()
313   {
314     try
315     {
316       jbInit();
317       setJMenuBar(alignFrameMenuBar);
318
319       // dynamically fill save as menu with available formats
320       for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
321       {
322         JMenuItem item = new JMenuItem(
323                 jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);
324
325         item.addActionListener(new java.awt.event.ActionListener()
326         {
327           public void actionPerformed(ActionEvent e)
328           {
329             outputText_actionPerformed(e);
330           }
331         });
332
333         outputTextboxMenu.add(item);
334       }
335     } catch (Exception e)
336     {
337     }
338
339     if (!new jalview.util.Platform().isAMac())
340     {
341       closeMenuItem.setMnemonic('C');
342       outputTextboxMenu.setMnemonic('T');
343       undoMenuItem.setMnemonic('Z');
344       redoMenuItem.setMnemonic('0');
345       copy.setMnemonic('C');
346       cut.setMnemonic('U');
347       pasteMenu.setMnemonic('P');
348       reload.setMnemonic('R');
349     }
350
351     if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
352     {
353       java.util.Enumeration userColours = jalview.gui.UserDefinedColours
354               .getUserColourSchemes().keys();
355
356       while (userColours.hasMoreElements())
357       {
358         final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
359                 userColours.nextElement().toString());
360         radioItem.setName("USER_DEFINED");
361         radioItem.addMouseListener(new MouseAdapter()
362         {
363           public void mousePressed(MouseEvent evt)
364           {
365             if (evt.isControlDown()
366                     || SwingUtilities.isRightMouseButton(evt))
367             {
368               radioItem.removeActionListener(radioItem.getActionListeners()[0]);
369
370               int option = JOptionPane.showInternalConfirmDialog(
371                       jalview.gui.Desktop.desktop,
372                       "Remove from default list?",
373                       "Remove user defined colour",
374                       JOptionPane.YES_NO_OPTION);
375               if (option == JOptionPane.YES_OPTION)
376               {
377                 jalview.gui.UserDefinedColours
378                         .removeColourFromDefaults(radioItem.getText());
379                 colourMenu.remove(radioItem);
380               }
381               else
382               {
383                 radioItem.addActionListener(new ActionListener()
384                 {
385                   public void actionPerformed(ActionEvent evt)
386                   {
387                     userDefinedColour_actionPerformed(evt);
388                   }
389                 });
390               }
391             }
392           }
393         });
394         radioItem.addActionListener(new ActionListener()
395         {
396           public void actionPerformed(ActionEvent evt)
397           {
398             userDefinedColour_actionPerformed(evt);
399           }
400         });
401         colourMenu.insert(radioItem, 15);
402         colours.add(radioItem);
403       }
404     }
405     colours.add(noColourmenuItem);
406     colours.add(clustalColour);
407     colours.add(zappoColour);
408     colours.add(taylorColour);
409     colours.add(hydrophobicityColour);
410     colours.add(helixColour);
411     colours.add(strandColour);
412     colours.add(turnColour);
413     colours.add(buriedColour);
414     colours.add(userDefinedColour);
415     colours.add(PIDColour);
416     colours.add(BLOSUM62Colour);
417     colours.add(nucleotideColour);
418
419     setColourSelected(jalview.bin.Cache
420             .getDefault("DEFAULT_COLOUR", "None"));
421
422   }
423
424   public void setColourSelected(String defaultColour)
425   {
426
427     if (defaultColour != null)
428     {
429       int index = ColourSchemeProperty
430               .getColourIndexFromName(defaultColour);
431
432       switch (index)
433       {
434       case ColourSchemeProperty.CLUSTAL:
435         clustalColour.setSelected(true);
436
437         break;
438
439       case ColourSchemeProperty.BLOSUM:
440         BLOSUM62Colour.setSelected(true);
441
442         break;
443
444       case ColourSchemeProperty.PID:
445         PIDColour.setSelected(true);
446
447         break;
448
449       case ColourSchemeProperty.ZAPPO:
450         zappoColour.setSelected(true);
451
452         break;
453
454       case ColourSchemeProperty.TAYLOR:
455         taylorColour.setSelected(true);
456         break;
457
458       case ColourSchemeProperty.HYDROPHOBIC:
459         hydrophobicityColour.setSelected(true);
460
461         break;
462
463       case ColourSchemeProperty.HELIX:
464         helixColour.setSelected(true);
465
466         break;
467
468       case ColourSchemeProperty.STRAND:
469         strandColour.setSelected(true);
470
471         break;
472
473       case ColourSchemeProperty.TURN:
474         turnColour.setSelected(true);
475
476         break;
477
478       case ColourSchemeProperty.BURIED:
479         buriedColour.setSelected(true);
480
481         break;
482
483       case ColourSchemeProperty.NUCLEOTIDE:
484         nucleotideColour.setSelected(true);
485
486         break;
487
488       case ColourSchemeProperty.USER_DEFINED:
489         userDefinedColour.setSelected(true);
490
491         break;
492       case ColourSchemeProperty.NONE:
493       default:
494         noColourmenuItem.setSelected(true);
495         break;
496
497       }
498     }
499
500   }
501
502   private void jbInit() throws Exception
503   {
504     fileMenu.setText("File");
505     saveAs.setText("Save As...");
506     saveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
507             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
508                     .getMenuShortcutKeyMask()
509                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
510     saveAs.addActionListener(new ActionListener()
511     {
512       public void actionPerformed(ActionEvent e)
513       {
514         saveAs_actionPerformed(e);
515       }
516     });
517     closeMenuItem.setText("Close");
518     closeMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
519             java.awt.event.KeyEvent.VK_W, Toolkit.getDefaultToolkit()
520                     .getMenuShortcutKeyMask(), false));
521     closeMenuItem.addActionListener(new java.awt.event.ActionListener()
522     {
523       public void actionPerformed(ActionEvent e)
524       {
525         closeMenuItem_actionPerformed(false);
526       }
527     });
528     editMenu.setText("Edit");
529     viewMenu.setText("View");
530     colourMenu.setText("Colour");
531     calculateMenu.setText("Calculate");
532     webService.setText("Web Service");
533     selectAllSequenceMenuItem.setText("Select All");
534     selectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
535             .getKeyStroke(java.awt.event.KeyEvent.VK_A, Toolkit
536                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
537     selectAllSequenceMenuItem
538             .addActionListener(new java.awt.event.ActionListener()
539             {
540               public void actionPerformed(ActionEvent e)
541               {
542                 selectAllSequenceMenuItem_actionPerformed(e);
543               }
544             });
545     deselectAllSequenceMenuItem.setText("Deselect All");
546     deselectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
547             .getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false));
548     deselectAllSequenceMenuItem
549             .addActionListener(new java.awt.event.ActionListener()
550             {
551               public void actionPerformed(ActionEvent e)
552               {
553                 deselectAllSequenceMenuItem_actionPerformed(e);
554               }
555             });
556     invertSequenceMenuItem.setText("Invert Sequence Selection");
557     invertSequenceMenuItem.setAccelerator(javax.swing.KeyStroke
558             .getKeyStroke(java.awt.event.KeyEvent.VK_I, Toolkit
559                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
560     invertSequenceMenuItem
561             .addActionListener(new java.awt.event.ActionListener()
562             {
563               public void actionPerformed(ActionEvent e)
564               {
565                 invertSequenceMenuItem_actionPerformed(e);
566               }
567             });
568     grpsFromSelection.setText("Make Groups for selection");
569     grpsFromSelection.addActionListener(new java.awt.event.ActionListener()
570     {
571       public void actionPerformed(ActionEvent e)
572       {
573         makeGrpsFromSelection_actionPerformed(e);
574       }
575     });
576
577     remove2LeftMenuItem.setText("Remove Left");
578     remove2LeftMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
579             java.awt.event.KeyEvent.VK_L, Toolkit.getDefaultToolkit()
580                     .getMenuShortcutKeyMask(), false));
581     remove2LeftMenuItem
582             .addActionListener(new java.awt.event.ActionListener()
583             {
584               public void actionPerformed(ActionEvent e)
585               {
586                 remove2LeftMenuItem_actionPerformed(e);
587               }
588             });
589     remove2RightMenuItem.setText("Remove Right");
590     remove2RightMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
591             java.awt.event.KeyEvent.VK_R, Toolkit.getDefaultToolkit()
592                     .getMenuShortcutKeyMask(), false));
593     remove2RightMenuItem
594             .addActionListener(new java.awt.event.ActionListener()
595             {
596               public void actionPerformed(ActionEvent e)
597               {
598                 remove2RightMenuItem_actionPerformed(e);
599               }
600             });
601     removeGappedColumnMenuItem.setText("Remove Empty Columns");
602     removeGappedColumnMenuItem.setAccelerator(javax.swing.KeyStroke
603             .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit
604                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
605     removeGappedColumnMenuItem
606             .addActionListener(new java.awt.event.ActionListener()
607             {
608               public void actionPerformed(ActionEvent e)
609               {
610                 removeGappedColumnMenuItem_actionPerformed(e);
611               }
612             });
613     removeAllGapsMenuItem.setText("Remove All Gaps");
614     removeAllGapsMenuItem.setAccelerator(javax.swing.KeyStroke
615             .getKeyStroke(java.awt.event.KeyEvent.VK_E, Toolkit
616                     .getDefaultToolkit().getMenuShortcutKeyMask()
617                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
618     removeAllGapsMenuItem
619             .addActionListener(new java.awt.event.ActionListener()
620             {
621               public void actionPerformed(ActionEvent e)
622               {
623                 removeAllGapsMenuItem_actionPerformed(e);
624               }
625             });
626     justifyLeftMenuItem.setText("Left Justify Alignment");
627     justifyLeftMenuItem
628             .addActionListener(new java.awt.event.ActionListener()
629             {
630               public void actionPerformed(ActionEvent e)
631               {
632                 justifyLeftMenuItem_actionPerformed(e);
633               }
634             });
635     justifyRightMenuItem.setText("Right Justify Alignment");
636     justifyRightMenuItem
637             .addActionListener(new java.awt.event.ActionListener()
638             {
639               public void actionPerformed(ActionEvent e)
640               {
641                 justifyRightMenuItem_actionPerformed(e);
642               }
643             });
644     viewBoxesMenuItem.setText("Boxes");
645     viewBoxesMenuItem.setState(true);
646     viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener()
647     {
648       public void actionPerformed(ActionEvent e)
649       {
650         viewBoxesMenuItem_actionPerformed(e);
651       }
652     });
653     viewTextMenuItem.setText("Text");
654     viewTextMenuItem.setState(true);
655     viewTextMenuItem.addActionListener(new java.awt.event.ActionListener()
656     {
657       public void actionPerformed(ActionEvent e)
658       {
659         viewTextMenuItem_actionPerformed(e);
660       }
661     });
662     showNonconservedMenuItem.setText("Show nonconserved");
663     showNonconservedMenuItem.setState(false);
664     showNonconservedMenuItem
665             .addActionListener(new java.awt.event.ActionListener()
666             {
667               public void actionPerformed(ActionEvent e)
668               {
669                 showUnconservedMenuItem_actionPerformed(e);
670               }
671             });
672     sortPairwiseMenuItem.setText("by Pairwise Identity");
673     sortPairwiseMenuItem
674             .addActionListener(new java.awt.event.ActionListener()
675             {
676               public void actionPerformed(ActionEvent e)
677               {
678                 sortPairwiseMenuItem_actionPerformed(e);
679               }
680             });
681     sortIDMenuItem.setText("by ID");
682     sortIDMenuItem.addActionListener(new java.awt.event.ActionListener()
683     {
684       public void actionPerformed(ActionEvent e)
685       {
686         sortIDMenuItem_actionPerformed(e);
687       }
688     });
689     sortLengthMenuItem.setText("By Length");
690     sortLengthMenuItem
691             .addActionListener(new java.awt.event.ActionListener()
692             {
693               public void actionPerformed(ActionEvent e)
694               {
695                 sortLengthMenuItem_actionPerformed(e);
696               }
697             });
698     sortGroupMenuItem.setText("by Group");
699     sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
700     {
701       public void actionPerformed(ActionEvent e)
702       {
703         sortGroupMenuItem_actionPerformed(e);
704       }
705     });
706     removeRedundancyMenuItem.setText("Remove Redundancy...");
707     removeRedundancyMenuItem.setAccelerator(javax.swing.KeyStroke
708             .getKeyStroke(java.awt.event.KeyEvent.VK_D, Toolkit
709                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
710     removeRedundancyMenuItem
711             .addActionListener(new java.awt.event.ActionListener()
712             {
713               public void actionPerformed(ActionEvent e)
714               {
715                 removeRedundancyMenuItem_actionPerformed(e);
716               }
717             });
718     pairwiseAlignmentMenuItem.setText("Pairwise Alignments...");
719     pairwiseAlignmentMenuItem
720             .addActionListener(new java.awt.event.ActionListener()
721             {
722               public void actionPerformed(ActionEvent e)
723               {
724                 pairwiseAlignmentMenuItem_actionPerformed(e);
725               }
726             });
727     PCAMenuItem.setText("Principal Component Analysis");
728     PCAMenuItem.addActionListener(new java.awt.event.ActionListener()
729     {
730       public void actionPerformed(ActionEvent e)
731       {
732         PCAMenuItem_actionPerformed(e);
733       }
734     });
735     averageDistanceTreeMenuItem
736             .setText("Average Distance Using % Identity");
737     averageDistanceTreeMenuItem
738             .addActionListener(new java.awt.event.ActionListener()
739             {
740               public void actionPerformed(ActionEvent e)
741               {
742                 averageDistanceTreeMenuItem_actionPerformed(e);
743               }
744             });
745     neighbourTreeMenuItem.setText("Neighbour Joining Using % Identity");
746     neighbourTreeMenuItem
747             .addActionListener(new java.awt.event.ActionListener()
748             {
749               public void actionPerformed(ActionEvent e)
750               {
751                 neighbourTreeMenuItem_actionPerformed(e);
752               }
753             });
754     this.getContentPane().setLayout(borderLayout1);
755     alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
756     statusBar.setBackground(Color.white);
757     statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
758     statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
759     statusBar.setText("Status bar");
760     outputTextboxMenu.setText("Output to Textbox");
761     clustalColour.setText("Clustalx");
762
763     clustalColour.addActionListener(new java.awt.event.ActionListener()
764     {
765       public void actionPerformed(ActionEvent e)
766       {
767         clustalColour_actionPerformed(e);
768       }
769     });
770     zappoColour.setText("Zappo");
771     zappoColour.addActionListener(new java.awt.event.ActionListener()
772     {
773       public void actionPerformed(ActionEvent e)
774       {
775         zappoColour_actionPerformed(e);
776       }
777     });
778     taylorColour.setText("Taylor");
779     taylorColour.addActionListener(new java.awt.event.ActionListener()
780     {
781       public void actionPerformed(ActionEvent e)
782       {
783         taylorColour_actionPerformed(e);
784       }
785     });
786     hydrophobicityColour.setText("Hydrophobicity");
787     hydrophobicityColour
788             .addActionListener(new java.awt.event.ActionListener()
789             {
790               public void actionPerformed(ActionEvent e)
791               {
792                 hydrophobicityColour_actionPerformed(e);
793               }
794             });
795     helixColour.setText("Helix Propensity");
796     helixColour.addActionListener(new java.awt.event.ActionListener()
797     {
798       public void actionPerformed(ActionEvent e)
799       {
800         helixColour_actionPerformed(e);
801       }
802     });
803     strandColour.setText("Strand Propensity");
804     strandColour.addActionListener(new java.awt.event.ActionListener()
805     {
806       public void actionPerformed(ActionEvent e)
807       {
808         strandColour_actionPerformed(e);
809       }
810     });
811     turnColour.setText("Turn Propensity");
812     turnColour.addActionListener(new java.awt.event.ActionListener()
813     {
814       public void actionPerformed(ActionEvent e)
815       {
816         turnColour_actionPerformed(e);
817       }
818     });
819     buriedColour.setText("Buried Index");
820     buriedColour.addActionListener(new java.awt.event.ActionListener()
821     {
822       public void actionPerformed(ActionEvent e)
823       {
824         buriedColour_actionPerformed(e);
825       }
826     });
827     userDefinedColour.setText("User Defined...");
828     userDefinedColour.addActionListener(new java.awt.event.ActionListener()
829     {
830       public void actionPerformed(ActionEvent e)
831       {
832         userDefinedColour_actionPerformed(e);
833       }
834     });
835     PIDColour.setText("Percentage Identity");
836     PIDColour.addActionListener(new java.awt.event.ActionListener()
837     {
838       public void actionPerformed(ActionEvent e)
839       {
840         PIDColour_actionPerformed(e);
841       }
842     });
843     BLOSUM62Colour.setText("BLOSUM62 Score");
844     BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()
845     {
846       public void actionPerformed(ActionEvent e)
847       {
848         BLOSUM62Colour_actionPerformed(e);
849       }
850     });
851     avDistanceTreeBlosumMenuItem.setText("Average Distance Using BLOSUM62");
852     avDistanceTreeBlosumMenuItem
853             .addActionListener(new java.awt.event.ActionListener()
854             {
855               public void actionPerformed(ActionEvent e)
856               {
857                 avTreeBlosumMenuItem_actionPerformed(e);
858               }
859             });
860     njTreeBlosumMenuItem.setText("Neighbour Joining using BLOSUM62");
861     njTreeBlosumMenuItem
862             .addActionListener(new java.awt.event.ActionListener()
863             {
864               public void actionPerformed(ActionEvent e)
865               {
866                 njTreeBlosumMenuItem_actionPerformed(e);
867               }
868             });
869     annotationPanelMenuItem.setActionCommand("");
870     annotationPanelMenuItem.setText("Show Annotations");
871     annotationPanelMenuItem.setState(jalview.bin.Cache.getDefault(
872             "SHOW_ANNOTATIONS", true));
873     annotationPanelMenuItem
874             .addActionListener(new java.awt.event.ActionListener()
875             {
876               public void actionPerformed(ActionEvent e)
877               {
878                 annotationPanelMenuItem_actionPerformed(e);
879               }
880             });
881     colourTextMenuItem.setText("Colour Text");
882     colourTextMenuItem
883             .addActionListener(new java.awt.event.ActionListener()
884             {
885               public void actionPerformed(ActionEvent e)
886               {
887                 colourTextMenuItem_actionPerformed(e);
888               }
889             });
890     htmlMenuItem.setText("HTML");
891     htmlMenuItem.addActionListener(new java.awt.event.ActionListener()
892     {
893       public void actionPerformed(ActionEvent e)
894       {
895         htmlMenuItem_actionPerformed(e);
896       }
897     });
898     overviewMenuItem.setText("Overview Window");
899     overviewMenuItem.addActionListener(new java.awt.event.ActionListener()
900     {
901       public void actionPerformed(ActionEvent e)
902       {
903         overviewMenuItem_actionPerformed(e);
904       }
905     });
906     undoMenuItem.setEnabled(false);
907     undoMenuItem.setText("Undo");
908     undoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
909             java.awt.event.KeyEvent.VK_Z, Toolkit.getDefaultToolkit()
910                     .getMenuShortcutKeyMask(), false));
911     undoMenuItem.addActionListener(new java.awt.event.ActionListener()
912     {
913       public void actionPerformed(ActionEvent e)
914       {
915         undoMenuItem_actionPerformed(e);
916       }
917     });
918     redoMenuItem.setEnabled(false);
919     redoMenuItem.setText("Redo");
920     redoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
921             java.awt.event.KeyEvent.VK_Y, Toolkit.getDefaultToolkit()
922                     .getMenuShortcutKeyMask(), false));
923     redoMenuItem.addActionListener(new java.awt.event.ActionListener()
924     {
925       public void actionPerformed(ActionEvent e)
926       {
927         redoMenuItem_actionPerformed(e);
928       }
929     });
930     conservationMenuItem.setText("By Conservation");
931     conservationMenuItem
932             .addActionListener(new java.awt.event.ActionListener()
933             {
934               public void actionPerformed(ActionEvent e)
935               {
936                 conservationMenuItem_actionPerformed(e);
937               }
938             });
939     noColourmenuItem.setText("None");
940     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()
941     {
942       public void actionPerformed(ActionEvent e)
943       {
944         noColourmenuItem_actionPerformed(e);
945       }
946     });
947     wrapMenuItem.setText("Wrap");
948     wrapMenuItem.addActionListener(new java.awt.event.ActionListener()
949     {
950       public void actionPerformed(ActionEvent e)
951       {
952         wrapMenuItem_actionPerformed(e);
953       }
954     });
955     printMenuItem.setText("Print ...");
956     printMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
957             java.awt.event.KeyEvent.VK_P, Toolkit.getDefaultToolkit()
958                     .getMenuShortcutKeyMask(), false));
959     printMenuItem.addActionListener(new java.awt.event.ActionListener()
960     {
961       public void actionPerformed(ActionEvent e)
962       {
963         printMenuItem_actionPerformed(e);
964       }
965     });
966     renderGapsMenuItem.setText("Show Gaps");
967     renderGapsMenuItem.setState(true);
968     renderGapsMenuItem
969             .addActionListener(new java.awt.event.ActionListener()
970             {
971               public void actionPerformed(ActionEvent e)
972               {
973                 renderGapsMenuItem_actionPerformed(e);
974               }
975             });
976     findMenuItem.setText("Find...");
977     findMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
978             java.awt.event.KeyEvent.VK_F, Toolkit.getDefaultToolkit()
979                     .getMenuShortcutKeyMask(), false));
980     findMenuItem.addActionListener(new java.awt.event.ActionListener()
981     {
982       public void actionPerformed(ActionEvent e)
983       {
984         findMenuItem_actionPerformed(e);
985       }
986     });
987     abovePIDThreshold.setText("Above Identity Threshold");
988     abovePIDThreshold.addActionListener(new java.awt.event.ActionListener()
989     {
990       public void actionPerformed(ActionEvent e)
991       {
992         abovePIDThreshold_actionPerformed(e);
993       }
994     });
995     showSeqFeatures.setText("Show Sequence Features");
996     showSeqFeatures.addActionListener(new ActionListener()
997     {
998       public void actionPerformed(ActionEvent actionEvent)
999       {
1000         showSeqFeatures_actionPerformed(actionEvent);
1001       }
1002     });
1003     /*
1004      * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
1005      * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
1006      * void actionPerformed(ActionEvent actionEvent) {
1007      * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
1008      */
1009     showDbRefsMenuitem.setText("Show Database Refs");
1010     showDbRefsMenuitem.addActionListener(new ActionListener()
1011     {
1012
1013       public void actionPerformed(ActionEvent e)
1014       {
1015         showDbRefs_actionPerformed(e);
1016       }
1017
1018     });
1019     showNpFeatsMenuitem.setText("Show Non-Positional Features");
1020     showNpFeatsMenuitem.addActionListener(new ActionListener()
1021     {
1022
1023       public void actionPerformed(ActionEvent e)
1024       {
1025         showNpFeats_actionPerformed(e);
1026       }
1027
1028     });
1029     showGroupConservation.setText("Group Conservation");
1030     showGroupConservation.addActionListener(new ActionListener()
1031     {
1032
1033       public void actionPerformed(ActionEvent e)
1034       {
1035         showGroupConservation_actionPerformed(e);
1036       }
1037
1038     });
1039
1040     showGroupConsensus.setText("Group Consensus");
1041     showGroupConsensus.addActionListener(new ActionListener()
1042     {
1043
1044       public void actionPerformed(ActionEvent e)
1045       {
1046         showGroupConsensus_actionPerformed(e);
1047       }
1048
1049     });
1050     showConsensusHistogram.setText("Show Consensus Histogram");
1051     showConsensusHistogram.addActionListener(new ActionListener()
1052     {
1053
1054       public void actionPerformed(ActionEvent e)
1055       {
1056         showConsensusHistogram_actionPerformed(e);
1057       }
1058
1059     });
1060     showSequenceLogo.setText("Show Consensus Logo");
1061     showSequenceLogo.addActionListener(new ActionListener()
1062     {
1063
1064       public void actionPerformed(ActionEvent e)
1065       {
1066         showSequenceLogo_actionPerformed(e);
1067       }
1068
1069     });
1070     applyAutoAnnotationSettings.setText("Apply to all groups");
1071     applyAutoAnnotationSettings.setState(false);
1072     applyAutoAnnotationSettings.setVisible(true);
1073     applyAutoAnnotationSettings.addActionListener(new ActionListener()
1074     {
1075
1076       public void actionPerformed(ActionEvent e)
1077       {
1078         applyAutoAnnotationSettings_actionPerformed(e);
1079       }
1080
1081     });
1082
1083     nucleotideColour.setText("Nucleotide");
1084     nucleotideColour.addActionListener(new java.awt.event.ActionListener()
1085     {
1086       public void actionPerformed(ActionEvent e)
1087       {
1088         nucleotideColour_actionPerformed(e);
1089       }
1090     });
1091     deleteGroups.setText("Undefine groups");
1092     deleteGroups.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1093             java.awt.event.KeyEvent.VK_U, Toolkit.getDefaultToolkit()
1094                     .getMenuShortcutKeyMask(), false));
1095     deleteGroups.addActionListener(new java.awt.event.ActionListener()
1096     {
1097       public void actionPerformed(ActionEvent e)
1098       {
1099         deleteGroups_actionPerformed(e);
1100       }
1101     });
1102     copy.setText("Copy");
1103     copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1104             java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit()
1105                     .getMenuShortcutKeyMask(), false));
1106
1107     copy.addActionListener(new java.awt.event.ActionListener()
1108     {
1109       public void actionPerformed(ActionEvent e)
1110       {
1111         copy_actionPerformed(e);
1112       }
1113     });
1114     cut.setText("Cut");
1115     cut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1116             java.awt.event.KeyEvent.VK_X, Toolkit.getDefaultToolkit()
1117                     .getMenuShortcutKeyMask(), false));
1118     cut.addActionListener(new java.awt.event.ActionListener()
1119     {
1120       public void actionPerformed(ActionEvent e)
1121       {
1122         cut_actionPerformed(e);
1123       }
1124     });
1125     delete.setText("Delete");
1126     delete.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1127             java.awt.event.KeyEvent.VK_BACK_SPACE, 0, false));
1128     delete.addActionListener(new java.awt.event.ActionListener()
1129     {
1130       public void actionPerformed(ActionEvent e)
1131       {
1132         delete_actionPerformed(e);
1133       }
1134     });
1135     pasteMenu.setText("Paste");
1136     pasteNew.setText("To New Alignment");
1137     pasteNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1138             java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit()
1139                     .getMenuShortcutKeyMask()
1140                     | java.awt.event.KeyEvent.SHIFT_MASK, false));
1141     pasteNew.addActionListener(new java.awt.event.ActionListener()
1142     {
1143       public void actionPerformed(ActionEvent e)
1144       {
1145         pasteNew_actionPerformed(e);
1146       }
1147     });
1148     pasteThis.setText("Add To This Alignment");
1149     pasteThis.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1150             java.awt.event.KeyEvent.VK_V, Toolkit.getDefaultToolkit()
1151                     .getMenuShortcutKeyMask(), false));
1152     pasteThis.addActionListener(new java.awt.event.ActionListener()
1153     {
1154       public void actionPerformed(ActionEvent e)
1155       {
1156         pasteThis_actionPerformed(e);
1157       }
1158     });
1159     applyToAllGroups.setText("Apply Colour To All Groups");
1160     applyToAllGroups.addActionListener(new java.awt.event.ActionListener()
1161     {
1162       public void actionPerformed(ActionEvent e)
1163       {
1164         applyToAllGroups_actionPerformed(e);
1165       }
1166     });
1167     createPNG.addActionListener(new java.awt.event.ActionListener()
1168     {
1169       public void actionPerformed(ActionEvent e)
1170       {
1171         createPNG(null);
1172       }
1173     });
1174     createPNG.setActionCommand("Save As PNG Image");
1175     createPNG.setText("PNG");
1176     font.setText("Font...");
1177     font.addActionListener(new java.awt.event.ActionListener()
1178     {
1179       public void actionPerformed(ActionEvent e)
1180       {
1181         font_actionPerformed(e);
1182       }
1183     });
1184
1185     seqLimits.setText("Show Sequence Limits");
1186     seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1187     seqLimits.addActionListener(new java.awt.event.ActionListener()
1188     {
1189       public void actionPerformed(ActionEvent e)
1190       {
1191         seqLimit_actionPerformed(e);
1192       }
1193     });
1194     epsFile.setText("EPS");
1195     epsFile.addActionListener(new java.awt.event.ActionListener()
1196     {
1197       public void actionPerformed(ActionEvent e)
1198       {
1199         createEPS(null);
1200       }
1201     });
1202     LoadtreeMenuItem.setActionCommand("Load a tree for this sequence set");
1203     LoadtreeMenuItem.setText("Load Associated Tree");
1204     LoadtreeMenuItem.addActionListener(new java.awt.event.ActionListener()
1205     {
1206       public void actionPerformed(ActionEvent e)
1207       {
1208         LoadtreeMenuItem_actionPerformed(e);
1209       }
1210     });
1211     scaleAbove.setVisible(false);
1212     scaleAbove.setText("Scale Above");
1213     scaleAbove.addActionListener(new java.awt.event.ActionListener()
1214     {
1215       public void actionPerformed(ActionEvent e)
1216       {
1217         scaleAbove_actionPerformed(e);
1218       }
1219     });
1220     scaleLeft.setVisible(false);
1221     scaleLeft.setSelected(true);
1222     scaleLeft.setText("Scale Left");
1223     scaleLeft.addActionListener(new java.awt.event.ActionListener()
1224     {
1225       public void actionPerformed(ActionEvent e)
1226       {
1227         scaleLeft_actionPerformed(e);
1228       }
1229     });
1230     scaleRight.setVisible(false);
1231     scaleRight.setSelected(true);
1232     scaleRight.setText("Scale Right");
1233     scaleRight.addActionListener(new java.awt.event.ActionListener()
1234     {
1235       public void actionPerformed(ActionEvent e)
1236       {
1237         scaleRight_actionPerformed(e);
1238       }
1239     });
1240     centreColumnLabelsMenuItem.setVisible(true);
1241     centreColumnLabelsMenuItem.setState(false);
1242     centreColumnLabelsMenuItem.setText("Centre Column Labels");
1243     centreColumnLabelsMenuItem
1244             .addActionListener(new java.awt.event.ActionListener()
1245             {
1246               public void actionPerformed(ActionEvent e)
1247               {
1248                 centreColumnLabels_actionPerformed(e);
1249               }
1250             });
1251     followHighlightMenuItem.setVisible(true);
1252     followHighlightMenuItem.setState(true);
1253     followHighlightMenuItem.setText("Automatic Scrolling");
1254     followHighlightMenuItem.addActionListener(new ActionListener()
1255     {
1256
1257       public void actionPerformed(ActionEvent e)
1258       {
1259         followHighlight_actionPerformed();
1260       }
1261
1262     });
1263
1264     modifyPID.setText("Modify Identity Threshold...");
1265     modifyPID.addActionListener(new java.awt.event.ActionListener()
1266     {
1267       public void actionPerformed(ActionEvent e)
1268       {
1269         modifyPID_actionPerformed(e);
1270       }
1271     });
1272     modifyConservation.setText("Modify Conservation Threshold...");
1273     modifyConservation
1274             .addActionListener(new java.awt.event.ActionListener()
1275             {
1276               public void actionPerformed(ActionEvent e)
1277               {
1278                 modifyConservation_actionPerformed(e);
1279               }
1280             });
1281     sortByTreeMenu.setText("By Tree Order");
1282     sort.setText("Sort");
1283     sort.addMenuListener(new MenuListener()
1284     {
1285       public void menuSelected(MenuEvent e)
1286       {
1287         buildTreeMenu();
1288       }
1289
1290       public void menuDeselected(MenuEvent e)
1291       {
1292       }
1293
1294       public void menuCanceled(MenuEvent e)
1295       {
1296       }
1297     });
1298     sortByAnnotScore.setText("by Score");
1299     sort.add(sortByAnnotScore);
1300     sortByAnnotScore.addMenuListener(new javax.swing.event.MenuListener()
1301     {
1302
1303       public void menuCanceled(MenuEvent e)
1304       {
1305       }
1306
1307       public void menuDeselected(MenuEvent e)
1308       {
1309       }
1310
1311       public void menuSelected(MenuEvent e)
1312       {
1313         buildSortByAnnotationScoresMenu();
1314       }
1315     });
1316     sortByAnnotScore.setVisible(false);
1317
1318     calculateTree.setText("Calculate Tree");
1319
1320     jMenu2.setText("Export Image");
1321     padGapsMenuitem.setText("Pad Gaps");
1322     padGapsMenuitem.setState(jalview.bin.Cache
1323             .getDefault("PAD_GAPS", false));
1324     padGapsMenuitem.addActionListener(new ActionListener()
1325     {
1326       public void actionPerformed(ActionEvent e)
1327       {
1328         padGapsMenuitem_actionPerformed(e);
1329       }
1330     });
1331     vamsasStore.setVisible(false);
1332     vamsasStore.setText("VAMSAS store");
1333     vamsasStore.addActionListener(new ActionListener()
1334     {
1335       public void actionPerformed(ActionEvent e)
1336       {
1337         vamsasStore_actionPerformed(e);
1338       }
1339     });
1340     showTranslation.setText("Translate cDNA");
1341     showTranslation.addActionListener(new ActionListener()
1342     {
1343       public void actionPerformed(ActionEvent e)
1344       {
1345         showTranslation_actionPerformed(e);
1346       }
1347     });
1348     extractScores.setText("Extract Scores...");
1349     extractScores.addActionListener(new ActionListener()
1350     {
1351       public void actionPerformed(ActionEvent e)
1352       {
1353         extractScores_actionPerformed(e);
1354       }
1355     });
1356     extractScores.setVisible(true); // JBPNote: TODO: make gui for regex based
1357     // score extraction
1358     showProducts.setText("Get Cross References");
1359     /*
1360      * showProducts.addActionListener(new ActionListener() {
1361      * 
1362      * public void actionPerformed(ActionEvent e) {
1363      * showProducts_actionPerformed(e); } });
1364      */
1365     featureSettings.setText("Feature Settings...");
1366     featureSettings.addActionListener(new ActionListener()
1367     {
1368       public void actionPerformed(ActionEvent e)
1369       {
1370         featureSettings_actionPerformed(e);
1371       }
1372     });
1373     fetchSequence.setText("Fetch Sequence(s)...");
1374     fetchSequence.addActionListener(new ActionListener()
1375     {
1376       public void actionPerformed(ActionEvent e)
1377       {
1378         fetchSequence_actionPerformed(e);
1379       }
1380     });
1381
1382     annotationColour.setText("By Annotation...");
1383     annotationColour.addActionListener(new ActionListener()
1384     {
1385       public void actionPerformed(ActionEvent e)
1386       {
1387         annotationColour_actionPerformed(e);
1388       }
1389     });
1390     associatedData.setText("Load Features / Annotations");
1391     associatedData.addActionListener(new ActionListener()
1392     {
1393       public void actionPerformed(ActionEvent e)
1394       {
1395         associatedData_actionPerformed(e);
1396       }
1397     });
1398     autoCalculate.setText("Autocalculate Consensus");
1399     autoCalculate.setState(jalview.bin.Cache.getDefault(
1400             "AUTO_CALC_CONSENSUS", true));
1401     autoCalculate.addActionListener(new ActionListener()
1402     {
1403       public void actionPerformed(ActionEvent e)
1404       {
1405         autoCalculate_actionPerformed(e);
1406       }
1407     });
1408     sortByTree.setText("Sort Alignment With New Tree");
1409     sortByTree.setToolTipText("<html>Enable this to automatically sort<br>the alignment when you open<br> a new tree.");
1410     sortByTree.setState(jalview.bin.Cache.getDefault(
1411             "SORT_BY_TREE", false));
1412     sortByTree.addActionListener(new ActionListener()
1413     {
1414       public void actionPerformed(ActionEvent e)
1415       {
1416         sortByTreeOption_actionPerformed(e);
1417       }
1418     });
1419     
1420     addSequenceMenu.setText("Add Sequences");
1421     addFromFile.setText("From File");
1422     addFromFile.addActionListener(new ActionListener()
1423     {
1424       public void actionPerformed(ActionEvent e)
1425       {
1426         addFromFile_actionPerformed(e);
1427       }
1428     });
1429     addFromText.setText("From Textbox");
1430     addFromText.addActionListener(new ActionListener()
1431     {
1432       public void actionPerformed(ActionEvent e)
1433       {
1434         addFromText_actionPerformed(e);
1435       }
1436     });
1437     addFromURL.setText("From URL");
1438     addFromURL.addActionListener(new ActionListener()
1439     {
1440       public void actionPerformed(ActionEvent e)
1441       {
1442         addFromURL_actionPerformed(e);
1443       }
1444     });
1445     exportFeatures.setText("Export Features...");
1446     exportFeatures.addActionListener(new ActionListener()
1447     {
1448       public void actionPerformed(ActionEvent e)
1449       {
1450         exportFeatures_actionPerformed(e);
1451       }
1452     });
1453     exportAnnotations.setText("Export Annotations...");
1454     exportAnnotations.addActionListener(new ActionListener()
1455     {
1456       public void actionPerformed(ActionEvent e)
1457       {
1458         exportAnnotations_actionPerformed(e);
1459       }
1460     });
1461     statusPanel.setLayout(gridLayout1);
1462     jMenu3.setText("Show");
1463     showAllSeqs.setText("All Sequences");
1464     showAllSeqs.setToolTipText("Shift+H toggles sequence visiblity.");
1465     showAllSeqs.addActionListener(new ActionListener()
1466     {
1467       public void actionPerformed(ActionEvent e)
1468       {
1469         showAllSeqs_actionPerformed(e);
1470       }
1471     });
1472     showAllColumns.setText("All Columns");
1473     showAllColumns.setToolTipText("Ctrl+H toggles column visiblity.");
1474     showAllColumns.addActionListener(new ActionListener()
1475     {
1476       public void actionPerformed(ActionEvent e)
1477       {
1478         showAllColumns_actionPerformed(e);
1479       }
1480     });
1481     hideMenu.setText("Hide");
1482     hideSelSequences.setText("Selected Sequences");
1483     hideSelSequences.setToolTipText("Shift+H toggles sequence visiblity.");
1484     hideSelSequences.addActionListener(new ActionListener()
1485     {
1486       public void actionPerformed(ActionEvent e)
1487       {
1488         hideSelSequences_actionPerformed(e);
1489       }
1490     });
1491     hideSelColumns.setText("Selected Columns");
1492     hideSelColumns.setToolTipText("Ctrl+H toggles column visiblity.");
1493     hideSelColumns.addActionListener(new ActionListener()
1494     {
1495       public void actionPerformed(ActionEvent e)
1496       {
1497         hideSelColumns_actionPerformed(e);
1498       }
1499     });
1500     hideAllSelection.setText("Selected Region");
1501     hideAllSelection.addActionListener(new ActionListener()
1502     {
1503       public void actionPerformed(ActionEvent e)
1504       {
1505         hideAllSelection_actionPerformed(e);
1506       }
1507     });
1508     // TODO: should be hidden if no selection exists.
1509     hideAllButSelection.setText("All but Selected Region (Shift+Ctrl+H)");
1510     hideAllButSelection.addActionListener(new ActionListener()
1511     {
1512       public void actionPerformed(ActionEvent e)
1513       {
1514         hideAllButSelection_actionPerformed(e);
1515       }
1516     });
1517     showAllhidden.setText("All Sequences and Columns");
1518     showAllhidden
1519             .setToolTipText("H toggles visibility of hidden or selected regions.");
1520     showAllhidden.addActionListener(new ActionListener()
1521     {
1522       public void actionPerformed(ActionEvent e)
1523       {
1524         showAllhidden_actionPerformed(e);
1525       }
1526     });
1527
1528     hiddenMarkers.setText("Show Hidden Markers");
1529     hiddenMarkers.addActionListener(new ActionListener()
1530     {
1531       public void actionPerformed(ActionEvent e)
1532       {
1533         hiddenMarkers_actionPerformed(e);
1534       }
1535     });
1536     invertColSel.setText("Invert Column Selection");
1537     invertColSel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1538             java.awt.event.KeyEvent.VK_I, Toolkit.getDefaultToolkit()
1539                     .getMenuShortcutKeyMask()
1540                     | java.awt.event.KeyEvent.ALT_MASK, false));
1541     invertColSel.addActionListener(new ActionListener()
1542     {
1543       public void actionPerformed(ActionEvent e)
1544       {
1545         invertColSel_actionPerformed(e);
1546       }
1547     });
1548     tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1549     {
1550       public void stateChanged(ChangeEvent evt)
1551       {
1552         JTabbedPane pane = (JTabbedPane) evt.getSource();
1553         int sel = pane.getSelectedIndex();
1554         tabSelectionChanged(sel);
1555       }
1556     });
1557     tabbedPane.addMouseListener(new MouseAdapter()
1558     {
1559       public void mousePressed(MouseEvent e)
1560       {
1561         tabbedPane_mousePressed(e);
1562       }
1563     });
1564     tabbedPane.addFocusListener(new FocusAdapter()
1565     {
1566       public void focusGained(FocusEvent e)
1567       {
1568         tabbedPane_focusGained(e);
1569       }
1570     });
1571     save.setText("Save");
1572     save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1573             java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit()
1574                     .getMenuShortcutKeyMask(), false));
1575     save.addActionListener(new ActionListener()
1576     {
1577       public void actionPerformed(ActionEvent e)
1578       {
1579         save_actionPerformed(e);
1580       }
1581     });
1582     reload.setEnabled(false);
1583     reload.setText("Reload");
1584     reload.addActionListener(new ActionListener()
1585     {
1586       public void actionPerformed(ActionEvent e)
1587       {
1588         reload_actionPerformed(e);
1589       }
1590     });
1591     newView.setText("New View");
1592     newView.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1593             java.awt.event.KeyEvent.VK_T, Toolkit.getDefaultToolkit()
1594                     .getMenuShortcutKeyMask(), false));
1595     newView.addActionListener(new ActionListener()
1596     {
1597       public void actionPerformed(ActionEvent e)
1598       {
1599         newView_actionPerformed(e);
1600       }
1601     });
1602     tabbedPane.setToolTipText("<html><i> Right-click to rename tab"
1603             + "<br> Press X to eXpand tabs, G to reGroup.</i></html>");
1604     textColour.setText("Colour Text ...");
1605     textColour.addActionListener(new ActionListener()
1606     {
1607       public void actionPerformed(ActionEvent e)
1608       {
1609         textColour_actionPerformed(e);
1610       }
1611     });
1612     formatMenu.setText("Format");
1613     selectMenu.setText("Select");
1614     idRightAlign.setText("Right Align Sequence Id");
1615     idRightAlign.addActionListener(new ActionListener()
1616     {
1617       public void actionPerformed(ActionEvent e)
1618       {
1619         idRightAlign_actionPerformed(e);
1620       }
1621     });
1622     gatherViews.setEnabled(false);
1623     gatherViews.setText("Gather Views");
1624     gatherViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1625             java.awt.event.KeyEvent.VK_G, 0, false));
1626     gatherViews.addActionListener(new ActionListener()
1627     {
1628       public void actionPerformed(ActionEvent e)
1629       {
1630         gatherViews_actionPerformed(e);
1631       }
1632     });
1633     expandViews.setEnabled(false);
1634     expandViews.setText("Expand Views");
1635     expandViews.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
1636             java.awt.event.KeyEvent.VK_X, 0, false));
1637     expandViews.addActionListener(new ActionListener()
1638     {
1639       public void actionPerformed(ActionEvent e)
1640       {
1641         expandViews_actionPerformed(e);
1642       }
1643     });
1644     pageSetup.setText("Page Setup ...");
1645     pageSetup.addActionListener(new ActionListener()
1646     {
1647       public void actionPerformed(ActionEvent e)
1648       {
1649         pageSetup_actionPerformed(e);
1650       }
1651     });
1652     alignmentProperties.setText("Alignment Properties...");
1653     alignmentProperties.addActionListener(new ActionListener()
1654     {
1655       public void actionPerformed(ActionEvent actionEvent)
1656       {
1657         alignmentProperties();
1658       }
1659     });
1660     tooltipSettingsMenu.setText("Sequence ID Tooltip");
1661     autoAnnMenu.setText("Autocalculated Annotation");
1662     alignFrameMenuBar.add(fileMenu);
1663     alignFrameMenuBar.add(editMenu);
1664     alignFrameMenuBar.add(selectMenu);
1665     alignFrameMenuBar.add(viewMenu);
1666     alignFrameMenuBar.add(formatMenu);
1667     alignFrameMenuBar.add(colourMenu);
1668     alignFrameMenuBar.add(calculateMenu);
1669     alignFrameMenuBar.add(webService);
1670     fileMenu.add(fetchSequence);
1671     fileMenu.add(addSequenceMenu);
1672     fileMenu.add(reload);
1673     fileMenu.addSeparator();
1674     fileMenu.add(vamsasStore);
1675     fileMenu.add(save);
1676     fileMenu.add(saveAs);
1677     fileMenu.add(outputTextboxMenu);
1678     fileMenu.add(pageSetup);
1679     fileMenu.add(printMenuItem);
1680     fileMenu.addSeparator();
1681     fileMenu.add(jMenu2);
1682     fileMenu.add(exportFeatures);
1683     fileMenu.add(exportAnnotations);
1684     fileMenu.add(LoadtreeMenuItem);
1685     fileMenu.add(associatedData);
1686     fileMenu.addSeparator();
1687     fileMenu.add(closeMenuItem);
1688     editMenu.add(undoMenuItem);
1689     editMenu.add(redoMenuItem);
1690     editMenu.add(cut);
1691     editMenu.add(copy);
1692     editMenu.add(pasteMenu);
1693     editMenu.add(delete);
1694     editMenu.addSeparator();
1695     editMenu.add(remove2LeftMenuItem);
1696     editMenu.add(remove2RightMenuItem);
1697     editMenu.add(removeGappedColumnMenuItem);
1698     editMenu.add(removeAllGapsMenuItem);
1699     editMenu.add(removeRedundancyMenuItem);
1700     editMenu.addSeparator();
1701     // dont add these yet in the CVS build - they cannot be undone!
1702     // Excluded from Jalview 2.5 release - undo needs to be implemented.
1703     // editMenu.add(justifyLeftMenuItem);
1704     // editMenu.add(justifyRightMenuItem);
1705     // editMenu.addSeparator();
1706     editMenu.add(padGapsMenuitem);
1707     viewMenu.add(newView);
1708     viewMenu.add(expandViews);
1709     viewMenu.add(gatherViews);
1710     viewMenu.addSeparator();
1711     viewMenu.add(jMenu3);
1712     viewMenu.add(hideMenu);
1713     viewMenu.addSeparator();
1714     viewMenu.add(followHighlightMenuItem);
1715     viewMenu.add(annotationPanelMenuItem);
1716     autoAnnMenu.add(applyAutoAnnotationSettings);
1717     autoAnnMenu.add(showConsensusHistogram);
1718     autoAnnMenu.add(showSequenceLogo);
1719     autoAnnMenu.addSeparator();
1720     autoAnnMenu.add(showGroupConservation);
1721     autoAnnMenu.add(showGroupConsensus);
1722     viewMenu.add(autoAnnMenu);
1723     viewMenu.addSeparator();
1724     viewMenu.add(showSeqFeatures);
1725     // viewMenu.add(showSeqFeaturesHeight);
1726
1727     viewMenu.add(featureSettings);
1728     tooltipSettingsMenu.add(showDbRefsMenuitem);
1729     tooltipSettingsMenu.add(showNpFeatsMenuitem);
1730     viewMenu.add(tooltipSettingsMenu);
1731     viewMenu.addSeparator();
1732     viewMenu.add(alignmentProperties);
1733     viewMenu.addSeparator();
1734     viewMenu.add(overviewMenuItem);
1735     colourMenu.add(applyToAllGroups);
1736     colourMenu.add(textColour);
1737     colourMenu.addSeparator();
1738     colourMenu.add(noColourmenuItem);
1739     colourMenu.add(clustalColour);
1740     colourMenu.add(BLOSUM62Colour);
1741     colourMenu.add(PIDColour);
1742     colourMenu.add(zappoColour);
1743     colourMenu.add(taylorColour);
1744     colourMenu.add(hydrophobicityColour);
1745     colourMenu.add(helixColour);
1746     colourMenu.add(strandColour);
1747     colourMenu.add(turnColour);
1748     colourMenu.add(buriedColour);
1749     colourMenu.add(nucleotideColour);
1750     colourMenu.add(userDefinedColour);
1751     colourMenu.addSeparator();
1752     colourMenu.add(conservationMenuItem);
1753     colourMenu.add(modifyConservation);
1754     colourMenu.add(abovePIDThreshold);
1755     colourMenu.add(modifyPID);
1756     colourMenu.add(annotationColour);
1757     calculateMenu.add(sort);
1758     calculateMenu.add(calculateTree);
1759     calculateMenu.addSeparator();
1760     calculateMenu.add(pairwiseAlignmentMenuItem);
1761     calculateMenu.add(PCAMenuItem);
1762     calculateMenu.addSeparator();
1763     calculateMenu.add(showTranslation);
1764     calculateMenu.add(showProducts);
1765     calculateMenu.add(autoCalculate);
1766     calculateMenu.add(sortByTree);
1767     calculateMenu.addSeparator();
1768     calculateMenu.add(extractScores);
1769     webServiceNoServices = new JMenuItem("<No Services>");
1770     webService.add(webServiceNoServices);
1771     pasteMenu.add(pasteNew);
1772     pasteMenu.add(pasteThis);
1773     sort.add(sortIDMenuItem);
1774     sort.add(sortLengthMenuItem);
1775     sort.add(sortGroupMenuItem);
1776     sort.add(sortPairwiseMenuItem);
1777     sort.add(sortByTreeMenu);
1778     calculateTree.add(averageDistanceTreeMenuItem);
1779     calculateTree.add(neighbourTreeMenuItem);
1780     calculateTree.add(avDistanceTreeBlosumMenuItem);
1781     calculateTree.add(njTreeBlosumMenuItem);
1782     jMenu2.add(htmlMenuItem);
1783     jMenu2.add(epsFile);
1784     jMenu2.add(createPNG);
1785     addSequenceMenu.add(addFromFile);
1786     addSequenceMenu.add(addFromText);
1787     addSequenceMenu.add(addFromURL);
1788     this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1789     statusPanel.add(statusBar, null);
1790     this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1791     jMenu3.add(showAllColumns);
1792     jMenu3.add(showAllSeqs);
1793     jMenu3.add(showAllhidden);
1794     hideMenu.add(hideSelColumns);
1795     hideMenu.add(hideSelSequences);
1796     hideMenu.add(hideAllSelection);
1797     hideMenu.add(hideAllButSelection);
1798
1799     formatMenu.add(font);
1800     formatMenu.addSeparator();
1801     formatMenu.add(wrapMenuItem);
1802     formatMenu.add(scaleAbove);
1803     formatMenu.add(scaleLeft);
1804     formatMenu.add(scaleRight);
1805     formatMenu.add(seqLimits);
1806     formatMenu.add(idRightAlign);
1807     formatMenu.add(hiddenMarkers);
1808     formatMenu.add(viewBoxesMenuItem);
1809     formatMenu.add(viewTextMenuItem);
1810     formatMenu.add(colourTextMenuItem);
1811     formatMenu.add(renderGapsMenuItem);
1812     formatMenu.add(centreColumnLabelsMenuItem);
1813     formatMenu.add(showNonconservedMenuItem);
1814     selectMenu.add(findMenuItem);
1815     selectMenu.addSeparator();
1816     selectMenu.add(selectAllSequenceMenuItem);
1817     selectMenu.add(deselectAllSequenceMenuItem);
1818     selectMenu.add(invertSequenceMenuItem);
1819     selectMenu.add(invertColSel);
1820     selectMenu.add(deleteGroups);
1821     selectMenu.add(grpsFromSelection);
1822   }
1823
1824   protected void showAllhidden_actionPerformed(ActionEvent e)
1825   {
1826     // TODO Auto-generated method stub
1827
1828   }
1829
1830   protected void hideAllButSelection_actionPerformed(ActionEvent e)
1831   {
1832     // TODO Auto-generated method stub
1833
1834   }
1835
1836   protected void hideAllSelection_actionPerformed(ActionEvent e)
1837   {
1838     // TODO Auto-generated method stub
1839
1840   }
1841
1842   protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
1843   {
1844     // TODO Auto-generated method stub
1845
1846   }
1847
1848   protected void showConsensusHistogram_actionPerformed(ActionEvent e)
1849   {
1850     // TODO Auto-generated method stub
1851
1852   }
1853
1854   protected void showSequenceLogo_actionPerformed(ActionEvent e)
1855   {
1856     // TODO Auto-generated method stub
1857
1858   }
1859
1860   protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
1861   {
1862     // TODO Auto-generated method stub
1863
1864   }
1865
1866   protected void showGroupConsensus_actionPerformed(ActionEvent e)
1867   {
1868     // TODO Auto-generated method stub
1869
1870   }
1871
1872   protected void showGroupConservation_actionPerformed(ActionEvent e)
1873   {
1874     // TODO Auto-generated method stub
1875
1876   }
1877
1878   protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
1879   {
1880     // TODO Auto-generated method stub
1881
1882   }
1883
1884   protected void showSeqFeaturesHeight_actionPerformed(
1885           ActionEvent actionEvent)
1886   {
1887     // TODO Auto-generated method stub
1888
1889   }
1890
1891   protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
1892   {
1893     // TODO Auto-generated method stub
1894
1895   }
1896
1897   protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
1898   {
1899     // TODO Auto-generated method stub
1900
1901   }
1902
1903   protected void followHighlight_actionPerformed()
1904   {
1905     // TODO Auto-generated method stub
1906
1907   }
1908
1909   protected void showNpFeats_actionPerformed(ActionEvent e)
1910   {
1911     // TODO Auto-generated method stub
1912
1913   }
1914
1915   protected void showDbRefs_actionPerformed(ActionEvent e)
1916   {
1917     // TODO Auto-generated method stub
1918
1919   }
1920
1921   protected void centreColumnLabels_actionPerformed(ActionEvent e)
1922   {
1923   }
1924
1925   protected void showProducts_actionPerformed(ActionEvent e)
1926   {
1927   }
1928
1929   protected void buildSortByAnnotationScoresMenu()
1930   {
1931   }
1932
1933   protected void extractScores_actionPerformed(ActionEvent e)
1934   {
1935   }
1936
1937   protected void outputText_actionPerformed(ActionEvent e)
1938   {
1939   }
1940
1941   public void addFromFile_actionPerformed(ActionEvent e)
1942   {
1943
1944   }
1945
1946   public void addFromText_actionPerformed(ActionEvent e)
1947   {
1948
1949   }
1950
1951   public void addFromURL_actionPerformed(ActionEvent e)
1952   {
1953
1954   }
1955
1956   public void exportFeatures_actionPerformed(ActionEvent e)
1957   {
1958
1959   }
1960
1961   public void exportAnnotations_actionPerformed(ActionEvent e)
1962   {
1963
1964   }
1965
1966   protected void htmlMenuItem_actionPerformed(ActionEvent e)
1967   {
1968   }
1969
1970   protected void closeMenuItem_actionPerformed(boolean b)
1971   {
1972   }
1973
1974   protected void redoMenuItem_actionPerformed(ActionEvent e)
1975   {
1976   }
1977
1978   protected void undoMenuItem_actionPerformed(ActionEvent e)
1979   {
1980   }
1981
1982   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
1983   {
1984   }
1985
1986   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
1987   {
1988   }
1989
1990   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
1991   {
1992   }
1993
1994   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
1995   {
1996   }
1997
1998   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
1999   {
2000   }
2001
2002   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2003   {
2004   }
2005
2006   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2007   {
2008   }
2009
2010   protected void wrapMenuItem_actionPerformed(ActionEvent e)
2011   {
2012   }
2013
2014   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2015   {
2016   }
2017
2018   protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2019   {
2020   }
2021
2022   protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2023   {
2024   }
2025
2026   protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2027   {
2028   }
2029
2030   protected void overviewMenuItem_actionPerformed(ActionEvent e)
2031   {
2032   }
2033
2034   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2035   {
2036   }
2037
2038   protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2039   {
2040   }
2041
2042   protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2043   {
2044   }
2045
2046   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2047   {
2048   }
2049
2050   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2051   {
2052   }
2053
2054   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2055   {
2056   }
2057
2058   protected void PCAMenuItem_actionPerformed(ActionEvent e)
2059   {
2060   }
2061
2062   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
2063   {
2064   }
2065
2066   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2067   {
2068   }
2069
2070   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2071   {
2072   }
2073
2074   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
2075   {
2076   }
2077
2078   protected void clustalColour_actionPerformed(ActionEvent e)
2079   {
2080   }
2081
2082   protected void zappoColour_actionPerformed(ActionEvent e)
2083   {
2084   }
2085
2086   protected void taylorColour_actionPerformed(ActionEvent e)
2087   {
2088   }
2089
2090   protected void hydrophobicityColour_actionPerformed(ActionEvent e)
2091   {
2092   }
2093
2094   protected void helixColour_actionPerformed(ActionEvent e)
2095   {
2096   }
2097
2098   protected void strandColour_actionPerformed(ActionEvent e)
2099   {
2100   }
2101
2102   protected void turnColour_actionPerformed(ActionEvent e)
2103   {
2104   }
2105
2106   protected void buriedColour_actionPerformed(ActionEvent e)
2107   {
2108   }
2109
2110   protected void userDefinedColour_actionPerformed(ActionEvent e)
2111   {
2112   }
2113
2114   protected void PIDColour_actionPerformed(ActionEvent e)
2115   {
2116   }
2117
2118   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)
2119   {
2120   }
2121
2122   protected void noColourmenuItem_actionPerformed(ActionEvent e)
2123   {
2124   }
2125
2126   protected void conservationMenuItem_actionPerformed(ActionEvent e)
2127   {
2128   }
2129
2130   protected void printMenuItem_actionPerformed(ActionEvent e)
2131   {
2132   }
2133
2134   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2135   {
2136   }
2137
2138   protected void findMenuItem_actionPerformed(ActionEvent e)
2139   {
2140   }
2141
2142   protected void abovePIDThreshold_actionPerformed(ActionEvent e)
2143   {
2144   }
2145
2146   public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2147   {
2148   }
2149
2150   protected void nucleotideColour_actionPerformed(ActionEvent e)
2151   {
2152   }
2153
2154   protected void deleteGroups_actionPerformed(ActionEvent e)
2155   {
2156   }
2157
2158   protected void copy_actionPerformed(ActionEvent e)
2159   {
2160   }
2161
2162   protected void cut_actionPerformed(ActionEvent e)
2163   {
2164   }
2165
2166   protected void delete_actionPerformed(ActionEvent e)
2167   {
2168   }
2169
2170   protected void pasteNew_actionPerformed(ActionEvent e)
2171   {
2172   }
2173
2174   protected void pasteThis_actionPerformed(ActionEvent e)
2175   {
2176   }
2177
2178   protected void applyToAllGroups_actionPerformed(ActionEvent e)
2179   {
2180   }
2181
2182   public void createPNG(java.io.File f)
2183   {
2184   }
2185
2186   protected void font_actionPerformed(ActionEvent e)
2187   {
2188   }
2189
2190   protected void seqLimit_actionPerformed(ActionEvent e)
2191   {
2192   }
2193
2194   public void seqDBRef_actionPerformed(ActionEvent e)
2195   {
2196
2197   }
2198
2199   public void createEPS(java.io.File f)
2200   {
2201   }
2202
2203   protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
2204   {
2205   }
2206
2207   protected void jpred_actionPerformed(ActionEvent e)
2208   {
2209   }
2210
2211   protected void scaleAbove_actionPerformed(ActionEvent e)
2212   {
2213   }
2214
2215   protected void scaleLeft_actionPerformed(ActionEvent e)
2216   {
2217   }
2218
2219   protected void scaleRight_actionPerformed(ActionEvent e)
2220   {
2221   }
2222
2223   protected void modifyPID_actionPerformed(ActionEvent e)
2224   {
2225   }
2226
2227   protected void modifyConservation_actionPerformed(ActionEvent e)
2228   {
2229   }
2230
2231   protected void saveAs_actionPerformed(ActionEvent e)
2232   {
2233   }
2234
2235   protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2236   {
2237   }
2238
2239   public void vamsasStore_actionPerformed(ActionEvent e)
2240   {
2241
2242   }
2243
2244   public void vamsasLoad_actionPerformed(ActionEvent e)
2245   {
2246
2247   }
2248
2249   public void showTranslation_actionPerformed(ActionEvent e)
2250   {
2251
2252   }
2253
2254   public void featureSettings_actionPerformed(ActionEvent e)
2255   {
2256
2257   }
2258
2259   public void fetchSequence_actionPerformed(ActionEvent e)
2260   {
2261
2262   }
2263
2264   public void smoothFont_actionPerformed(ActionEvent e)
2265   {
2266
2267   }
2268
2269   public void annotationColour_actionPerformed(ActionEvent e)
2270   {
2271
2272   }
2273
2274   public void associatedData_actionPerformed(ActionEvent e)
2275   {
2276
2277   }
2278
2279   public void autoCalculate_actionPerformed(ActionEvent e)
2280   {
2281
2282   }
2283
2284   public void sortByTreeOption_actionPerformed(ActionEvent e)
2285   {
2286
2287   }
2288
2289   public void showAllSeqs_actionPerformed(ActionEvent e)
2290   {
2291
2292   }
2293
2294   public void showAllColumns_actionPerformed(ActionEvent e)
2295   {
2296
2297   }
2298
2299   public void hideSelSequences_actionPerformed(ActionEvent e)
2300   {
2301
2302   }
2303
2304   public void hideSelColumns_actionPerformed(ActionEvent e)
2305   {
2306
2307   }
2308
2309   public void hiddenMarkers_actionPerformed(ActionEvent e)
2310   {
2311
2312   }
2313
2314   public void findPdbId_actionPerformed(ActionEvent e)
2315   {
2316
2317   }
2318
2319   public void enterPdbId_actionPerformed(ActionEvent e)
2320   {
2321
2322   }
2323
2324   public void pdbFile_actionPerformed(ActionEvent e)
2325   {
2326
2327   }
2328
2329   public void invertColSel_actionPerformed(ActionEvent e)
2330   {
2331
2332   }
2333
2334   public void tabSelectionChanged(int sel)
2335   {
2336
2337   }
2338
2339   public void tabbedPane_mousePressed(MouseEvent e)
2340   {
2341
2342   }
2343
2344   public void tabbedPane_focusGained(FocusEvent e)
2345   {
2346     requestFocus();
2347   }
2348
2349   public void save_actionPerformed(ActionEvent e)
2350   {
2351
2352   }
2353
2354   public void reload_actionPerformed(ActionEvent e)
2355   {
2356
2357   }
2358
2359   public void newView_actionPerformed(ActionEvent e)
2360   {
2361
2362   }
2363
2364   public void textColour_actionPerformed(ActionEvent e)
2365   {
2366
2367   }
2368
2369   public void idRightAlign_actionPerformed(ActionEvent e)
2370   {
2371
2372   }
2373
2374   public void expandViews_actionPerformed(ActionEvent e)
2375   {
2376
2377   }
2378
2379   public void gatherViews_actionPerformed(ActionEvent e)
2380   {
2381
2382   }
2383
2384   public void buildTreeMenu()
2385   {
2386
2387   }
2388
2389   public void pageSetup_actionPerformed(ActionEvent e)
2390   {
2391
2392   }
2393
2394   public void alignmentProperties()
2395   {
2396
2397   }
2398 }