SequenceFeature display added
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
1 /********************\r
2  * 2004 Jalview Reengineered\r
3  * Barton Group\r
4  * Dundee University\r
5  *\r
6  * AM Waterhouse\r
7  *******************/\r
8 \r
9 package jalview.jbgui;\r
10 \r
11 import javax.swing.*;\r
12 import java.awt.event.*;\r
13 import java.awt.*;\r
14 \r
15 public class GAlignFrame extends JInternalFrame\r
16 {\r
17   protected JMenuBar alignFrameMenuBar = new JMenuBar();\r
18   protected JMenu fileMenu = new JMenu();\r
19   protected JMenuItem closeMenuItem = new JMenuItem();\r
20   protected JMenu editMenu = new JMenu();\r
21   protected JMenu fontMenu = new JMenu();\r
22   protected JMenu viewMenu = new JMenu();\r
23   protected JMenu colourMenu = new JMenu();\r
24   protected JMenu calculateMenu = new JMenu();\r
25   protected JMenu alignMenu = new JMenu();\r
26   protected JMenuItem groupsMenuItem = new JMenuItem();\r
27   protected JMenuItem selectAllSequenceMenuItem = new JMenuItem();\r
28   protected JMenuItem deselectAllSequenceMenuItem = new JMenuItem();\r
29   protected JMenuItem invertSequenceMenuItem = new JMenuItem();\r
30   protected JMenuItem deselectAllColumnsMenuItem = new JMenuItem();\r
31   protected JMenuItem remove2LeftMenuItem = new JMenuItem();\r
32   protected JMenuItem remove2RightMenuItem = new JMenuItem();\r
33   protected JMenuItem removeGappedColumnMenuItem = new JMenuItem();\r
34   protected JMenuItem removeAllGapsMenuItem = new JMenuItem();\r
35   protected JMenuItem setGapCharMenuItem = new JMenuItem();\r
36   protected JMenuItem fontNameMenuItem = new JMenuItem();\r
37   protected JMenuItem fontSizeMenuItem = new JMenuItem();\r
38   protected JMenuItem fontStyleMenuItem = new JMenuItem();\r
39   protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();\r
40   protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();\r
41   protected JMenuItem sortPairwiseMenuItem = new JMenuItem();\r
42   protected JMenuItem sortIDMenuItem = new JMenuItem();\r
43   protected JMenuItem sortGroupMenuItem = new JMenuItem();\r
44   protected JMenuItem sortTreeOrderMenuItem = new JMenuItem();\r
45   protected JMenuItem removeRedundancyMenuItem = new JMenuItem();\r
46   protected JMenuItem pairwiseAlignmentMenuItem = new JMenuItem();\r
47   protected JMenuItem PCAMenuItem = new JMenuItem();\r
48   protected JMenuItem averageDistanceTreeMenuItem = new JMenuItem();\r
49   protected JMenuItem neighbourTreeMenuItem = new JMenuItem();\r
50   protected JMenuItem clustalAlignMenuItem = new JMenuItem();\r
51   BorderLayout borderLayout1 = new BorderLayout();\r
52   public JLabel statusBar = new JLabel();\r
53   protected JMenu saveAlignmentMenu = new JMenu();\r
54   protected JMenu outputTextboxMenu = new JMenu();\r
55   protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();\r
56   protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();\r
57   protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();\r
58   protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();\r
59   protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();\r
60   protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();\r
61   protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();\r
62   protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();\r
63   protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();\r
64   protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();\r
65   protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();\r
66   JMenuItem njTreeBlosumMenuItem = new JMenuItem();\r
67   JMenuItem avDistanceTreeBlosumMenuItem = new JMenuItem();\r
68   protected JCheckBoxMenuItem consensusGraphMenuItem = new JCheckBoxMenuItem();\r
69   protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();\r
70   JMenuItem htmlMenuItem = new JMenuItem();\r
71   JMenuItem overviewMenuItem = new JMenuItem();\r
72   protected JMenuItem undoMenuItem = new JMenuItem();\r
73   protected JMenuItem redoMenuItem = new JMenuItem();\r
74   protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();\r
75   JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();\r
76   protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();\r
77   JMenuItem pdbTest = new JMenuItem();\r
78   JMenuItem printMenuItem = new JMenuItem();\r
79   protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();\r
80   JMenuItem findMenuItem = new JMenuItem();\r
81   JMenu searchMenu = new JMenu();\r
82   protected JCheckBoxMenuItem abovePIDThreshold = new JCheckBoxMenuItem();\r
83   protected JCheckBoxMenuItem sequenceFeatures = new JCheckBoxMenuItem();\r
84   protected JRadioButtonMenuItem nucleotideColour = new JRadioButtonMenuItem();\r
85   JMenuItem deleteGroups = new JMenuItem();\r
86   public GAlignFrame()\r
87   {\r
88 \r
89 \r
90     try\r
91     {\r
92       jbInit();\r
93       setJMenuBar(alignFrameMenuBar);\r
94 \r
95       JMenuItem item;\r
96       // dynamically fill save as menu with available formats\r
97       for (int i = 0; i < jalview.io.FormatProperties.getFormats().size(); i++) {\r
98         item = new JMenuItem((String) jalview.io.FormatProperties.getFormats().elementAt(i));\r
99         saveAlignmentMenu.add( item );\r
100         item.addActionListener(new java.awt.event.ActionListener()\r
101         {\r
102           public void actionPerformed(ActionEvent e)\r
103           {\r
104             saveAs_actionPerformed(e);\r
105           }\r
106         });\r
107 \r
108         item = new JMenuItem((String) jalview.io.FormatProperties.getFormats().elementAt(i));\r
109         item.addActionListener(new java.awt.event.ActionListener()\r
110         {\r
111           public void actionPerformed(ActionEvent e)\r
112           {\r
113             outputText_actionPerformed(e);\r
114           }\r
115         });\r
116 \r
117         outputTextboxMenu.add( item );\r
118       }\r
119 \r
120     }\r
121     catch(Exception e)\r
122     {\r
123       e.printStackTrace();\r
124     }\r
125 \r
126     ButtonGroup colours = new ButtonGroup();\r
127     colours.add(noColourmenuItem);\r
128     colours.add(clustalColour);\r
129     colours.add(zappoColour);\r
130     colours.add(taylorColour);\r
131     colours.add(hydrophobicityColour);\r
132     colours.add(helixColour);\r
133     colours.add(strandColour);\r
134     colours.add(turnColour);\r
135     colours.add(buriedColour);\r
136     colours.add(userDefinedColour);\r
137     colours.add(PIDColour);\r
138     colours.add(BLOSUM62Colour);\r
139     colours.add(nucleotideColour);\r
140   }\r
141   private void jbInit() throws Exception\r
142   {\r
143     fileMenu.setMnemonic('F');\r
144     fileMenu.setText("File");\r
145     saveAlignmentMenu.setMnemonic('L');\r
146     saveAlignmentMenu.setText("Save alignment to local file");\r
147     closeMenuItem.setMnemonic('C');\r
148     closeMenuItem.setText("Close");\r
149     closeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
150     {\r
151       public void actionPerformed(ActionEvent e)\r
152       {\r
153         closeMenuItem_actionPerformed(e);\r
154       }\r
155     });\r
156     editMenu.setText("Edit");\r
157     fontMenu.setText("Font");\r
158     viewMenu.setText("View");\r
159     colourMenu.setText("Colour");\r
160     calculateMenu.setText("Calculate");\r
161     alignMenu.setText("Web Service");\r
162     groupsMenuItem.setText("Groups");\r
163     groupsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
164     {\r
165       public void actionPerformed(ActionEvent e)\r
166       {\r
167         groupsMenuItem_actionPerformed(e);\r
168       }\r
169     });\r
170     selectAllSequenceMenuItem.setText("Select all");\r
171     selectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener()\r
172     {\r
173       public void actionPerformed(ActionEvent e)\r
174       {\r
175         selectAllSequenceMenuItem_actionPerformed(e);\r
176       }\r
177     });\r
178     deselectAllSequenceMenuItem.setText("Clear selection");\r
179     deselectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener()\r
180     {\r
181       public void actionPerformed(ActionEvent e)\r
182       {\r
183         deselectAllSequenceMenuItem_actionPerformed(e);\r
184       }\r
185     });\r
186     invertSequenceMenuItem.setText("Invert sequence selection");\r
187     invertSequenceMenuItem.addActionListener(new java.awt.event.ActionListener()\r
188     {\r
189       public void actionPerformed(ActionEvent e)\r
190       {\r
191         invertSequenceMenuItem_actionPerformed(e);\r
192       }\r
193     });\r
194     deselectAllColumnsMenuItem.setText("Deselect all columns");\r
195     deselectAllColumnsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
196     {\r
197       public void actionPerformed(ActionEvent e)\r
198       {\r
199         deselectAllColumnsMenuItem_actionPerformed(e);\r
200       }\r
201     });\r
202     remove2LeftMenuItem.setText("Remove sequence <- left of selected column");\r
203     remove2LeftMenuItem.addActionListener(new java.awt.event.ActionListener()\r
204     {\r
205       public void actionPerformed(ActionEvent e)\r
206       {\r
207         remove2LeftMenuItem_actionPerformed(e);\r
208       }\r
209     });\r
210     remove2RightMenuItem.setText("Remove sequence -> right of selected column");\r
211     remove2RightMenuItem.addActionListener(new java.awt.event.ActionListener()\r
212     {\r
213       public void actionPerformed(ActionEvent e)\r
214       {\r
215         remove2RightMenuItem_actionPerformed(e);\r
216       }\r
217     });\r
218     removeGappedColumnMenuItem.setText("Remove gapped columns");\r
219     removeGappedColumnMenuItem.addActionListener(new java.awt.event.ActionListener()\r
220     {\r
221       public void actionPerformed(ActionEvent e)\r
222       {\r
223         removeGappedColumnMenuItem_actionPerformed(e);\r
224       }\r
225     });\r
226     removeAllGapsMenuItem.setText("Remove all gaps");\r
227     removeAllGapsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
228     {\r
229       public void actionPerformed(ActionEvent e)\r
230       {\r
231         removeAllGapsMenuItem_actionPerformed(e);\r
232       }\r
233     });\r
234     setGapCharMenuItem.setText("Set gap character to \".\"");\r
235     setGapCharMenuItem.addActionListener(new java.awt.event.ActionListener()\r
236     {\r
237       public void actionPerformed(ActionEvent e)\r
238       {\r
239         setGapCharMenuItem_actionPerformed(e);\r
240       }\r
241     });\r
242     fontNameMenuItem.addActionListener(new java.awt.event.ActionListener()\r
243     {\r
244       public void actionPerformed(ActionEvent e)\r
245       {\r
246         fontNameMenuItem_actionPerformed(e);\r
247       }\r
248     });\r
249     fontSizeMenuItem.setText("10");\r
250     fontSizeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
251     {\r
252       public void actionPerformed(ActionEvent e)\r
253       {\r
254         fontSizeMenuItem_actionPerformed(e);\r
255       }\r
256     });\r
257     fontStyleMenuItem.setText("Plain");\r
258     fontStyleMenuItem.addActionListener(new java.awt.event.ActionListener()\r
259     {\r
260       public void actionPerformed(ActionEvent e)\r
261       {\r
262         fontStyleMenuItem_actionPerformed(e);\r
263       }\r
264     });\r
265     viewBoxesMenuItem.setText("Boxes");\r
266     viewBoxesMenuItem.setState(true);\r
267     viewBoxesMenuItem.addActionListener(new java.awt.event.ActionListener()\r
268     {\r
269       public void actionPerformed(ActionEvent e)\r
270       {\r
271         viewBoxesMenuItem_actionPerformed(e);\r
272       }\r
273     });\r
274     viewTextMenuItem.setText("Text");\r
275     viewTextMenuItem.setState(true);\r
276     viewTextMenuItem.addActionListener(new java.awt.event.ActionListener()\r
277     {\r
278       public void actionPerformed(ActionEvent e)\r
279       {\r
280         viewTextMenuItem_actionPerformed(e);\r
281       }\r
282     });\r
283     sortPairwiseMenuItem.setText("Sort by pairwise identity");\r
284     sortPairwiseMenuItem.addActionListener(new java.awt.event.ActionListener()\r
285     {\r
286       public void actionPerformed(ActionEvent e)\r
287       {\r
288         sortPairwiseMenuItem_actionPerformed(e);\r
289       }\r
290     });\r
291     sortIDMenuItem.setText("Sort by ID");\r
292     sortIDMenuItem.addActionListener(new java.awt.event.ActionListener()\r
293     {\r
294       public void actionPerformed(ActionEvent e)\r
295       {\r
296         sortIDMenuItem_actionPerformed(e);\r
297       }\r
298     });\r
299     sortGroupMenuItem.setText("Sort by group");\r
300     sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener()\r
301     {\r
302       public void actionPerformed(ActionEvent e)\r
303       {\r
304         sortGroupMenuItem_actionPerformed(e);\r
305       }\r
306     });\r
307     sortTreeOrderMenuItem.setText("Sort by tree order");\r
308     sortTreeOrderMenuItem.addActionListener(new java.awt.event.ActionListener()\r
309     {\r
310       public void actionPerformed(ActionEvent e)\r
311       {\r
312         sortTreeOrderMenuItem_actionPerformed(e);\r
313       }\r
314     });\r
315     removeRedundancyMenuItem.setText("Remove redundancy");\r
316     removeRedundancyMenuItem.addActionListener(new java.awt.event.ActionListener()\r
317     {\r
318       public void actionPerformed(ActionEvent e)\r
319       {\r
320         removeRedundancyMenuItem_actionPerformed(e);\r
321       }\r
322     });\r
323     pairwiseAlignmentMenuItem.setText("Pairwise alignments");\r
324     pairwiseAlignmentMenuItem.addActionListener(new java.awt.event.ActionListener()\r
325     {\r
326       public void actionPerformed(ActionEvent e)\r
327       {\r
328         pairwiseAlignmentMenuItem_actionPerformed(e);\r
329       }\r
330     });\r
331     PCAMenuItem.setText("Principal component analysis");\r
332     PCAMenuItem.addActionListener(new java.awt.event.ActionListener()\r
333     {\r
334       public void actionPerformed(ActionEvent e)\r
335       {\r
336         PCAMenuItem_actionPerformed(e);\r
337       }\r
338     });\r
339     averageDistanceTreeMenuItem.setText("Average distance tree using PID");\r
340     averageDistanceTreeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
341     {\r
342       public void actionPerformed(ActionEvent e)\r
343       {\r
344         averageDistanceTreeMenuItem_actionPerformed(e);\r
345       }\r
346     });\r
347     neighbourTreeMenuItem.setText("Neighbour joining tree using PID");\r
348     neighbourTreeMenuItem.addActionListener(new java.awt.event.ActionListener()\r
349     {\r
350       public void actionPerformed(ActionEvent e)\r
351       {\r
352         neighbourTreeMenuItem_actionPerformed(e);\r
353       }\r
354     });\r
355     clustalAlignMenuItem.setText("Clustal alignment");\r
356     clustalAlignMenuItem.addActionListener(new java.awt.event.ActionListener()\r
357     {\r
358       public void actionPerformed(ActionEvent e)\r
359       {\r
360         clustalAlignMenuItem_actionPerformed(e);\r
361       }\r
362     });\r
363     this.getContentPane().setLayout(borderLayout1);\r
364     alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
365     statusBar.setBackground(Color.white);\r
366     statusBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
367     statusBar.setBorder(BorderFactory.createLineBorder(Color.black));\r
368     statusBar.setText("Status bar");\r
369     outputTextboxMenu.setMnemonic('T');\r
370     outputTextboxMenu.setText("Output alignment via textbox");\r
371     clustalColour.setSelected(false);\r
372     clustalColour.setText("Clustalx colours");\r
373     clustalColour.addActionListener(new java.awt.event.ActionListener()\r
374     {\r
375       public void actionPerformed(ActionEvent e)\r
376       {\r
377         clustalColour_actionPerformed(e);\r
378       }\r
379     });\r
380     zappoColour.setText("Zappo colour scheme");\r
381     zappoColour.addActionListener(new java.awt.event.ActionListener()\r
382     {\r
383       public void actionPerformed(ActionEvent e)\r
384       {\r
385         zappoColour_actionPerformed(e);\r
386       }\r
387     });\r
388     taylorColour.setText("Taylor colour scheme");\r
389     taylorColour.addActionListener(new java.awt.event.ActionListener()\r
390     {\r
391       public void actionPerformed(ActionEvent e)\r
392       {\r
393         taylorColour_actionPerformed(e);\r
394       }\r
395     });\r
396     hydrophobicityColour.setText("By hydrophobicity");\r
397     hydrophobicityColour.addActionListener(new java.awt.event.ActionListener()\r
398     {\r
399       public void actionPerformed(ActionEvent e)\r
400       {\r
401         hydrophobicityColour_actionPerformed(e);\r
402       }\r
403     });\r
404     helixColour.setText("Helix propensity");\r
405     helixColour.addActionListener(new java.awt.event.ActionListener()\r
406     {\r
407       public void actionPerformed(ActionEvent e)\r
408       {\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     {\r
415       public void actionPerformed(ActionEvent e)\r
416       {\r
417         strandColour_actionPerformed(e);\r
418       }\r
419     });\r
420     turnColour.setText("Turn propensity");\r
421     turnColour.addActionListener(new java.awt.event.ActionListener()\r
422     {\r
423       public void actionPerformed(ActionEvent e)\r
424       {\r
425         turnColour_actionPerformed(e);\r
426       }\r
427     });\r
428     buriedColour.setText("Buried index");\r
429     buriedColour.addActionListener(new java.awt.event.ActionListener()\r
430     {\r
431       public void actionPerformed(ActionEvent e)\r
432       {\r
433         buriedColour_actionPerformed(e);\r
434       }\r
435     });\r
436     userDefinedColour.setText("User defined colours");\r
437     userDefinedColour.addActionListener(new java.awt.event.ActionListener()\r
438     {\r
439       public void actionPerformed(ActionEvent e)\r
440       {\r
441         userDefinedColour_actionPerformed(e);\r
442       }\r
443     });\r
444     PIDColour.setText("Percentage Identity");\r
445     PIDColour.addActionListener(new java.awt.event.ActionListener()\r
446     {\r
447       public void actionPerformed(ActionEvent e)\r
448       {\r
449         PIDColour_actionPerformed(e);\r
450       }\r
451     });\r
452     BLOSUM62Colour.setText("BLOSUM62 score");\r
453     BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()\r
454     {\r
455       public void actionPerformed(ActionEvent e)\r
456       {\r
457         BLOSUM62Colour_actionPerformed(e);\r
458       }\r
459     });\r
460     avDistanceTreeBlosumMenuItem.setText("Average distance tree using BLOSUM62");\r
461     avDistanceTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener()\r
462     {\r
463       public void actionPerformed(ActionEvent e)\r
464       {\r
465         avTreeBlosumMenuItem_actionPerformed(e);\r
466       }\r
467     });\r
468     njTreeBlosumMenuItem.setText("Neighbour joining tree using BLOSUM62");\r
469     njTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener()\r
470     {\r
471       public void actionPerformed(ActionEvent e)\r
472       {\r
473         njTreeBlosumMenuItem_actionPerformed(e);\r
474       }\r
475     });\r
476     consensusGraphMenuItem.setActionCommand("");\r
477     consensusGraphMenuItem.setText("Consensus graph");\r
478     consensusGraphMenuItem.setState(true);\r
479     consensusGraphMenuItem.addActionListener(new java.awt.event.ActionListener()\r
480     {\r
481       public void actionPerformed(ActionEvent e)\r
482       {\r
483         consensusGraphMenuItem_actionPerformed(e);\r
484       }\r
485     });\r
486     colourTextMenuItem.setText("Colour text");\r
487     colourTextMenuItem.addActionListener(new java.awt.event.ActionListener()\r
488     {\r
489       public void actionPerformed(ActionEvent e)\r
490       {\r
491         colourTextMenuItem_actionPerformed(e);\r
492       }\r
493     });\r
494     htmlMenuItem.setText("Output as HTML");\r
495     htmlMenuItem.addActionListener(new java.awt.event.ActionListener()\r
496     {\r
497       public void actionPerformed(ActionEvent e)\r
498       {\r
499         htmlMenuItem_actionPerformed(e);\r
500       }\r
501     });\r
502     overviewMenuItem.setText("Overview window");\r
503     overviewMenuItem.addActionListener(new java.awt.event.ActionListener()\r
504     {\r
505       public void actionPerformed(ActionEvent e)\r
506       {\r
507         overviewMenuItem_actionPerformed(e);\r
508       }\r
509     });\r
510     undoMenuItem.setEnabled(false);\r
511     undoMenuItem.setMnemonic('Z');\r
512     undoMenuItem.setText("Undo");\r
513     undoMenuItem.addActionListener(new java.awt.event.ActionListener()\r
514     {\r
515       public void actionPerformed(ActionEvent e)\r
516       {\r
517         undoMenuItem_actionPerformed(e);\r
518       }\r
519     });\r
520     redoMenuItem.setEnabled(false);\r
521     redoMenuItem.setMnemonic('0');\r
522     redoMenuItem.setText("Redo");\r
523     redoMenuItem.addActionListener(new java.awt.event.ActionListener()\r
524     {\r
525       public void actionPerformed(ActionEvent e)\r
526       {\r
527         redoMenuItem_actionPerformed(e);\r
528       }\r
529     });\r
530     conservationMenuItem.setText("By conservation");\r
531     conservationMenuItem.addActionListener(new java.awt.event.ActionListener()\r
532     {\r
533       public void actionPerformed(ActionEvent e)\r
534       {\r
535         conservationMenuItem_actionPerformed(e);\r
536       }\r
537     });\r
538     noColourmenuItem.setText("None");\r
539     noColourmenuItem.setSelected(true);\r
540     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()\r
541     {\r
542       public void actionPerformed(ActionEvent e)\r
543       {\r
544         noColourmenuItem_actionPerformed(e);\r
545       }\r
546     });\r
547     wrapMenuItem.setText("Wrap alignment");\r
548     wrapMenuItem.addActionListener(new java.awt.event.ActionListener()\r
549     {\r
550       public void actionPerformed(ActionEvent e)\r
551       {\r
552         wrapMenuItem_actionPerformed(e);\r
553       }\r
554     });\r
555     pdbTest.setText("PDB Test Viewer");\r
556     pdbTest.addActionListener(new java.awt.event.ActionListener()\r
557     {\r
558       public void actionPerformed(ActionEvent e)\r
559       {\r
560         pdbTest_actionPerformed(e);\r
561       }\r
562     });\r
563     printMenuItem.setText("Print");\r
564     printMenuItem.addActionListener(new java.awt.event.ActionListener()\r
565     {\r
566       public void actionPerformed(ActionEvent e)\r
567       {\r
568         printMenuItem_actionPerformed(e);\r
569       }\r
570     });\r
571     renderGapsMenuItem.setText("Render gaps");\r
572     renderGapsMenuItem.setState(true);\r
573     renderGapsMenuItem.addActionListener(new java.awt.event.ActionListener()\r
574     {\r
575       public void actionPerformed(ActionEvent e)\r
576       {\r
577         renderGapsMenuItem_actionPerformed(e);\r
578       }\r
579     });\r
580     findMenuItem.setText("Find");\r
581     findMenuItem.addActionListener(new java.awt.event.ActionListener()\r
582     {\r
583       public void actionPerformed(ActionEvent e)\r
584       {\r
585         findMenuItem_actionPerformed(e);\r
586       }\r
587     });\r
588     searchMenu.setText("Search");\r
589 \r
590     abovePIDThreshold.setText("Above PID threshold");\r
591     abovePIDThreshold.addActionListener(new java.awt.event.ActionListener() {\r
592       public void actionPerformed(ActionEvent e) {\r
593         abovePIDThreshold_actionPerformed(e);\r
594       }\r
595     });\r
596     sequenceFeatures.setSelected(true);\r
597     sequenceFeatures.setText("Sequence Features");\r
598     sequenceFeatures.addActionListener(new ActionListener()\r
599     {\r
600       public void actionPerformed(ActionEvent actionEvent)\r
601       {\r
602         sequenceFeatures_actionPerformed(actionEvent);\r
603       }\r
604     });\r
605     nucleotideColour.setText("Nucleotide colours");\r
606     nucleotideColour.addActionListener(new java.awt.event.ActionListener()\r
607     {\r
608       public void actionPerformed(ActionEvent e)\r
609       {\r
610         nucleotideColour_actionPerformed(e);\r
611       }\r
612     });\r
613     deleteGroups.setSelected(false);\r
614     deleteGroups.setText("Delete all groups");\r
615     deleteGroups.addActionListener(new java.awt.event.ActionListener()\r
616     {\r
617       public void actionPerformed(ActionEvent e)\r
618       {\r
619         deleteGroups_actionPerformed(e);\r
620       }\r
621     });\r
622     alignFrameMenuBar.add(fileMenu);\r
623     alignFrameMenuBar.add(editMenu);\r
624     alignFrameMenuBar.add(searchMenu);\r
625     alignFrameMenuBar.add(fontMenu);\r
626     alignFrameMenuBar.add(viewMenu);\r
627     alignFrameMenuBar.add(colourMenu);\r
628     alignFrameMenuBar.add(calculateMenu);\r
629     alignFrameMenuBar.add(alignMenu);\r
630     fileMenu.add(saveAlignmentMenu);\r
631     fileMenu.add(outputTextboxMenu);\r
632     fileMenu.add(htmlMenuItem);\r
633     fileMenu.add(printMenuItem);\r
634     fileMenu.addSeparator();\r
635     fileMenu.add(closeMenuItem);\r
636     editMenu.add(undoMenuItem);\r
637     editMenu.add(redoMenuItem);\r
638     editMenu.addSeparator();\r
639     editMenu.add(deselectAllSequenceMenuItem);\r
640     editMenu.add(selectAllSequenceMenuItem);\r
641     editMenu.add(invertSequenceMenuItem);\r
642     editMenu.add(deleteGroups);\r
643     editMenu.add(groupsMenuItem);\r
644     editMenu.addSeparator();\r
645     editMenu.add(deselectAllColumnsMenuItem);\r
646     editMenu.add(remove2LeftMenuItem);\r
647     editMenu.add(remove2RightMenuItem);\r
648     editMenu.addSeparator();\r
649     editMenu.add(removeGappedColumnMenuItem);\r
650     editMenu.add(removeAllGapsMenuItem);\r
651     editMenu.add(setGapCharMenuItem);\r
652     searchMenu.add(findMenuItem);\r
653     fontMenu.add(fontNameMenuItem);\r
654     fontMenu.add(fontSizeMenuItem);\r
655     fontMenu.add(fontStyleMenuItem);\r
656     viewMenu.add(wrapMenuItem);\r
657     viewMenu.add(viewBoxesMenuItem);\r
658     viewMenu.add(viewTextMenuItem);\r
659     viewMenu.add(colourTextMenuItem);\r
660     viewMenu.add(renderGapsMenuItem);\r
661     viewMenu.add(consensusGraphMenuItem);\r
662     viewMenu.add(overviewMenuItem);\r
663     viewMenu.add(sequenceFeatures);\r
664     colourMenu.add(noColourmenuItem);\r
665     colourMenu.add(clustalColour);\r
666     colourMenu.add(zappoColour);\r
667     colourMenu.add(taylorColour);\r
668     colourMenu.add(hydrophobicityColour);\r
669     colourMenu.add(helixColour);\r
670     colourMenu.add(strandColour);\r
671     colourMenu.add(turnColour);\r
672     colourMenu.add(buriedColour);\r
673     colourMenu.add(nucleotideColour);\r
674     colourMenu.add(userDefinedColour);\r
675     colourMenu.add(PIDColour);\r
676     colourMenu.add(BLOSUM62Colour);\r
677     colourMenu.addSeparator();\r
678     colourMenu.add(abovePIDThreshold);\r
679     colourMenu.add(conservationMenuItem);\r
680     calculateMenu.add(sortPairwiseMenuItem);\r
681     calculateMenu.add(sortIDMenuItem);\r
682     calculateMenu.add(sortGroupMenuItem);\r
683     calculateMenu.add(sortTreeOrderMenuItem);\r
684     calculateMenu.add(removeRedundancyMenuItem);\r
685     calculateMenu.addSeparator();\r
686     calculateMenu.add(pairwiseAlignmentMenuItem);\r
687     calculateMenu.add(PCAMenuItem);\r
688     calculateMenu.addSeparator();\r
689     calculateMenu.add(averageDistanceTreeMenuItem);\r
690     calculateMenu.add(neighbourTreeMenuItem);\r
691     calculateMenu.add(avDistanceTreeBlosumMenuItem);\r
692     calculateMenu.add(njTreeBlosumMenuItem);\r
693     alignMenu.add(clustalAlignMenuItem);\r
694     alignMenu.add(pdbTest);\r
695     this.getContentPane().add(statusBar, BorderLayout.SOUTH);\r
696   }\r
697 \r
698   protected void saveAs_actionPerformed(ActionEvent e)\r
699   {\r
700 \r
701   }\r
702 \r
703   protected void outputText_actionPerformed(ActionEvent e)\r
704   {\r
705 \r
706   }\r
707 \r
708   protected void htmlMenuItem_actionPerformed(ActionEvent e)\r
709   {\r
710 \r
711   }\r
712 \r
713 \r
714 \r
715 \r
716 \r
717   protected void closeMenuItem_actionPerformed(ActionEvent e)\r
718   {\r
719 \r
720   }\r
721 \r
722   protected void redoMenuItem_actionPerformed(ActionEvent e)\r
723   {\r
724 \r
725   }\r
726 \r
727   protected void undoMenuItem_actionPerformed(ActionEvent e)\r
728   {\r
729 \r
730   }\r
731 \r
732 \r
733   protected void groupsMenuItem_actionPerformed(ActionEvent e)\r
734   {\r
735 \r
736   }\r
737 \r
738 \r
739   protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
740   {\r
741 \r
742   }\r
743 \r
744   protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
745   {\r
746 \r
747   }\r
748 \r
749   protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
750   {\r
751 \r
752   }\r
753 \r
754 \r
755   protected void deselectAllColumnsMenuItem_actionPerformed(ActionEvent e)\r
756   {\r
757 \r
758   }\r
759 \r
760   protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
761   {\r
762 \r
763   }\r
764 \r
765   protected void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
766   {\r
767 \r
768   }\r
769 \r
770   protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
771   {\r
772 \r
773   }\r
774 \r
775   protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
776   {\r
777 \r
778   }\r
779 \r
780   protected void setGapCharMenuItem_actionPerformed(ActionEvent e)\r
781   {\r
782 \r
783   }\r
784 \r
785 \r
786   protected void fontNameMenuItem_actionPerformed(ActionEvent e)\r
787   {\r
788 \r
789   }\r
790 \r
791   protected void fontSizeMenuItem_actionPerformed(ActionEvent e)\r
792   {\r
793 \r
794   }\r
795 \r
796   protected void fontStyleMenuItem_actionPerformed(ActionEvent e)\r
797   {\r
798 \r
799   }\r
800 \r
801   protected void wrapMenuItem_actionPerformed(ActionEvent e)\r
802   {\r
803 \r
804   }\r
805 \r
806 \r
807   protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
808   {\r
809 \r
810   }\r
811 \r
812   protected void viewTextMenuItem_actionPerformed(ActionEvent e)\r
813   {\r
814 \r
815   }\r
816 \r
817 \r
818   protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
819   {\r
820 \r
821   }\r
822 \r
823 \r
824 \r
825   protected void consensusGraphMenuItem_actionPerformed(ActionEvent e)\r
826   {\r
827 \r
828   }\r
829 \r
830   protected void overviewMenuItem_actionPerformed(ActionEvent e)\r
831   {\r
832 \r
833   }\r
834 \r
835   protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)\r
836   {\r
837 \r
838   }\r
839 \r
840   protected void sortIDMenuItem_actionPerformed(ActionEvent e)\r
841   {\r
842 \r
843   }\r
844 \r
845   protected void sortGroupMenuItem_actionPerformed(ActionEvent e)\r
846   {\r
847 \r
848   }\r
849 \r
850   protected void sortTreeOrderMenuItem_actionPerformed(ActionEvent e)\r
851   {\r
852 \r
853   }\r
854 \r
855   protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)\r
856   {\r
857 \r
858   }\r
859 \r
860   protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)\r
861   {\r
862 \r
863   }\r
864 \r
865   protected void PCAMenuItem_actionPerformed(ActionEvent e)\r
866   {\r
867 \r
868   }\r
869 \r
870   protected void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)\r
871   {\r
872 \r
873   }\r
874 \r
875   protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)\r
876   {\r
877 \r
878   }\r
879 \r
880 \r
881   protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
882   {\r
883 \r
884   }\r
885 \r
886   protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
887   {\r
888 \r
889   }\r
890 \r
891 \r
892 \r
893   protected void clustalAlignMenuItem_actionPerformed(ActionEvent e)\r
894   {\r
895 \r
896   }\r
897 \r
898 \r
899 \r
900 \r
901   protected void clustalColour_actionPerformed(ActionEvent e)\r
902   {\r
903 \r
904   }\r
905 \r
906   protected void zappoColour_actionPerformed(ActionEvent e)\r
907   {\r
908 \r
909   }\r
910 \r
911   protected void taylorColour_actionPerformed(ActionEvent e)\r
912   {\r
913 \r
914   }\r
915 \r
916 \r
917   protected void hydrophobicityColour_actionPerformed(ActionEvent e)\r
918   {\r
919 \r
920   }\r
921 \r
922   protected void helixColour_actionPerformed(ActionEvent e)\r
923   {\r
924 \r
925   }\r
926 \r
927   protected void strandColour_actionPerformed(ActionEvent e)\r
928   {\r
929 \r
930   }\r
931 \r
932   protected void turnColour_actionPerformed(ActionEvent e)\r
933   {\r
934 \r
935   }\r
936 \r
937   protected void buriedColour_actionPerformed(ActionEvent e)\r
938   {\r
939 \r
940   }\r
941 \r
942 \r
943 \r
944   protected void userDefinedColour_actionPerformed(ActionEvent e)\r
945   {\r
946 \r
947   }\r
948 \r
949   protected void PIDColour_actionPerformed(ActionEvent e)\r
950   {\r
951 \r
952   }\r
953 \r
954   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
955   {\r
956 \r
957   }\r
958 \r
959 \r
960   protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
961   {\r
962 \r
963   }\r
964 \r
965   protected  void conservationMenuItem_actionPerformed(ActionEvent e)\r
966   {\r
967 \r
968   }\r
969 \r
970   protected void pdbTest_actionPerformed(ActionEvent e)\r
971   {\r
972 \r
973   }\r
974 \r
975   protected void printMenuItem_actionPerformed(ActionEvent e)\r
976   {\r
977 \r
978   }\r
979 \r
980   protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
981   {\r
982 \r
983   }\r
984 \r
985   protected void findMenuItem_actionPerformed(ActionEvent e)\r
986   {\r
987 \r
988   }\r
989 \r
990 \r
991   protected void abovePIDThreshold_actionPerformed(ActionEvent e) {\r
992 \r
993   }\r
994 \r
995   public void sequenceFeatures_actionPerformed(ActionEvent actionEvent)\r
996   {\r
997 \r
998   }\r
999 \r
1000   protected void nucleotideColour_actionPerformed(ActionEvent e)\r
1001   {\r
1002 \r
1003   }\r
1004 \r
1005   protected void deleteGroups_actionPerformed(ActionEvent e)\r
1006   {\r
1007 \r
1008   }\r
1009 \r
1010 \r
1011 }\r