Formatted source
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
1 /*\r
2 * Jalview - A Sequence Alignment Editor and Viewer\r
3 * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4 *\r
5 * This program is free software; you can redistribute it and/or\r
6 * modify it under the terms of the GNU General Public License\r
7 * as published by the Free Software Foundation; either version 2\r
8 * of the License, or (at your option) any later version.\r
9 *\r
10 * This program is distributed in the hope that it will be useful,\r
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 * GNU General Public License for more details.\r
14 *\r
15 * You should have received a copy of the GNU General Public License\r
16 * along with this program; if not, write to the Free Software\r
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18 */\r
19 package jalview.jbgui;\r
20 \r
21 import jalview.gui.Preferences;\r
22 \r
23 import jalview.schemes.ColourSchemeProperty;\r
24 \r
25 import java.awt.*;\r
26 import java.awt.event.*;\r
27 \r
28 import javax.swing.*;\r
29 import javax.swing.event.AncestorEvent;\r
30 import javax.swing.event.AncestorListener;\r
31 \r
32 \r
33 public class GAlignFrame extends JInternalFrame {\r
34     protected JMenuBar alignFrameMenuBar = new JMenuBar();\r
35     protected JMenu fileMenu = new JMenu();\r
36     protected JMenuItem closeMenuItem = new JMenuItem();\r
37     protected JMenu editMenu = new JMenu();\r
38     protected JMenu viewMenu = new JMenu();\r
39     protected JMenu colourMenu = new JMenu();\r
40     protected JMenu calculateMenu = new JMenu();\r
41     protected JMenu webService = new JMenu();\r
42     protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();\r
43     protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();\r
44     protected JMenuItem invertSequenceMenuItem = new JMenuItem();\r
45     protected JMenuItem remove2LeftMenuItem = new JMenuItem();\r
46     protected JMenuItem remove2RightMenuItem = new JMenuItem();\r
47     protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();\r
48     protected JMenuItem removeAllGapsMenuItem = new JMenuItem();\r
49     protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();\r
50     protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();\r
51     protected JMenuItem sortPairwiseMenuItem = new JMenuItem();\r
52     protected JMenuItem sortIDMenuItem = new JMenuItem();\r
53     protected JMenuItem sortGroupMenuItem = new JMenuItem();\r
54     protected JMenuItem removeRedundancyMenuItem = new JMenuItem();\r
55     protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();\r
56     protected JMenuItem PCAMenuItem = new JMenuItem();\r
57     protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();\r
58     protected JMenuItem neighbourTreeMenuItem = new JMenuItem();\r
59     protected JMenuItem clustalAlignMenuItem = new JMenuItem();\r
60     BorderLayout borderLayout1 = new BorderLayout();\r
61     public JLabel statusBar = new JLabel();\r
62     protected JMenuItem saveAlignmentMenu = new JMenuItem();\r
63     protected JMenu outputTextboxMenu = new JMenu();\r
64     protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();\r
65     protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();\r
66     protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();\r
67     protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();\r
68     protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();\r
69     protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();\r
70     protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();\r
71     protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();\r
72     protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();\r
73     protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();\r
74     protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();\r
75     JMenuItem njTreeBlosumMenuItem = new JMenuItem();\r
76     JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();\r
77     protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();\r
78     protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();\r
79     JMenuItem htmlMenuItem = new JMenuItem();\r
80     JMenuItem overviewMenuItem = new JMenuItem();\r
81     protected JMenuItem undoMenuItem = new JMenuItem();\r
82     protected JMenuItem redoMenuItem = new JMenuItem();\r
83     protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();\r
84     JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();\r
85     protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();\r
86     JMenuItem printMenuItem = new JMenuItem();\r
87     protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();\r
88     JMenuItem findMenuItem = new JMenuItem();\r
89     JMenu searchMenu = new JMenu();\r
90     protected JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();\r
91     protected JCheckBoxMenuItem sequenceFeatures = new JCheckBoxMenuItem();\r
92     protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();\r
93     JMenuItem deleteGroups = new JMenuItem();\r
94     JMenuItem delete = new JMenuItem();\r
95     JMenuItem copy = new JMenuItem();\r
96     JMenuItem cut = new JMenuItem();\r
97     JMenu jMenu1 = new JMenu();\r
98     JMenuItem pasteNew = new JMenuItem();\r
99     JMenuItem pasteThis = new JMenuItem();\r
100     protected JCheckBoxMenuItem applyToAllGroups = new JCheckBoxMenuItem();\r
101     JMenuItem createPNG = new JMenuItem();\r
102     protected JMenuItem font = new JMenuItem();\r
103     protected JCheckBoxMenuItem fullSeqId = new JCheckBoxMenuItem();\r
104     JMenuItem epsFile = new JMenuItem();\r
105     JMenuItem LoadtreeMenuItem = new JMenuItem();\r
106     JMenuItem jpred = new JMenuItem();\r
107     protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();\r
108     protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();\r
109     protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();\r
110     JMenuItem modifyPID = new JMenuItem();\r
111     JMenuItem modifyConservation = new JMenuItem();\r
112     protected JMenu sortByTreeMenu = new JMenu();\r
113     protected JMenu sort = new JMenu();\r
114     JMenu calculate = new JMenu();\r
115     JMenuItem msaAlignMenuItem = new JMenuItem();\r
116     JMenu jMenu2 = new JMenu();\r
117     JMenuItem padGapsMenuitem = new JMenuItem();\r
118     JMenuItem ClustalRealign = new JMenuItem();\r
119 \r
120     public GAlignFrame() {\r
121         ButtonGroup colours = new ButtonGroup();\r
122         colours.add(noColourmenuItem);\r
123         colours.add(clustalColour);\r
124         colours.add(zappoColour);\r
125         colours.add(taylorColour);\r
126         colours.add(hydrophobicityColour);\r
127         colours.add(helixColour);\r
128         colours.add(strandColour);\r
129         colours.add(turnColour);\r
130         colours.add(buriedColour);\r
131         colours.add(userDefinedColour);\r
132         colours.add(PIDColour);\r
133         colours.add(BLOSUM62Colour);\r
134         colours.add(nucleotideColour);\r
135 \r
136         noColourmenuItem.setSelected(true);\r
137 \r
138         String defaultColour = Preferences.defaultColour;\r
139 \r
140         if (defaultColour != null) {\r
141             int index = ColourSchemeProperty.getColourIndexFromName(defaultColour);\r
142 \r
143             switch (index) {\r
144             case ColourSchemeProperty.CLUSTAL:\r
145                 clustalColour.setSelected(true);\r
146 \r
147                 break;\r
148 \r
149             case ColourSchemeProperty.BLOSUM:\r
150                 BLOSUM62Colour.setSelected(true);\r
151 \r
152                 break;\r
153 \r
154             case ColourSchemeProperty.PID:\r
155                 PIDColour.setSelected(true);\r
156 \r
157                 break;\r
158 \r
159             case ColourSchemeProperty.ZAPPO:\r
160                 zappoColour.setSelected(true);\r
161 \r
162                 break;\r
163 \r
164             case ColourSchemeProperty.HYDROPHOBIC:\r
165                 hydrophobicityColour.setSelected(true);\r
166 \r
167                 break;\r
168 \r
169             case ColourSchemeProperty.HELIX:\r
170                 helixColour.setSelected(true);\r
171 \r
172                 break;\r
173 \r
174             case ColourSchemeProperty.STRAND:\r
175                 strandColour.setSelected(true);\r
176 \r
177                 break;\r
178 \r
179             case ColourSchemeProperty.TURN:\r
180                 turnColour.setSelected(true);\r
181 \r
182                 break;\r
183 \r
184             case ColourSchemeProperty.BURIED:\r
185                 buriedColour.setSelected(true);\r
186 \r
187                 break;\r
188 \r
189             case ColourSchemeProperty.NUCLEOTIDE:\r
190                 nucleotideColour.setSelected(true);\r
191 \r
192                 break;\r
193 \r
194             case ColourSchemeProperty.USER_DEFINED:\r
195                 userDefinedColour.setSelected(true);\r
196 \r
197                 break;\r
198             }\r
199         }\r
200 \r
201         try {\r
202             jbInit();\r
203             setJMenuBar(alignFrameMenuBar);\r
204 \r
205             JMenuItem item;\r
206 \r
207             // dynamically fill save as menu with available formats\r
208             for (int i = 0; i < jalview.io.FormatAdapter.formats.size(); i++) {\r
209                 item = new JMenuItem((String) jalview.io.FormatAdapter.formats.elementAt(\r
210                             i));\r
211                 item.addActionListener(new java.awt.event.ActionListener() {\r
212                         public void actionPerformed(ActionEvent e) {\r
213                             outputText_actionPerformed(e);\r
214                         }\r
215                     });\r
216 \r
217                 outputTextboxMenu.add(item);\r
218             }\r
219         } catch (Exception e) {\r
220             e.printStackTrace();\r
221         }\r
222     }\r
223 \r
224     private void jbInit() throws Exception {\r
225         fileMenu.setMnemonic('F');\r
226         fileMenu.setText("File");\r
227         saveAlignmentMenu.setMnemonic('L');\r
228         saveAlignmentMenu.setText("Save As");\r
229         saveAlignmentMenu.addActionListener(new ActionListener() {\r
230                 public void actionPerformed(ActionEvent e) {\r
231                     saveAlignmentMenu_actionPerformed(e);\r
232                 }\r
233             });\r
234         closeMenuItem.setMnemonic('C');\r
235         closeMenuItem.setText("Close");\r
236         closeMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
237                 public void actionPerformed(ActionEvent e) {\r
238                     closeMenuItem_actionPerformed(e);\r
239                 }\r
240             });\r
241         editMenu.setText("Edit");\r
242         viewMenu.setText("View");\r
243         colourMenu.setText("Colour");\r
244         calculateMenu.setText("Calculate");\r
245         webService.setText("Web Service");\r
246         selectAllSequenceMenuItem.setText("Select all");\r
247         selectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
248                 java.awt.event.KeyEvent.VK_A,\r
249                 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
250         selectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
251                 public void actionPerformed(ActionEvent e) {\r
252                     selectAllSequenceMenuItem_actionPerformed(e);\r
253                 }\r
254             });\r
255         deselectAllSequenceMenuItem.setText("Deselect All");\r
256         deselectAllSequenceMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
257                 java.awt.event.KeyEvent.VK_ESCAPE, 0, false));\r
258         deselectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
259                 public void actionPerformed(ActionEvent e) {\r
260                     deselectAllSequenceMenuItem_actionPerformed(e);\r
261                 }\r
262             });\r
263         invertSequenceMenuItem.setText("Invert Selection");\r
264         invertSequenceMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
265                 public void actionPerformed(ActionEvent e) {\r
266                     invertSequenceMenuItem_actionPerformed(e);\r
267                 }\r
268             });\r
269         remove2LeftMenuItem.setText("Remove Left");\r
270         remove2LeftMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
271                 public void actionPerformed(ActionEvent e) {\r
272                     remove2LeftMenuItem_actionPerformed(e);\r
273                 }\r
274             });\r
275         remove2RightMenuItem.setText("Remove Right");\r
276         remove2RightMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
277                 public void actionPerformed(ActionEvent e) {\r
278                     remove2RightMenuItem_actionPerformed(e);\r
279                 }\r
280             });\r
281         removeGappedColumnMenuItem.setText("Remove Empty Columns");\r
282         removeGappedColumnMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
283                 public void actionPerformed(ActionEvent e) {\r
284                     removeGappedColumnMenuItem_actionPerformed(e);\r
285                 }\r
286             });\r
287         removeAllGapsMenuItem.setText("Remove All Gaps");\r
288         removeAllGapsMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
289                 public void actionPerformed(ActionEvent e) {\r
290                     removeAllGapsMenuItem_actionPerformed(e);\r
291                 }\r
292             });\r
293         viewBoxesMenuItem.setText("Boxes");\r
294         viewBoxesMenuItem.setState(true);\r
295         viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
296                 public void actionPerformed(ActionEvent e) {\r
297                     viewBoxesMenuItem_actionPerformed(e);\r
298                 }\r
299             });\r
300         viewTextMenuItem.setText("Text");\r
301         viewTextMenuItem.setState(true);\r
302         viewTextMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
303                 public void actionPerformed(ActionEvent e) {\r
304                     viewTextMenuItem_actionPerformed(e);\r
305                 }\r
306             });\r
307         sortPairwiseMenuItem.setText("by Pairwise Identity");\r
308         sortPairwiseMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
309                 public void actionPerformed(ActionEvent e) {\r
310                     sortPairwiseMenuItem_actionPerformed(e);\r
311                 }\r
312             });\r
313         sortIDMenuItem.setText("by ID");\r
314         sortIDMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
315                 public void actionPerformed(ActionEvent e) {\r
316                     sortIDMenuItem_actionPerformed(e);\r
317                 }\r
318             });\r
319         sortGroupMenuItem.setText("by Group");\r
320         sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
321                 public void actionPerformed(ActionEvent e) {\r
322                     sortGroupMenuItem_actionPerformed(e);\r
323                 }\r
324             });\r
325         removeRedundancyMenuItem.setText("Remove Redundancy...");\r
326         removeRedundancyMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
327                 public void actionPerformed(ActionEvent e) {\r
328                     removeRedundancyMenuItem_actionPerformed(e);\r
329                 }\r
330             });\r
331         pairwiseAlignmentMenuItem.setText("Pairwise Alignments...");\r
332         pairwiseAlignmentMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
333                 public void actionPerformed(ActionEvent e) {\r
334                     pairwiseAlignmentMenuItem_actionPerformed(e);\r
335                 }\r
336             });\r
337         PCAMenuItem.setText("Principal Component Analysis...");\r
338         PCAMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
339                 public void actionPerformed(ActionEvent e) {\r
340                     PCAMenuItem_actionPerformed(e);\r
341                 }\r
342             });\r
343         averageDistanceTreeMenuItem.setText(\r
344             "Average Distance Using % Identity...");\r
345         averageDistanceTreeMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
346                 public void actionPerformed(ActionEvent e) {\r
347                     averageDistanceTreeMenuItem_actionPerformed(e);\r
348                 }\r
349             });\r
350         neighbourTreeMenuItem.setText("Neighbour Joining Using % Identity...");\r
351         neighbourTreeMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
352                 public void actionPerformed(ActionEvent e) {\r
353                     neighbourTreeMenuItem_actionPerformed(e);\r
354                 }\r
355             });\r
356         clustalAlignMenuItem.setText("Clustal Alignment...");\r
357         clustalAlignMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
358                 public void actionPerformed(ActionEvent e) {\r
359                     clustalAlignMenuItem_actionPerformed(e);\r
360                 }\r
361             });\r
362         this.getContentPane().setLayout(borderLayout1);\r
363         alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
364         alignFrameMenuBar.addAncestorListener(new AncestorListener() {\r
365                 public void ancestorAdded(AncestorEvent event) {\r
366                     alignFrameMenuBar_ancestorAdded(event);\r
367                 }\r
368 \r
369                 public void ancestorRemoved(AncestorEvent event) {\r
370                 }\r
371 \r
372                 public void ancestorMoved(AncestorEvent event) {\r
373                 }\r
374             });\r
375         statusBar.setBackground(Color.white);\r
376         statusBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
377         statusBar.setBorder(BorderFactory.createLineBorder(Color.black));\r
378         statusBar.setText("Status bar");\r
379         outputTextboxMenu.setMnemonic('T');\r
380         outputTextboxMenu.setText("Output to Textbox");\r
381         clustalColour.setText("Clustalx");\r
382 \r
383         clustalColour.addActionListener(new java.awt.event.ActionListener() {\r
384                 public void actionPerformed(ActionEvent e) {\r
385                     clustalColour_actionPerformed(e);\r
386                 }\r
387             });\r
388         zappoColour.setText("Zappo");\r
389         zappoColour.addActionListener(new java.awt.event.ActionListener() {\r
390                 public void actionPerformed(ActionEvent e) {\r
391                     zappoColour_actionPerformed(e);\r
392                 }\r
393             });\r
394         taylorColour.setText("Taylor");\r
395         taylorColour.addActionListener(new java.awt.event.ActionListener() {\r
396                 public void actionPerformed(ActionEvent e) {\r
397                     taylorColour_actionPerformed(e);\r
398                 }\r
399             });\r
400         hydrophobicityColour.setText("Hydrophobicity");\r
401         hydrophobicityColour.addActionListener(new java.awt.event.ActionListener() {\r
402                 public void actionPerformed(ActionEvent e) {\r
403                     hydrophobicityColour_actionPerformed(e);\r
404                 }\r
405             });\r
406         helixColour.setText("Helix Propensity");\r
407         helixColour.addActionListener(new java.awt.event.ActionListener() {\r
408                 public void actionPerformed(ActionEvent e) {\r
409                     helixColour_actionPerformed(e);\r
410                 }\r
411             });\r
412         strandColour.setText("Strand Propensity");\r
413         strandColour.addActionListener(new java.awt.event.ActionListener() {\r
414                 public void actionPerformed(ActionEvent e) {\r
415                     strandColour_actionPerformed(e);\r
416                 }\r
417             });\r
418         turnColour.setText("Turn Propensity");\r
419         turnColour.addActionListener(new java.awt.event.ActionListener() {\r
420                 public void actionPerformed(ActionEvent e) {\r
421                     turnColour_actionPerformed(e);\r
422                 }\r
423             });\r
424         buriedColour.setText("Buried Index");\r
425         buriedColour.addActionListener(new java.awt.event.ActionListener() {\r
426                 public void actionPerformed(ActionEvent e) {\r
427                     buriedColour_actionPerformed(e);\r
428                 }\r
429             });\r
430         userDefinedColour.setText("User Defined...");\r
431         userDefinedColour.addActionListener(new java.awt.event.ActionListener() {\r
432                 public void actionPerformed(ActionEvent e) {\r
433                     userDefinedColour_actionPerformed(e);\r
434                 }\r
435             });\r
436         PIDColour.setText("Percentage Identity");\r
437         PIDColour.addActionListener(new java.awt.event.ActionListener() {\r
438                 public void actionPerformed(ActionEvent e) {\r
439                     PIDColour_actionPerformed(e);\r
440                 }\r
441             });\r
442         BLOSUM62Colour.setText("BLOSUM62 Score");\r
443         BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener() {\r
444                 public void actionPerformed(ActionEvent e) {\r
445                     BLOSUM62Colour_actionPerformed(e);\r
446                 }\r
447             });\r
448         avDistanceTreeBlosumMenuItem.setText(\r
449             "Average Distance Using BLOSUM62...");\r
450         avDistanceTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
451                 public void actionPerformed(ActionEvent e) {\r
452                     avTreeBlosumMenuItem_actionPerformed(e);\r
453                 }\r
454             });\r
455         njTreeBlosumMenuItem.setText("Neighbour Joining using BLOSUM62...");\r
456         njTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
457                 public void actionPerformed(ActionEvent e) {\r
458                     njTreeBlosumMenuItem_actionPerformed(e);\r
459                 }\r
460             });\r
461         annotationPanelMenuItem.setActionCommand("");\r
462         annotationPanelMenuItem.setText("Show Annotations");\r
463         annotationPanelMenuItem.setState(jalview.gui.Preferences.showAnnotation);\r
464         annotationPanelMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
465                 public void actionPerformed(ActionEvent e) {\r
466                     annotationPanelMenuItem_actionPerformed(e);\r
467                 }\r
468             });\r
469         colourTextMenuItem.setText("Colour Text");\r
470         colourTextMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
471                 public void actionPerformed(ActionEvent e) {\r
472                     colourTextMenuItem_actionPerformed(e);\r
473                 }\r
474             });\r
475         htmlMenuItem.setText("HTML");\r
476         htmlMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
477                 public void actionPerformed(ActionEvent e) {\r
478                     htmlMenuItem_actionPerformed(e);\r
479                 }\r
480             });\r
481         overviewMenuItem.setText("Overview Window...");\r
482         overviewMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
483                 public void actionPerformed(ActionEvent e) {\r
484                     overviewMenuItem_actionPerformed(e);\r
485                 }\r
486             });\r
487         undoMenuItem.setEnabled(false);\r
488         undoMenuItem.setMnemonic('Z');\r
489         undoMenuItem.setText("Undo");\r
490         undoMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
491                 java.awt.event.KeyEvent.VK_Z,\r
492                 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
493         undoMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
494                 public void actionPerformed(ActionEvent e) {\r
495                     undoMenuItem_actionPerformed(e);\r
496                 }\r
497             });\r
498         redoMenuItem.setEnabled(false);\r
499         redoMenuItem.setMnemonic('0');\r
500         redoMenuItem.setText("Redo");\r
501         redoMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
502                 public void actionPerformed(ActionEvent e) {\r
503                     redoMenuItem_actionPerformed(e);\r
504                 }\r
505             });\r
506         conservationMenuItem.setText("By Conservation");\r
507         conservationMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
508                 public void actionPerformed(ActionEvent e) {\r
509                     conservationMenuItem_actionPerformed(e);\r
510                 }\r
511             });\r
512         noColourmenuItem.setText("None");\r
513         noColourmenuItem.addActionListener(new java.awt.event.ActionListener() {\r
514                 public void actionPerformed(ActionEvent e) {\r
515                     noColourmenuItem_actionPerformed(e);\r
516                 }\r
517             });\r
518         wrapMenuItem.setText("Wrap");\r
519         wrapMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
520                 public void actionPerformed(ActionEvent e) {\r
521                     wrapMenuItem_actionPerformed(e);\r
522                 }\r
523             });\r
524         printMenuItem.setText("Print");\r
525         printMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
526                 public void actionPerformed(ActionEvent e) {\r
527                     printMenuItem_actionPerformed(e);\r
528                 }\r
529             });\r
530         renderGapsMenuItem.setText("Show Gaps");\r
531         renderGapsMenuItem.setState(true);\r
532         renderGapsMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
533                 public void actionPerformed(ActionEvent e) {\r
534                     renderGapsMenuItem_actionPerformed(e);\r
535                 }\r
536             });\r
537         findMenuItem.setText("Find...");\r
538         findMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
539                 java.awt.event.KeyEvent.VK_F,\r
540                 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
541         findMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
542                 public void actionPerformed(ActionEvent e) {\r
543                     findMenuItem_actionPerformed(e);\r
544                 }\r
545             });\r
546         searchMenu.setText("Search");\r
547 \r
548         abovePIDThreshold.setText("Above Identity Threshold");\r
549         abovePIDThreshold.addActionListener(new java.awt.event.ActionListener() {\r
550                 public void actionPerformed(ActionEvent e) {\r
551                     abovePIDThreshold_actionPerformed(e);\r
552                 }\r
553             });\r
554         sequenceFeatures.setText("Sequence Features");\r
555         sequenceFeatures.addActionListener(new ActionListener() {\r
556                 public void actionPerformed(ActionEvent actionEvent) {\r
557                     sequenceFeatures_actionPerformed(actionEvent);\r
558                 }\r
559             });\r
560         nucleotideColour.setText("Nucleotide");\r
561         nucleotideColour.addActionListener(new java.awt.event.ActionListener() {\r
562                 public void actionPerformed(ActionEvent e) {\r
563                     nucleotideColour_actionPerformed(e);\r
564                 }\r
565             });\r
566         deleteGroups.setText("Undefine groups");\r
567         deleteGroups.addActionListener(new java.awt.event.ActionListener() {\r
568                 public void actionPerformed(ActionEvent e) {\r
569                     deleteGroups_actionPerformed(e);\r
570                 }\r
571             });\r
572         copy.setText("Copy");\r
573         copy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
574                 java.awt.event.KeyEvent.VK_C,\r
575                 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
576         copy.setMnemonic(KeyEvent.VK_C);\r
577 \r
578         copy.addActionListener(new java.awt.event.ActionListener() {\r
579                 public void actionPerformed(ActionEvent e) {\r
580                     copy_actionPerformed(e);\r
581                 }\r
582             });\r
583         cut.setText("Cut");\r
584         cut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
585                 java.awt.event.KeyEvent.VK_X,\r
586                 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
587         cut.setMnemonic(KeyEvent.VK_X);\r
588         cut.addActionListener(new java.awt.event.ActionListener() {\r
589                 public void actionPerformed(ActionEvent e) {\r
590                     cut_actionPerformed(e);\r
591                 }\r
592             });\r
593         delete.setText("Delete");\r
594         delete.addActionListener(new java.awt.event.ActionListener() {\r
595                 public void actionPerformed(ActionEvent e) {\r
596                     delete_actionPerformed(e);\r
597                 }\r
598             });\r
599         jMenu1.setMnemonic('V');\r
600         jMenu1.setText("Paste");\r
601         pasteNew.setText("To New Alignment");\r
602         pasteNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
603                 java.awt.event.KeyEvent.VK_V,\r
604                 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
605         pasteNew.addActionListener(new java.awt.event.ActionListener() {\r
606                 public void actionPerformed(ActionEvent e) {\r
607                     pasteNew_actionPerformed(e);\r
608                 }\r
609             });\r
610         pasteThis.setText("Add To This Alignment");\r
611         pasteThis.addActionListener(new java.awt.event.ActionListener() {\r
612                 public void actionPerformed(ActionEvent e) {\r
613                     pasteThis_actionPerformed(e);\r
614                 }\r
615             });\r
616         applyToAllGroups.setText("Apply Colour To All Groups");\r
617         applyToAllGroups.setState(true);\r
618         applyToAllGroups.addActionListener(new java.awt.event.ActionListener() {\r
619                 public void actionPerformed(ActionEvent e) {\r
620                     applyToAllGroups_actionPerformed(e);\r
621                 }\r
622             });\r
623         createPNG.addActionListener(new java.awt.event.ActionListener() {\r
624                 public void actionPerformed(ActionEvent e) {\r
625                     createPNG_actionPerformed(e);\r
626                 }\r
627             });\r
628         createPNG.setActionCommand("Save As PNG Image");\r
629         createPNG.setText("PNG");\r
630         font.setText("Font...");\r
631         font.addActionListener(new java.awt.event.ActionListener() {\r
632                 public void actionPerformed(ActionEvent e) {\r
633                     font_actionPerformed(e);\r
634                 }\r
635             });\r
636         fullSeqId.setText("Show Full Sequence ID");\r
637         fullSeqId.setState(true);\r
638         fullSeqId.addActionListener(new java.awt.event.ActionListener() {\r
639                 public void actionPerformed(ActionEvent e) {\r
640                     fullSeqId_actionPerformed(e);\r
641                 }\r
642             });\r
643         epsFile.setText("EPS");\r
644         epsFile.addActionListener(new java.awt.event.ActionListener() {\r
645                 public void actionPerformed(ActionEvent e) {\r
646                     epsFile_actionPerformed(e);\r
647                 }\r
648             });\r
649         LoadtreeMenuItem.setActionCommand("Load a tree for this sequence set");\r
650         LoadtreeMenuItem.setText("Load Assocated Tree");\r
651         LoadtreeMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
652                 public void actionPerformed(ActionEvent e) {\r
653                     LoadtreeMenuItem_actionPerformed(e);\r
654                 }\r
655             });\r
656         jpred.setText("JPred...");\r
657         jpred.addActionListener(new java.awt.event.ActionListener() {\r
658                 public void actionPerformed(ActionEvent e) {\r
659                     jpred_actionPerformed(e);\r
660                 }\r
661             });\r
662         scaleAbove.setVisible(false);\r
663         scaleAbove.setText("Scale Above");\r
664         scaleAbove.addActionListener(new java.awt.event.ActionListener() {\r
665                 public void actionPerformed(ActionEvent e) {\r
666                     scaleAbove_actionPerformed(e);\r
667                 }\r
668             });\r
669         scaleLeft.setVisible(false);\r
670         scaleLeft.setSelected(true);\r
671         scaleLeft.setText("Scale Left");\r
672         scaleLeft.addActionListener(new java.awt.event.ActionListener() {\r
673                 public void actionPerformed(ActionEvent e) {\r
674                     scaleLeft_actionPerformed(e);\r
675                 }\r
676             });\r
677         scaleRight.setVisible(false);\r
678         scaleRight.setSelected(true);\r
679         scaleRight.setText("Scale Right");\r
680         scaleRight.addActionListener(new java.awt.event.ActionListener() {\r
681                 public void actionPerformed(ActionEvent e) {\r
682                     scaleRight_actionPerformed(e);\r
683                 }\r
684             });\r
685         modifyPID.setText("Modify Identity Threshold...");\r
686         modifyPID.addActionListener(new java.awt.event.ActionListener() {\r
687                 public void actionPerformed(ActionEvent e) {\r
688                     modifyPID_actionPerformed(e);\r
689                 }\r
690             });\r
691         modifyConservation.setText("Modify Conservation Threshold...");\r
692         modifyConservation.addActionListener(new java.awt.event.ActionListener() {\r
693                 public void actionPerformed(ActionEvent e) {\r
694                     modifyConservation_actionPerformed(e);\r
695                 }\r
696             });\r
697         sortByTreeMenu.setText("By Tree Order");\r
698         sort.setText("Sort");\r
699         calculate.setText("Calculate Tree");\r
700         msaAlignMenuItem.setText("Muscle Alignment...");\r
701         msaAlignMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
702                 public void actionPerformed(ActionEvent e) {\r
703                     msaAlignMenuItem_actionPerformed(e);\r
704                 }\r
705             });\r
706         jMenu2.setText("Export");\r
707         padGapsMenuitem.setText("Pad Gaps");\r
708         padGapsMenuitem.addActionListener(new ActionListener() {\r
709                 public void actionPerformed(ActionEvent e) {\r
710                     padGapsMenuitem_actionPerformed(e);\r
711                 }\r
712             });\r
713         ClustalRealign.setText("Clustal Realign...");\r
714         ClustalRealign.addActionListener(new ActionListener() {\r
715                 public void actionPerformed(ActionEvent e) {\r
716                     ClustalRealign_actionPerformed(e);\r
717                 }\r
718             });\r
719         alignFrameMenuBar.add(fileMenu);\r
720         alignFrameMenuBar.add(editMenu);\r
721         alignFrameMenuBar.add(searchMenu);\r
722         alignFrameMenuBar.add(viewMenu);\r
723         alignFrameMenuBar.add(colourMenu);\r
724         alignFrameMenuBar.add(calculateMenu);\r
725         fileMenu.add(saveAlignmentMenu);\r
726         fileMenu.add(jMenu2);\r
727         fileMenu.add(outputTextboxMenu);\r
728         fileMenu.add(printMenuItem);\r
729         fileMenu.addSeparator();\r
730         fileMenu.add(LoadtreeMenuItem);\r
731         fileMenu.addSeparator();\r
732         fileMenu.add(closeMenuItem);\r
733         editMenu.add(undoMenuItem);\r
734         editMenu.add(redoMenuItem);\r
735         editMenu.add(cut);\r
736         editMenu.add(copy);\r
737         editMenu.add(jMenu1);\r
738         editMenu.add(delete);\r
739         editMenu.addSeparator();\r
740         editMenu.add(selectAllSequenceMenuItem);\r
741         editMenu.add(deselectAllSequenceMenuItem);\r
742         editMenu.add(invertSequenceMenuItem);\r
743         editMenu.add(deleteGroups);\r
744         editMenu.addSeparator();\r
745         editMenu.add(remove2LeftMenuItem);\r
746         editMenu.add(remove2RightMenuItem);\r
747         editMenu.add(removeGappedColumnMenuItem);\r
748         editMenu.add(removeAllGapsMenuItem);\r
749         editMenu.add(removeRedundancyMenuItem);\r
750         editMenu.addSeparator();\r
751         editMenu.add(padGapsMenuitem);\r
752         searchMenu.add(findMenuItem);\r
753         viewMenu.add(font);\r
754         viewMenu.addSeparator();\r
755         viewMenu.add(wrapMenuItem);\r
756         viewMenu.add(fullSeqId);\r
757         viewMenu.add(scaleAbove);\r
758         viewMenu.add(scaleLeft);\r
759         viewMenu.add(scaleRight);\r
760         viewMenu.add(viewBoxesMenuItem);\r
761         viewMenu.add(viewTextMenuItem);\r
762         viewMenu.add(colourTextMenuItem);\r
763         viewMenu.add(renderGapsMenuItem);\r
764         viewMenu.add(annotationPanelMenuItem);\r
765         viewMenu.add(sequenceFeatures);\r
766         viewMenu.addSeparator();\r
767         viewMenu.add(overviewMenuItem);\r
768         colourMenu.add(applyToAllGroups);\r
769         colourMenu.addSeparator();\r
770         colourMenu.add(noColourmenuItem);\r
771         colourMenu.add(clustalColour);\r
772         colourMenu.add(BLOSUM62Colour);\r
773         colourMenu.add(PIDColour);\r
774         colourMenu.add(zappoColour);\r
775         colourMenu.add(taylorColour);\r
776         colourMenu.add(hydrophobicityColour);\r
777         colourMenu.add(helixColour);\r
778         colourMenu.add(strandColour);\r
779         colourMenu.add(turnColour);\r
780         colourMenu.add(buriedColour);\r
781         colourMenu.add(nucleotideColour);\r
782         colourMenu.add(userDefinedColour);\r
783         colourMenu.addSeparator();\r
784         colourMenu.add(conservationMenuItem);\r
785         colourMenu.add(modifyConservation);\r
786         colourMenu.add(abovePIDThreshold);\r
787         colourMenu.add(modifyPID);\r
788         calculateMenu.add(sort);\r
789         calculateMenu.add(calculate);\r
790         calculateMenu.addSeparator();\r
791         calculateMenu.add(pairwiseAlignmentMenuItem);\r
792         calculateMenu.add(PCAMenuItem);\r
793         calculateMenu.addSeparator();\r
794         calculateMenu.add(webService);\r
795         webService.add(clustalAlignMenuItem);\r
796         webService.add(msaAlignMenuItem);\r
797         webService.add(jpred);\r
798         webService.add(ClustalRealign);\r
799         this.getContentPane().add(statusBar, BorderLayout.SOUTH);\r
800         jMenu1.add(pasteNew);\r
801         jMenu1.add(pasteThis);\r
802         sort.add(sortIDMenuItem);\r
803         sort.add(sortGroupMenuItem);\r
804         sort.add(sortPairwiseMenuItem);\r
805         calculate.add(averageDistanceTreeMenuItem);\r
806         calculate.add(neighbourTreeMenuItem);\r
807         calculate.add(avDistanceTreeBlosumMenuItem);\r
808         calculate.add(njTreeBlosumMenuItem);\r
809         jMenu2.add(htmlMenuItem);\r
810         jMenu2.add(epsFile);\r
811         jMenu2.add(createPNG);\r
812     }\r
813 \r
814     protected void outputText_actionPerformed(ActionEvent e) {\r
815     }\r
816 \r
817     protected void htmlMenuItem_actionPerformed(ActionEvent e) {\r
818     }\r
819 \r
820     protected void closeMenuItem_actionPerformed(ActionEvent e) {\r
821     }\r
822 \r
823     protected void redoMenuItem_actionPerformed(ActionEvent e) {\r
824     }\r
825 \r
826     protected void undoMenuItem_actionPerformed(ActionEvent e) {\r
827     }\r
828 \r
829     protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e) {\r
830     }\r
831 \r
832     protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e) {\r
833     }\r
834 \r
835     protected void invertSequenceMenuItem_actionPerformed(ActionEvent e) {\r
836     }\r
837 \r
838     protected void remove2LeftMenuItem_actionPerformed(ActionEvent e) {\r
839     }\r
840 \r
841     protected void remove2RightMenuItem_actionPerformed(ActionEvent e) {\r
842     }\r
843 \r
844     protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e) {\r
845     }\r
846 \r
847     protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e) {\r
848     }\r
849 \r
850     protected void wrapMenuItem_actionPerformed(ActionEvent e) {\r
851     }\r
852 \r
853     protected void viewBoxesMenuItem_actionPerformed(ActionEvent e) {\r
854     }\r
855 \r
856     protected void viewTextMenuItem_actionPerformed(ActionEvent e) {\r
857     }\r
858 \r
859     protected void colourTextMenuItem_actionPerformed(ActionEvent e) {\r
860     }\r
861 \r
862     protected void annotationPanelMenuItem_actionPerformed(ActionEvent e) {\r
863     }\r
864 \r
865     protected void overviewMenuItem_actionPerformed(ActionEvent e) {\r
866     }\r
867 \r
868     protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e) {\r
869     }\r
870 \r
871     protected void sortIDMenuItem_actionPerformed(ActionEvent e) {\r
872     }\r
873 \r
874     protected void sortGroupMenuItem_actionPerformed(ActionEvent e) {\r
875     }\r
876 \r
877     protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e) {\r
878     }\r
879 \r
880     protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e) {\r
881     }\r
882 \r
883     protected void PCAMenuItem_actionPerformed(ActionEvent e) {\r
884     }\r
885 \r
886     protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e) {\r
887     }\r
888 \r
889     protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e) {\r
890     }\r
891 \r
892     protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e) {\r
893     }\r
894 \r
895     protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e) {\r
896     }\r
897 \r
898     protected void clustalAlignMenuItem_actionPerformed(ActionEvent e) {\r
899     }\r
900 \r
901     protected void clustalColour_actionPerformed(ActionEvent e) {\r
902     }\r
903 \r
904     protected void zappoColour_actionPerformed(ActionEvent e) {\r
905     }\r
906 \r
907     protected void taylorColour_actionPerformed(ActionEvent e) {\r
908     }\r
909 \r
910     protected void hydrophobicityColour_actionPerformed(ActionEvent e) {\r
911     }\r
912 \r
913     protected void helixColour_actionPerformed(ActionEvent e) {\r
914     }\r
915 \r
916     protected void strandColour_actionPerformed(ActionEvent e) {\r
917     }\r
918 \r
919     protected void turnColour_actionPerformed(ActionEvent e) {\r
920     }\r
921 \r
922     protected void buriedColour_actionPerformed(ActionEvent e) {\r
923     }\r
924 \r
925     protected void userDefinedColour_actionPerformed(ActionEvent e) {\r
926     }\r
927 \r
928     protected void PIDColour_actionPerformed(ActionEvent e) {\r
929     }\r
930 \r
931     protected void BLOSUM62Colour_actionPerformed(ActionEvent e) {\r
932     }\r
933 \r
934     protected void noColourmenuItem_actionPerformed(ActionEvent e) {\r
935     }\r
936 \r
937     protected void conservationMenuItem_actionPerformed(ActionEvent e) {\r
938     }\r
939 \r
940     protected void printMenuItem_actionPerformed(ActionEvent e) {\r
941     }\r
942 \r
943     protected void renderGapsMenuItem_actionPerformed(ActionEvent e) {\r
944     }\r
945 \r
946     protected void findMenuItem_actionPerformed(ActionEvent e) {\r
947     }\r
948 \r
949     protected void abovePIDThreshold_actionPerformed(ActionEvent e) {\r
950     }\r
951 \r
952     public void sequenceFeatures_actionPerformed(ActionEvent actionEvent) {\r
953     }\r
954 \r
955     protected void nucleotideColour_actionPerformed(ActionEvent e) {\r
956     }\r
957 \r
958     protected void deleteGroups_actionPerformed(ActionEvent e) {\r
959     }\r
960 \r
961     protected void copy_actionPerformed(ActionEvent e) {\r
962     }\r
963 \r
964     protected void cut_actionPerformed(ActionEvent e) {\r
965     }\r
966 \r
967     protected void delete_actionPerformed(ActionEvent e) {\r
968     }\r
969 \r
970     protected void pasteNew_actionPerformed(ActionEvent e) {\r
971     }\r
972 \r
973     protected void pasteThis_actionPerformed(ActionEvent e) {\r
974     }\r
975 \r
976     protected void applyToAllGroups_actionPerformed(ActionEvent e) {\r
977     }\r
978 \r
979     protected void createPNG_actionPerformed(ActionEvent e) {\r
980     }\r
981 \r
982     protected void font_actionPerformed(ActionEvent e) {\r
983     }\r
984 \r
985     protected void fullSeqId_actionPerformed(ActionEvent e) {\r
986     }\r
987 \r
988     protected void epsFile_actionPerformed(ActionEvent e) {\r
989     }\r
990 \r
991     protected void LoadtreeMenuItem_actionPerformed(ActionEvent e) {\r
992     }\r
993 \r
994     protected void jpred_actionPerformed(ActionEvent e) {\r
995     }\r
996 \r
997     protected void scaleAbove_actionPerformed(ActionEvent e) {\r
998     }\r
999 \r
1000     protected void scaleLeft_actionPerformed(ActionEvent e) {\r
1001     }\r
1002 \r
1003     protected void scaleRight_actionPerformed(ActionEvent e) {\r
1004     }\r
1005 \r
1006     protected void modifyPID_actionPerformed(ActionEvent e) {\r
1007     }\r
1008 \r
1009     protected void modifyConservation_actionPerformed(ActionEvent e) {\r
1010     }\r
1011 \r
1012     protected void preferences_actionPerformed(ActionEvent e) {\r
1013     }\r
1014 \r
1015     protected void msaAlignMenuItem_actionPerformed(ActionEvent e) {\r
1016     }\r
1017 \r
1018     protected void alignFrameMenuBar_ancestorAdded(AncestorEvent event) {\r
1019     }\r
1020 \r
1021     protected void saveAlignmentMenu_actionPerformed(ActionEvent e) {\r
1022     }\r
1023 \r
1024     protected void padGapsMenuitem_actionPerformed(ActionEvent e) {\r
1025     }\r
1026 \r
1027     protected void ClustalRealign_actionPerformed(ActionEvent e) {\r
1028     }\r
1029 }\r