Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / jalview / appletgui / AlignFrame.js
index 9e0b710..0d207b9 100644 (file)
-Clazz.declarePackage ("jalview.appletgui");\r
-Clazz.load (["awt2swing.Canvas", "jalview.api.AlignViewControllerGuiI", "jalview.appletgui.EmbmenuFrame", "java.awt.event.ActionListener", "$.ItemListener", "$.KeyListener", "awt2swing.CheckboxMenuItem", "$.Label", "$.Menu", "$.MenuBar", "$.MenuItem", "jalview.util.MessageManager", "java.awt.BorderLayout"], "jalview.appletgui.AlignFrame", ["awt2swing.Frame", "jalview.analysis.AlignmentSorter", "$.AnnotationSorter", "jalview.appletgui.AlignViewport", "$.AlignmentPanel", "$.AnnotationColourChooser", "$.AnnotationColumnChooser", "$.AppletJmol", "$.CutAndPasteTransfer", "$.FeatureSettings", "$.Finder", "$.FontChooser", "$.OverviewPanel", "$.PCAPanel", "$.PaintRefresher", "$.PairwiseAlignPanel", "$.RedundancyPanel", "$.SliderPanel", "$.TreePanel", "$.UserDefinedColours", "jalview.bin.JalviewLite", "jalview.commands.EditCommand", "$.OrderCommand", "$.RemoveGapColCommand", "$.RemoveGapsCommand", "$.SlideSequencesCommand", "$.TrimRegionCommand", "jalview.controller.AlignViewController", "jalview.datamodel.Alignment", "$.PDBEntry", "$.Sequence", "$.SequenceGroup", "jalview.io.AlignmentProperties", "$.AnnotationFile", "$.AppletFormatAdapter", "$.FeaturesFile", "jalview.jsdev.GenericFileAdapter", "jalview.schemes.Blosum62ColourScheme", "$.BuriedColourScheme", "$.ClustalxColourScheme", "$.HelixColourScheme", "$.HydrophobicColourScheme", "$.NucleotideColourScheme", "$.PIDColourScheme", "$.PurinePyrimidineColourScheme", "$.RNAHelicesColourChooser", "$.RNAInteractionColourScheme", "$.StrandColourScheme", "$.TCoffeeColourScheme", "$.TaylorColourScheme", "$.TurnColourScheme", "$.ZappoColourScheme", "jalview.structure.StructureSelectionManager", "jalview.util.Comparison", "$.MappingUtils", "java.awt.Color", "$.Font", "java.awt.event.FocusListener", "$.WindowAdapter", "java.lang.Character", "$.StringBuffer", "java.net.URL", "$.URLEncoder", "java.util.Arrays", "$.HashMap", "$.Hashtable", "$.StringTokenizer", "$.Vector"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.avc = null;\r
-this.alignPanel = null;\r
-this.viewport = null;\r
-this.frameWidth = 700;\r
-this.frameHeight = 500;\r
-this.jalviewServletURL = null;\r
-this.showAutoCalculatedAbove = false;\r
-this.annotationSortOrder = null;\r
-this.alignFrameMenuBar = null;\r
-this.fileMenu = null;\r
-this.loadApplication = null;\r
-this.$loadTree = null;\r
-this.$loadAnnotations = null;\r
-this.$outputFeatures = null;\r
-this.$outputAnnotations = null;\r
-this.closeMenuItem = null;\r
-this.selectAllSequenceMenuItem = null;\r
-this.deselectAllSequenceMenuItem = null;\r
-this.invertSequenceMenuItem = null;\r
-this.remove2LeftMenuItem = null;\r
-this.remove2RightMenuItem = null;\r
-this.removeGappedColumnMenuItem = null;\r
-this.removeAllGapsMenuItem = null;\r
-this.viewBoxesMenuItem = null;\r
-this.viewTextMenuItem = null;\r
-this.sortPairwiseMenuItem = null;\r
-this.sortIDMenuItem = null;\r
-this.sortLengthMenuItem = null;\r
-this.sortGroupMenuItem = null;\r
-this.removeRedundancyMenuItem = null;\r
-this.pairwiseAlignmentMenuItem = null;\r
-this.PCAMenuItem = null;\r
-this.averageDistanceTreeMenuItem = null;\r
-this.neighbourTreeMenuItem = null;\r
-this.borderLayout1 = null;\r
-this.statusBar = null;\r
-this.clustalColour = null;\r
-this.zappoColour = null;\r
-this.taylorColour = null;\r
-this.hydrophobicityColour = null;\r
-this.helixColour = null;\r
-this.strandColour = null;\r
-this.turnColour = null;\r
-this.buriedColour = null;\r
-this.purinePyrimidineColour = null;\r
-this.RNAInteractionColour = null;\r
-this.RNAHelixColour = null;\r
-this.userDefinedColour = null;\r
-this.PIDColour = null;\r
-this.BLOSUM62Colour = null;\r
-this.tcoffeeColour = null;\r
-this.njTreeBlosumMenuItem = null;\r
-this.avDistanceTreeBlosumMenuItem = null;\r
-this.annotationPanelMenuItem = null;\r
-this.colourTextMenuItem = null;\r
-this.displayNonconservedMenuItem = null;\r
-this.alProperties = null;\r
-this.overviewMenuItem = null;\r
-this.undoMenuItem = null;\r
-this.redoMenuItem = null;\r
-this.conservationMenuItem = null;\r
-this.noColourmenuItem = null;\r
-this.wrapMenuItem = null;\r
-this.renderGapsMenuItem = null;\r
-this.findMenuItem = null;\r
-this.abovePIDThreshold = null;\r
-this.nucleotideColour = null;\r
-this.deleteGroups = null;\r
-this.grpsFromSelection = null;\r
-this.createGroup = null;\r
-this.unGroup = null;\r
-this.$delete = null;\r
-this.copy = null;\r
-this.cut = null;\r
-this.pasteMenu = null;\r
-this.pasteNew = null;\r
-this.pasteThis = null;\r
-this.applyToAllGroups = null;\r
-this.$font = null;\r
-this.scaleAbove = null;\r
-this.scaleLeft = null;\r
-this.scaleRight = null;\r
-this.modifyPID = null;\r
-this.modifyConservation = null;\r
-this.autoCalculate = null;\r
-this.$sortByTree = null;\r
-this.sortByTreeMenu = null;\r
-this.inputText = null;\r
-this.documentation = null;\r
-this.about = null;\r
-this.seqLimits = null;\r
-this.centreColumnLabelFlag = null;\r
-this.followMouseOverFlag = null;\r
-this.showSequenceLogo = null;\r
-this.applyAutoAnnotationSettings = null;\r
-this.showConsensusHistogram = null;\r
-this.showGroupConsensus = null;\r
-this.showGroupConservation = null;\r
-this.normSequenceLogo = null;\r
-this.featureSettings = null;\r
-this.sequenceFeatures = null;\r
-this.annotationColour = null;\r
-this.annotationColumnSelection = null;\r
-this.invertColSel = null;\r
-this.showColumns = null;\r
-this.showSeqs = null;\r
-this.hideColumns = null;\r
-this.hideSequences = null;\r
-this.hideAllButSelection = null;\r
-this.hideAllSelection = null;\r
-this.showAllHidden = null;\r
-this.$newView = null;\r
-this.showAlignmentAnnotations = null;\r
-this.showSequenceAnnotations = null;\r
-this.sortAnnBySequence = null;\r
-this.sortAnnByLabel = null;\r
-this.showAutoFirst = null;\r
-this.showAutoLast = null;\r
-this.splitFrame = null;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.appletgui, "AlignFrame", jalview.appletgui.EmbmenuFrame, [java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, jalview.api.AlignViewControllerGuiI]);\r
-Clazz.prepareFields (c$, function () {\r
-this.alignFrameMenuBar =  new awt2swing.MenuBar ();\r
-this.fileMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.file"));\r
-this.loadApplication =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.view_full_application"));\r
-this.$loadTree =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.load_associated_tree"));\r
-this.$loadAnnotations =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.load_features_annotations"));\r
-this.$outputFeatures =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.export_features").concat ("..."));\r
-this.$outputAnnotations =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.export_annotations").concat ("..."));\r
-this.closeMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.close"));\r
-this.selectAllSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.select_all"));\r
-this.deselectAllSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.deselect_all"));\r
-this.invertSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.invert_selection"));\r
-this.remove2LeftMenuItem =  new awt2swing.MenuItem ();\r
-this.remove2RightMenuItem =  new awt2swing.MenuItem ();\r
-this.removeGappedColumnMenuItem =  new awt2swing.MenuItem ();\r
-this.removeAllGapsMenuItem =  new awt2swing.MenuItem ();\r
-this.viewBoxesMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.viewTextMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.sortPairwiseMenuItem =  new awt2swing.MenuItem ();\r
-this.sortIDMenuItem =  new awt2swing.MenuItem ();\r
-this.sortLengthMenuItem =  new awt2swing.MenuItem ();\r
-this.sortGroupMenuItem =  new awt2swing.MenuItem ();\r
-this.removeRedundancyMenuItem =  new awt2swing.MenuItem ();\r
-this.pairwiseAlignmentMenuItem =  new awt2swing.MenuItem ();\r
-this.PCAMenuItem =  new awt2swing.MenuItem ();\r
-this.averageDistanceTreeMenuItem =  new awt2swing.MenuItem ();\r
-this.neighbourTreeMenuItem =  new awt2swing.MenuItem ();\r
-this.borderLayout1 =  new java.awt.BorderLayout ();\r
-this.statusBar =  new awt2swing.Label ();\r
-this.clustalColour =  new awt2swing.MenuItem ();\r
-this.zappoColour =  new awt2swing.MenuItem ();\r
-this.taylorColour =  new awt2swing.MenuItem ();\r
-this.hydrophobicityColour =  new awt2swing.MenuItem ();\r
-this.helixColour =  new awt2swing.MenuItem ();\r
-this.strandColour =  new awt2swing.MenuItem ();\r
-this.turnColour =  new awt2swing.MenuItem ();\r
-this.buriedColour =  new awt2swing.MenuItem ();\r
-this.purinePyrimidineColour =  new awt2swing.MenuItem ();\r
-this.RNAInteractionColour =  new awt2swing.MenuItem ();\r
-this.RNAHelixColour =  new awt2swing.MenuItem ();\r
-this.userDefinedColour =  new awt2swing.MenuItem ();\r
-this.PIDColour =  new awt2swing.MenuItem ();\r
-this.BLOSUM62Colour =  new awt2swing.MenuItem ();\r
-this.tcoffeeColour =  new awt2swing.MenuItem ();\r
-this.njTreeBlosumMenuItem =  new awt2swing.MenuItem ();\r
-this.avDistanceTreeBlosumMenuItem =  new awt2swing.MenuItem ();\r
-this.annotationPanelMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.colourTextMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.displayNonconservedMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.alProperties =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.alignment_props"));\r
-this.overviewMenuItem =  new awt2swing.MenuItem ();\r
-this.undoMenuItem =  new awt2swing.MenuItem ();\r
-this.redoMenuItem =  new awt2swing.MenuItem ();\r
-this.conservationMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.noColourmenuItem =  new awt2swing.MenuItem ();\r
-this.wrapMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.renderGapsMenuItem =  new awt2swing.CheckboxMenuItem ();\r
-this.findMenuItem =  new awt2swing.MenuItem ();\r
-this.abovePIDThreshold =  new awt2swing.CheckboxMenuItem ();\r
-this.nucleotideColour =  new awt2swing.MenuItem ();\r
-this.deleteGroups =  new awt2swing.MenuItem ();\r
-this.grpsFromSelection =  new awt2swing.MenuItem ();\r
-this.createGroup =  new awt2swing.MenuItem ();\r
-this.unGroup =  new awt2swing.MenuItem ();\r
-this.$delete =  new awt2swing.MenuItem ();\r
-this.copy =  new awt2swing.MenuItem ();\r
-this.cut =  new awt2swing.MenuItem ();\r
-this.pasteMenu =  new awt2swing.Menu ();\r
-this.pasteNew =  new awt2swing.MenuItem ();\r
-this.pasteThis =  new awt2swing.MenuItem ();\r
-this.applyToAllGroups =  new awt2swing.CheckboxMenuItem ();\r
-this.$font =  new awt2swing.MenuItem ();\r
-this.scaleAbove =  new awt2swing.CheckboxMenuItem ();\r
-this.scaleLeft =  new awt2swing.CheckboxMenuItem ();\r
-this.scaleRight =  new awt2swing.CheckboxMenuItem ();\r
-this.modifyPID =  new awt2swing.MenuItem ();\r
-this.modifyConservation =  new awt2swing.MenuItem ();\r
-this.$sortByTree =  new awt2swing.CheckboxMenuItem ("Sort Alignment With New Tree", true);\r
-this.sortByTreeMenu =  new awt2swing.Menu ();\r
-this.inputText =  new awt2swing.MenuItem ();\r
-this.documentation =  new awt2swing.MenuItem ();\r
-this.about =  new awt2swing.MenuItem ();\r
-this.seqLimits =  new awt2swing.CheckboxMenuItem ();\r
-this.centreColumnLabelFlag =  new awt2swing.CheckboxMenuItem ();\r
-this.followMouseOverFlag =  new awt2swing.CheckboxMenuItem ();\r
-this.showSequenceLogo =  new awt2swing.CheckboxMenuItem ();\r
-this.applyAutoAnnotationSettings =  new awt2swing.CheckboxMenuItem ();\r
-this.showConsensusHistogram =  new awt2swing.CheckboxMenuItem ();\r
-this.showGroupConsensus =  new awt2swing.CheckboxMenuItem ();\r
-this.showGroupConservation =  new awt2swing.CheckboxMenuItem ();\r
-this.normSequenceLogo =  new awt2swing.CheckboxMenuItem ();\r
-this.featureSettings =  new awt2swing.MenuItem ();\r
-this.sequenceFeatures =  new awt2swing.CheckboxMenuItem ();\r
-this.annotationColour =  new awt2swing.MenuItem ();\r
-this.annotationColumnSelection =  new awt2swing.MenuItem ();\r
-this.invertColSel =  new awt2swing.MenuItem ();\r
-this.showColumns =  new awt2swing.MenuItem ();\r
-this.showSeqs =  new awt2swing.MenuItem ();\r
-this.hideColumns =  new awt2swing.MenuItem ();\r
-this.hideSequences =  new awt2swing.MenuItem ();\r
-this.hideAllButSelection =  new awt2swing.MenuItem ();\r
-this.hideAllSelection =  new awt2swing.MenuItem ();\r
-this.showAllHidden =  new awt2swing.MenuItem ();\r
-this.$newView =  new awt2swing.MenuItem ();\r
-});\r
-Clazz.makeConstructor (c$, \r
-function (al, applet, title, embedded) {\r
-this.construct (al, applet, title, embedded, true);\r
-}, "jalview.datamodel.AlignmentI,jalview.bin.JalviewLite,~S,~B");\r
-Clazz.makeConstructor (c$, \r
-function (al, applet, title, embedded, addToDisplay) {\r
-this.construct (al, null, null, applet, title, embedded, addToDisplay);\r
-}, "jalview.datamodel.AlignmentI,jalview.bin.JalviewLite,~S,~B,~B");\r
-Clazz.makeConstructor (c$, \r
-function (al, hiddenSeqs, columnSelection, applet, title, embedded) {\r
-this.construct (al, hiddenSeqs, columnSelection, applet, title, embedded, true);\r
-}, "jalview.datamodel.AlignmentI,~A,jalview.datamodel.ColumnSelection,jalview.bin.JalviewLite,~S,~B");\r
-Clazz.makeConstructor (c$, \r
-function (al, hiddenSeqs, columnSelection, applet, title, embedded, addToDisplay) {\r
-Clazz.superConstructor (this, jalview.appletgui.AlignFrame, []);\r
-if (applet != null) {\r
-this.jalviewServletURL = applet.jalviewServletURL;\r
-}try {\r
-this.jbInit ();\r
-} catch (ex) {\r
-if (Clazz.exceptionOf (ex, Exception)) {\r
-ex.printStackTrace ();\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-if (applet != null) {\r
-var param;\r
-try {\r
-param = applet.windowWidth;\r
-if (param != null) {\r
-var width = Integer.parseInt (param);\r
-this.frameWidth = width;\r
-}param = applet.windowHeight;\r
-if (param != null) {\r
-var height = Integer.parseInt (param);\r
-this.frameHeight = height;\r
-}} catch (ex) {\r
-if (Clazz.exceptionOf (ex, Exception)) {\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-}this.viewport =  new jalview.appletgui.AlignViewport (al, applet);\r
-if (hiddenSeqs != null && hiddenSeqs.length > 0) {\r
-this.viewport.hideSequence (hiddenSeqs);\r
-}if (columnSelection != null) {\r
-this.viewport.setColumnSelection (columnSelection);\r
-}this.alignPanel =  new jalview.appletgui.AlignmentPanel (this, this.viewport);\r
-this.avc =  new jalview.controller.AlignViewController (this, this.viewport, this.alignPanel);\r
-this.viewport.updateConservation (this.alignPanel);\r
-this.viewport.updateConsensus (this.alignPanel);\r
-this.displayNonconservedMenuItem.setState (this.viewport.getShowUnconserved ());\r
-this.followMouseOverFlag.setState (this.viewport.isFollowHighlight ());\r
-this.showGroupConsensus.setState (this.viewport.isShowGroupConsensus ());\r
-this.showGroupConservation.setState (this.viewport.isShowGroupConservation ());\r
-this.showConsensusHistogram.setState (this.viewport.isShowConsensusHistogram ());\r
-this.showSequenceLogo.setState (this.viewport.isShowSequenceLogo ());\r
-this.normSequenceLogo.setState (this.viewport.isNormaliseSequenceLogo ());\r
-this.applyToAllGroups.setState (this.viewport.getColourAppliesToAllGroups ());\r
-this.annotationPanelMenuItem.setState (this.viewport.isShowAnnotation ());\r
-this.showAlignmentAnnotations.setState (this.viewport.isShowAnnotation ());\r
-this.showSequenceAnnotations.setState (this.viewport.isShowAnnotation ());\r
-this.seqLimits.setState (this.viewport.getShowJVSuffix ());\r
-if (applet != null) {\r
-var param = applet.sortBy;\r
-if (param != null) {\r
-if (param.equalsIgnoreCase ("Id")) {\r
-this.sortIDMenuItem_actionPerformed ();\r
-} else if (param.equalsIgnoreCase ("Pairwise Identity")) {\r
-this.sortPairwiseMenuItem_actionPerformed ();\r
-} else if (param.equalsIgnoreCase ("Length")) {\r
-this.sortLengthMenuItem_actionPerformed ();\r
-}}param = applet.wrap;\r
-if (param != null) {\r
-if (param.equalsIgnoreCase ("true")) {\r
-this.wrapMenuItem.setState (true);\r
-this.wrapMenuItem_actionPerformed ();\r
-}}param = applet.centrecolumnlabels;\r
-if (param != null) {\r
-this.centreColumnLabelFlag.setState (true);\r
-this.centreColumnLabelFlag_stateChanged ();\r
-}}if (this.viewport.getAlignment ().isNucleotide ()) {\r
-this.viewport.updateStrucConsensus (this.alignPanel);\r
-if (this.viewport.getAlignment ().hasRNAStructure ()) {\r
-this.RNAHelixColour.setEnabled (true);\r
-} else {\r
-this.RNAHelixColour.setEnabled (false);\r
-}} else {\r
-this.RNAHelixColour.setEnabled (false);\r
-this.purinePyrimidineColour.setEnabled (false);\r
-}this.addKeyListener (this);\r
-this.alignPanel.seqPanel.seqCanvas.addKeyListener (this);\r
-this.alignPanel.idPanel.idCanvas.addKeyListener (this);\r
-this.alignPanel.scalePanel.addKeyListener (this);\r
-this.alignPanel.annotationPanel.addKeyListener (this);\r
-this.alignPanel.annotationPanelHolder.addKeyListener (this);\r
-this.alignPanel.annotationSpaceFillerHolder.addKeyListener (this);\r
-this.alignPanel.alabels.addKeyListener (this);\r
-if (addToDisplay) {\r
-this.addToDisplay (embedded);\r
-}}, "jalview.datamodel.AlignmentI,~A,jalview.datamodel.ColumnSelection,jalview.bin.JalviewLite,~S,~B,~B");\r
-Clazz.defineMethod (c$, "addToDisplay", \r
-function (embedded) {\r
-this.createAlignFrameWindow (embedded);\r
-this.validate ();\r
-this.alignPanel.adjustAnnotationHeight ();\r
-this.alignPanel.paintAlignment (true);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getAlignViewport", \r
-function () {\r
-return this.viewport;\r
-});\r
-Clazz.defineMethod (c$, "getSeqcanvas", \r
-function () {\r
-return this.alignPanel.seqPanel.seqCanvas;\r
-});\r
-Clazz.defineMethod (c$, "parseFeaturesFile", \r
-function (file, type) {\r
-return this.parseFeaturesFile (file, type, true);\r
-}, "~S,~S");\r
-Clazz.defineMethod (c$, "parseFeaturesFile", \r
-function (file, type, autoenabledisplay) {\r
-var featureLinks =  new java.util.Hashtable ();\r
-var featuresFile = false;\r
-try {\r
-featuresFile =  new jalview.io.FeaturesFile (file, type).parse (this.viewport.getAlignment (), this.alignPanel.seqPanel.seqCanvas.getFeatureRenderer ().getFeatureColours (), featureLinks, true, this.viewport.applet.getDefaultParameter ("relaxedidmatch", false));\r
-} catch (ex) {\r
-if (Clazz.exceptionOf (ex, Exception)) {\r
-ex.printStackTrace ();\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-if (featuresFile) {\r
-if (featureLinks.size () > 0) {\r
-this.alignPanel.seqPanel.seqCanvas.getFeatureRenderer ().featureLinks = featureLinks;\r
-}if (autoenabledisplay) {\r
-this.viewport.setShowSequenceFeatures (true);\r
-this.sequenceFeatures.setState (true);\r
-}if (this.alignPanel.seqPanel.seqCanvas.fr != null) {\r
-this.alignPanel.seqPanel.seqCanvas.fr.findAllFeatures (true);\r
-}if (this.viewport.featureSettings != null) {\r
-this.viewport.featureSettings.refreshTable ();\r
-}this.alignPanel.paintAlignment (true);\r
-this.setStatus (jalview.util.MessageManager.getString ("label.successfully_added_features_alignment"));\r
-}return featuresFile;\r
-}, "~S,~S,~B");\r
-Clazz.overrideMethod (c$, "keyPressed", \r
-function (evt) {\r
-if (this.viewport.cursorMode && ((evt.getKeyCode () >= 48 && evt.getKeyCode () <= 57) || (evt.getKeyCode () >= 96 && evt.getKeyCode () <= 105)) && Character.isDigit (evt.getKeyChar ())) {\r
-this.alignPanel.seqPanel.numberPressed (evt.getKeyChar ());\r
-}switch (evt.getKeyCode ()) {\r
-case 27:\r
-this.deselectAllSequenceMenuItem_actionPerformed ();\r
-this.alignPanel.alabels.cancelDrag ();\r
-break;\r
-case 88:\r
-if (evt.isControlDown () || evt.isMetaDown ()) {\r
-this.cut_actionPerformed ();\r
-}break;\r
-case 67:\r
-if (this.viewport.cursorMode && !evt.isControlDown ()) {\r
-this.alignPanel.seqPanel.setCursorColumn ();\r
-}if (evt.isControlDown () || evt.isMetaDown ()) {\r
-this.copy_actionPerformed ();\r
-}break;\r
-case 86:\r
-if (evt.isControlDown ()) {\r
-this.paste (evt.isShiftDown ());\r
-}break;\r
-case 65:\r
-if (evt.isControlDown () || evt.isMetaDown ()) {\r
-this.selectAllSequenceMenuItem_actionPerformed ();\r
-}break;\r
-case 40:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.moveCursor (0, 1);\r
-} else {\r
-this.moveSelectedSequences (false);\r
-}break;\r
-case 38:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.moveCursor (0, -1);\r
-} else {\r
-this.moveSelectedSequences (true);\r
-}break;\r
-case 37:\r
-if (evt.isAltDown () || !this.viewport.cursorMode) {\r
-this.slideSequences (false, this.alignPanel.seqPanel.getKeyboardNo1 ());\r
-} else {\r
-this.alignPanel.seqPanel.moveCursor (-1, 0);\r
-}break;\r
-case 39:\r
-if (evt.isAltDown () || !this.viewport.cursorMode) {\r
-this.slideSequences (true, this.alignPanel.seqPanel.getKeyboardNo1 ());\r
-} else {\r
-this.alignPanel.seqPanel.moveCursor (1, 0);\r
-}break;\r
-case 32:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.insertGapAtCursor (evt.isControlDown () || evt.isShiftDown () || evt.isAltDown ());\r
-}break;\r
-case 127:\r
-case 8:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.deleteGapAtCursor (evt.isControlDown () || evt.isShiftDown () || evt.isAltDown ());\r
-} else {\r
-this.cut_actionPerformed ();\r
-this.alignPanel.seqPanel.seqCanvas.repaint ();\r
-}break;\r
-case 83:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.setCursorRow ();\r
-}break;\r
-case 80:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.setCursorPosition ();\r
-}break;\r
-case 10:\r
-case 44:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.setCursorRowAndColumn ();\r
-}break;\r
-case 81:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.setSelectionAreaAtCursor (true);\r
-}break;\r
-case 77:\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.setSelectionAreaAtCursor (false);\r
-}break;\r
-case 113:\r
-this.viewport.cursorMode = !this.viewport.cursorMode;\r
-this.setStatus (jalview.util.MessageManager.formatMessage ("label.keyboard_editing_mode",  Clazz.newArray (-1, [(this.viewport.cursorMode ? "on" : "off")])));\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.seqCanvas.cursorX = this.viewport.startRes;\r
-this.alignPanel.seqPanel.seqCanvas.cursorY = this.viewport.startSeq;\r
-}break;\r
-case 70:\r
-if (evt.isControlDown ()) {\r
-this.findMenuItem_actionPerformed ();\r
-}break;\r
-case 72:\r
-{\r
-var toggleSeqs = !evt.isControlDown ();\r
-var toggleCols = !evt.isShiftDown ();\r
-this.toggleHiddenRegions (toggleSeqs, toggleCols);\r
-break;\r
-}case 33:\r
-if (this.viewport.getWrapAlignment ()) {\r
-this.alignPanel.scrollUp (true);\r
-} else {\r
-this.alignPanel.setScrollValues (this.viewport.startRes, this.viewport.startSeq - this.viewport.endSeq + this.viewport.startSeq);\r
-}break;\r
-case 34:\r
-if (this.viewport.getWrapAlignment ()) {\r
-this.alignPanel.scrollUp (false);\r
-} else {\r
-this.alignPanel.setScrollValues (this.viewport.startRes, this.viewport.startSeq + this.viewport.endSeq - this.viewport.startSeq);\r
-}break;\r
-case 90:\r
-if (evt.isControlDown ()) {\r
-this.undoMenuItem_actionPerformed ();\r
-}break;\r
-case 89:\r
-if (evt.isControlDown ()) {\r
-this.redoMenuItem_actionPerformed ();\r
-}break;\r
-case 76:\r
-if (evt.isControlDown ()) {\r
-this.trimAlignment (true);\r
-}break;\r
-case 82:\r
-if (evt.isControlDown ()) {\r
-this.trimAlignment (false);\r
-}break;\r
-case 69:\r
-if (evt.isControlDown ()) {\r
-if (evt.isShiftDown ()) {\r
-this.removeAllGapsMenuItem_actionPerformed ();\r
-} else {\r
-this.removeGappedColumnMenuItem_actionPerformed ();\r
-}}break;\r
-case 73:\r
-if (evt.isControlDown ()) {\r
-if (evt.isAltDown ()) {\r
-this.invertColSel_actionPerformed ();\r
-} else {\r
-this.invertSequenceMenuItem_actionPerformed ();\r
-}}break;\r
-case 71:\r
-if (evt.isControlDown ()) {\r
-if (evt.isShiftDown ()) {\r
-this.unGroup_actionPerformed ();\r
-} else {\r
-this.createGroup_actionPerformed ();\r
-}}break;\r
-case 85:\r
-if (evt.isControlDown ()) {\r
-this.deleteGroups_actionPerformed ();\r
-}break;\r
-case 84:\r
-if (evt.isControlDown ()) {\r
-this.newView (null);\r
-}break;\r
-}\r
-this.alignPanel.paintAlignment (true);\r
-}, "java.awt.event.KeyEvent");\r
-Clazz.defineMethod (c$, "toggleHiddenRegions", \r
- function (toggleSeqs, toggleCols) {\r
-var hide = false;\r
-var sg = this.viewport.getSelectionGroup ();\r
-if (!toggleSeqs && !toggleCols) {\r
-if ((this.viewport.getColumnSelection () != null && this.viewport.getColumnSelection ().getSelected () != null && this.viewport.getColumnSelection ().getSelected ().size () > 0) || (sg != null && sg.getSize () > 0 && sg.getStartRes () <= sg.getEndRes ())) {\r
-if (sg != null) {\r
-this.invertSequenceMenuItem_actionPerformed ();\r
-sg = this.viewport.getSelectionGroup ();\r
-toggleSeqs = true;\r
-}this.viewport.expandColSelection (sg, true);\r
-this.invertColSel_actionPerformed ();\r
-toggleCols = true;\r
-}}if (toggleSeqs) {\r
-if (sg != null && sg.getSize () != this.viewport.getAlignment ().getHeight ()) {\r
-hide = true;\r
-this.viewport.hideAllSelectedSeqs ();\r
-} else if (!(toggleCols && this.viewport.getColumnSelection ().getSelected ().size () > 0)) {\r
-this.viewport.showAllHiddenSeqs ();\r
-}}if (toggleCols) {\r
-if (this.viewport.getColumnSelection ().getSelected ().size () > 0) {\r
-this.viewport.hideSelectedColumns ();\r
-if (!toggleSeqs) {\r
-this.viewport.setSelectionGroup (sg);\r
-}} else if (!hide) {\r
-this.viewport.showAllHiddenColumns ();\r
-}}}, "~B,~B");\r
-Clazz.overrideMethod (c$, "keyReleased", \r
-function (evt) {\r
-}, "java.awt.event.KeyEvent");\r
-Clazz.overrideMethod (c$, "keyTyped", \r
-function (evt) {\r
-}, "java.awt.event.KeyEvent");\r
-Clazz.overrideMethod (c$, "itemStateChanged", \r
-function (evt) {\r
-var source = evt.getSource ();\r
-if (source === this.displayNonconservedMenuItem) {\r
-this.displayNonconservedMenuItem_actionPerformed ();\r
-} else if (source === this.colourTextMenuItem) {\r
-this.colourTextMenuItem_actionPerformed ();\r
-} else if (source === this.wrapMenuItem) {\r
-this.wrapMenuItem_actionPerformed ();\r
-} else if (source === this.scaleAbove) {\r
-this.viewport.setScaleAboveWrapped (this.scaleAbove.getState ());\r
-} else if (source === this.scaleLeft) {\r
-this.viewport.setScaleLeftWrapped (this.scaleLeft.getState ());\r
-} else if (source === this.scaleRight) {\r
-this.viewport.setScaleRightWrapped (this.scaleRight.getState ());\r
-} else if (source === this.seqLimits) {\r
-this.seqLimits_itemStateChanged ();\r
-} else if (source === this.viewBoxesMenuItem) {\r
-this.viewport.setShowBoxes (this.viewBoxesMenuItem.getState ());\r
-} else if (source === this.viewTextMenuItem) {\r
-this.viewport.setShowText (this.viewTextMenuItem.getState ());\r
-} else if (source === this.renderGapsMenuItem) {\r
-this.viewport.setRenderGaps (this.renderGapsMenuItem.getState ());\r
-} else if (source === this.annotationPanelMenuItem) {\r
-this.viewport.setShowAnnotation (this.annotationPanelMenuItem.getState ());\r
-this.alignPanel.setAnnotationVisible (this.annotationPanelMenuItem.getState ());\r
-} else if (source === this.sequenceFeatures) {\r
-this.viewport.setShowSequenceFeatures (this.sequenceFeatures.getState ());\r
-this.alignPanel.seqPanel.seqCanvas.repaint ();\r
-} else if (source === this.showAlignmentAnnotations) {\r
-this.setAnnotationsVisibility ();\r
-} else if (source === this.showSequenceAnnotations) {\r
-this.setAnnotationsVisibility ();\r
-} else if (source === this.sortAnnBySequence) {\r
-var newState = this.sortAnnBySequence.getState ();\r
-this.sortAnnByLabel.setState (false);\r
-this.setAnnotationSortOrder (newState ? jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.SEQUENCE_AND_LABEL : jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.NONE);\r
-this.setViewportAnnotationOrder ();\r
-} else if (source === this.sortAnnByLabel) {\r
-var newState = this.sortAnnByLabel.getState ();\r
-this.sortAnnBySequence.setState (false);\r
-this.setAnnotationSortOrder (newState ? jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.LABEL_AND_SEQUENCE : jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.NONE);\r
-this.setViewportAnnotationOrder ();\r
-} else if (source === this.showAutoFirst) {\r
-this.showAutoLast.setState (!this.showAutoFirst.getState ());\r
-this.setShowAutoCalculatedAbove (this.showAutoFirst.getState ());\r
-this.setViewportAnnotationOrder ();\r
-} else if (source === this.showAutoLast) {\r
-this.showAutoFirst.setState (!this.showAutoLast.getState ());\r
-this.setShowAutoCalculatedAbove (this.showAutoFirst.getState ());\r
-this.setViewportAnnotationOrder ();\r
-} else if (source === this.conservationMenuItem) {\r
-this.conservationMenuItem_actionPerformed ();\r
-} else if (source === this.abovePIDThreshold) {\r
-this.abovePIDThreshold_actionPerformed ();\r
-} else if (source === this.applyToAllGroups) {\r
-this.viewport.setColourAppliesToAllGroups (this.applyToAllGroups.getState ());\r
-} else if (source === this.autoCalculate) {\r
-this.viewport.autoCalculateConsensus = this.autoCalculate.getState ();\r
-} else if (source === this.$sortByTree) {\r
-this.viewport.sortByTree = this.$sortByTree.getState ();\r
-} else if (source === this.centreColumnLabelFlag) {\r
-this.centreColumnLabelFlag_stateChanged ();\r
-} else if (source === this.followMouseOverFlag) {\r
-this.mouseOverFlag_stateChanged ();\r
-} else if (source === this.showGroupConsensus) {\r
-this.showGroupConsensus_actionPerformed ();\r
-} else if (source === this.showGroupConservation) {\r
-this.showGroupConservation_actionPerformed ();\r
-} else if (source === this.showSequenceLogo) {\r
-this.showSequenceLogo_actionPerformed ();\r
-} else if (source === this.normSequenceLogo) {\r
-this.normSequenceLogo_actionPerformed ();\r
-} else if (source === this.showConsensusHistogram) {\r
-this.showConsensusHistogram_actionPerformed ();\r
-} else if (source === this.applyAutoAnnotationSettings) {\r
-this.applyAutoAnnotationSettings_actionPerformed ();\r
-}this.alignPanel.paintAlignment (true);\r
-}, "java.awt.event.ItemEvent");\r
-Clazz.defineMethod (c$, "setAnnotationsVisibility", \r
- function () {\r
-var showForAlignment = this.showAlignmentAnnotations.getState ();\r
-var showForSequences = this.showSequenceAnnotations.getState ();\r
-for (var aa, $aa = 0, $$aa = this.alignPanel.getAlignment ().getAlignmentAnnotation (); $aa < $$aa.length && ((aa = $$aa[$aa]) || true); $aa++) {\r
-var visible = (aa.sequenceRef == null ? showForAlignment : showForSequences);\r
-aa.visible = visible;\r
-}\r
-this.alignPanel.validateAnnotationDimensions (true);\r
-this.validate ();\r
-this.repaint ();\r
-});\r
-Clazz.defineMethod (c$, "setAnnotationSortOrder", \r
- function (order) {\r
-this.annotationSortOrder = order;\r
-}, "jalview.analysis.AnnotationSorter.SequenceAnnotationOrder");\r
-Clazz.defineMethod (c$, "setViewportAnnotationOrder", \r
- function () {\r
-this.alignPanel.av.setSortAnnotationsBy (this.annotationSortOrder);\r
-this.alignPanel.av.setShowAutocalculatedAbove (this.showAutoCalculatedAbove);\r
-});\r
-Clazz.defineMethod (c$, "setShowAutoCalculatedAbove", \r
- function (showAbove) {\r
-this.showAutoCalculatedAbove = showAbove;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "mouseOverFlag_stateChanged", \r
- function () {\r
-this.viewport.setFollowHighlight (this.followMouseOverFlag.getState ());\r
-});\r
-Clazz.defineMethod (c$, "centreColumnLabelFlag_stateChanged", \r
- function () {\r
-this.viewport.centreColumnLabels = this.centreColumnLabelFlag.getState ();\r
-this.alignPanel.annotationPanel.repaint ();\r
-});\r
-Clazz.overrideMethod (c$, "actionPerformed", \r
-function (evt) {\r
-var source = evt.getSource ();\r
-if (source === this.inputText) {\r
-this.inputText_actionPerformed ();\r
-} else if (source === this.$loadTree) {\r
-this.loadTree_actionPerformed ();\r
-} else if (source === this.loadApplication) {\r
-this.launchFullApplication ();\r
-} else if (source === this.$loadAnnotations) {\r
-this.loadAnnotations ();\r
-} else if (source === this.$outputAnnotations) {\r
-this.outputAnnotations (true);\r
-} else if (source === this.$outputFeatures) {\r
-this.outputFeatures (true, "Jalview");\r
-} else if (source === this.closeMenuItem) {\r
-this.closeMenuItem_actionPerformed ();\r
-} else if (source === this.copy) {\r
-this.copy_actionPerformed ();\r
-} else if (source === this.undoMenuItem) {\r
-this.undoMenuItem_actionPerformed ();\r
-} else if (source === this.redoMenuItem) {\r
-this.redoMenuItem_actionPerformed ();\r
-} else if (source === this.inputText) {\r
-this.inputText_actionPerformed ();\r
-} else if (source === this.closeMenuItem) {\r
-this.closeMenuItem_actionPerformed ();\r
-} else if (source === this.undoMenuItem) {\r
-this.undoMenuItem_actionPerformed ();\r
-} else if (source === this.redoMenuItem) {\r
-this.redoMenuItem_actionPerformed ();\r
-} else if (source === this.copy) {\r
-this.copy_actionPerformed ();\r
-} else if (source === this.pasteNew) {\r
-this.pasteNew_actionPerformed ();\r
-} else if (source === this.pasteThis) {\r
-this.pasteThis_actionPerformed ();\r
-} else if (source === this.cut) {\r
-this.cut_actionPerformed ();\r
-} else if (source === this.$delete) {\r
-this.delete_actionPerformed ();\r
-} else if (source === this.grpsFromSelection) {\r
-this.makeGrpsFromSelection_actionPerformed ();\r
-} else if (source === this.deleteGroups) {\r
-this.deleteGroups_actionPerformed ();\r
-} else if (source === this.selectAllSequenceMenuItem) {\r
-this.selectAllSequenceMenuItem_actionPerformed ();\r
-} else if (source === this.deselectAllSequenceMenuItem) {\r
-this.deselectAllSequenceMenuItem_actionPerformed ();\r
-} else if (source === this.invertSequenceMenuItem) {\r
-this.invertSequenceMenuItem_actionPerformed ();\r
-} else if (source === this.invertColSel) {\r
-this.viewport.invertColumnSelection ();\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.remove2LeftMenuItem) {\r
-this.trimAlignment (true);\r
-} else if (source === this.remove2RightMenuItem) {\r
-this.trimAlignment (false);\r
-} else if (source === this.removeGappedColumnMenuItem) {\r
-this.removeGappedColumnMenuItem_actionPerformed ();\r
-} else if (source === this.removeAllGapsMenuItem) {\r
-this.removeAllGapsMenuItem_actionPerformed ();\r
-} else if (source === this.findMenuItem) {\r
-this.findMenuItem_actionPerformed ();\r
-} else if (source === this.$font) {\r
- new jalview.appletgui.FontChooser (this.alignPanel);\r
-} else if (source === this.$newView) {\r
-this.newView (null);\r
-} else if (source === this.showColumns) {\r
-this.viewport.showAllHiddenColumns ();\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.showSeqs) {\r
-this.viewport.showAllHiddenSeqs ();\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.hideColumns) {\r
-this.viewport.hideSelectedColumns ();\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.hideSequences && this.viewport.getSelectionGroup () != null) {\r
-this.viewport.hideAllSelectedSeqs ();\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.hideAllButSelection) {\r
-this.toggleHiddenRegions (false, false);\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.hideAllSelection) {\r
-var sg = this.viewport.getSelectionGroup ();\r
-this.viewport.expandColSelection (sg, false);\r
-this.viewport.hideAllSelectedSeqs ();\r
-this.viewport.hideSelectedColumns ();\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.showAllHidden) {\r
-this.viewport.showAllHiddenColumns ();\r
-this.viewport.showAllHiddenSeqs ();\r
-this.alignPanel.paintAlignment (true);\r
-} else if (source === this.showGroupConsensus) {\r
-this.showGroupConsensus_actionPerformed ();\r
-} else if (source === this.showGroupConservation) {\r
-this.showGroupConservation_actionPerformed ();\r
-} else if (source === this.showSequenceLogo) {\r
-this.showSequenceLogo_actionPerformed ();\r
-} else if (source === this.normSequenceLogo) {\r
-this.normSequenceLogo_actionPerformed ();\r
-} else if (source === this.showConsensusHistogram) {\r
-this.showConsensusHistogram_actionPerformed ();\r
-} else if (source === this.applyAutoAnnotationSettings) {\r
-this.applyAutoAnnotationSettings_actionPerformed ();\r
-} else if (source === this.featureSettings) {\r
- new jalview.appletgui.FeatureSettings (this.alignPanel);\r
-} else if (source === this.alProperties) {\r
-var contents =  new jalview.io.AlignmentProperties (this.viewport.getAlignment ()).formatAsString ();\r
-var cap =  new jalview.appletgui.CutAndPasteTransfer (false, this);\r
-cap.setText (contents.toString ());\r
-var frame =  new awt2swing.Frame ();\r
-frame.add (cap);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.alignment_properties",  Clazz.newArray (-1, [this.getTitle ()])), 400, 250);\r
-} else if (source === this.overviewMenuItem) {\r
-this.overviewMenuItem_actionPerformed ();\r
-} else if (source === this.noColourmenuItem) {\r
-this.changeColour (null);\r
-} else if (source === this.clustalColour) {\r
-this.abovePIDThreshold.setState (false);\r
-this.changeColour ( new jalview.schemes.ClustalxColourScheme (this.viewport.getAlignment (), null));\r
-} else if (source === this.zappoColour) {\r
-this.changeColour ( new jalview.schemes.ZappoColourScheme ());\r
-} else if (source === this.taylorColour) {\r
-this.changeColour ( new jalview.schemes.TaylorColourScheme ());\r
-} else if (source === this.hydrophobicityColour) {\r
-this.changeColour ( new jalview.schemes.HydrophobicColourScheme ());\r
-} else if (source === this.helixColour) {\r
-this.changeColour ( new jalview.schemes.HelixColourScheme ());\r
-} else if (source === this.strandColour) {\r
-this.changeColour ( new jalview.schemes.StrandColourScheme ());\r
-} else if (source === this.turnColour) {\r
-this.changeColour ( new jalview.schemes.TurnColourScheme ());\r
-} else if (source === this.buriedColour) {\r
-this.changeColour ( new jalview.schemes.BuriedColourScheme ());\r
-} else if (source === this.nucleotideColour) {\r
-this.changeColour ( new jalview.schemes.NucleotideColourScheme ());\r
-} else if (source === this.purinePyrimidineColour) {\r
-this.changeColour ( new jalview.schemes.PurinePyrimidineColourScheme ());\r
-} else if (source === this.RNAInteractionColour) {\r
-this.changeColour ( new jalview.schemes.RNAInteractionColourScheme ());\r
-} else if (source === this.RNAHelixColour) {\r
- new jalview.schemes.RNAHelicesColourChooser (this.viewport, this.alignPanel);\r
-} else if (source === this.modifyPID) {\r
-this.modifyPID_actionPerformed ();\r
-} else if (source === this.modifyConservation) {\r
-this.modifyConservation_actionPerformed ();\r
-} else if (source === this.userDefinedColour) {\r
- new jalview.appletgui.UserDefinedColours (this.alignPanel, null);\r
-} else if (source === this.PIDColour) {\r
-this.changeColour ( new jalview.schemes.PIDColourScheme ());\r
-} else if (source === this.BLOSUM62Colour) {\r
-this.changeColour ( new jalview.schemes.Blosum62ColourScheme ());\r
-} else if (source === this.tcoffeeColour) {\r
-this.changeColour ( new jalview.schemes.TCoffeeColourScheme (this.alignPanel.getAlignment ()));\r
-} else if (source === this.annotationColour) {\r
- new jalview.appletgui.AnnotationColourChooser (this.viewport, this.alignPanel);\r
-} else if (source === this.annotationColumnSelection) {\r
- new jalview.appletgui.AnnotationColumnChooser (this.viewport, this.alignPanel);\r
-} else if (source === this.sortPairwiseMenuItem) {\r
-this.sortPairwiseMenuItem_actionPerformed ();\r
-} else if (source === this.sortIDMenuItem) {\r
-this.sortIDMenuItem_actionPerformed ();\r
-} else if (source === this.sortLengthMenuItem) {\r
-this.sortLengthMenuItem_actionPerformed ();\r
-} else if (source === this.sortGroupMenuItem) {\r
-this.sortGroupMenuItem_actionPerformed ();\r
-} else if (source === this.removeRedundancyMenuItem) {\r
-this.removeRedundancyMenuItem_actionPerformed ();\r
-} else if (source === this.pairwiseAlignmentMenuItem) {\r
-this.pairwiseAlignmentMenuItem_actionPerformed ();\r
-} else if (source === this.PCAMenuItem) {\r
-this.PCAMenuItem_actionPerformed ();\r
-} else if (source === this.averageDistanceTreeMenuItem) {\r
-this.averageDistanceTreeMenuItem_actionPerformed ();\r
-} else if (source === this.neighbourTreeMenuItem) {\r
-this.neighbourTreeMenuItem_actionPerformed ();\r
-} else if (source === this.njTreeBlosumMenuItem) {\r
-this.njTreeBlosumMenuItem_actionPerformed ();\r
-} else if (source === this.avDistanceTreeBlosumMenuItem) {\r
-this.avTreeBlosumMenuItem_actionPerformed ();\r
-} else if (source === this.documentation) {\r
-this.documentation_actionPerformed ();\r
-} else if (source === this.about) {\r
-this.about_actionPerformed ();\r
-}}, "java.awt.event.ActionEvent");\r
-Clazz.defineMethod (c$, "inputText_actionPerformed", \r
-function () {\r
-var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
-var frame =  new awt2swing.Frame ();\r
-frame.add (cap);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.input_cut_paste"), 500, 500);\r
-});\r
-Clazz.defineMethod (c$, "outputText_actionPerformed", \r
-function (e) {\r
-var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
-var frame =  new awt2swing.Frame ();\r
-frame.add (cap);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.alignment_output_command",  Clazz.newArray (-1, [e.getActionCommand ()])), 600, 500);\r
-var fr = this.alignPanel.cloneFeatureRenderer ();\r
-cap.setText ( new jalview.io.AppletFormatAdapter (this.alignPanel).formatSequences (e.getActionCommand (), this.viewport.getAlignment (), this.viewport.getShowJVSuffix ()));\r
-}, "java.awt.event.ActionEvent");\r
-Clazz.defineMethod (c$, "loadAnnotations", \r
-function () {\r
-var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
-cap.setText (jalview.util.MessageManager.getString ("label.paste_features_annotations_Tcoffee_here"));\r
-cap.setAnnotationImport ();\r
-var frame =  new awt2swing.Frame ();\r
-frame.add (cap);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("action.paste_annotations"), 400, 300);\r
-});\r
-Clazz.defineMethod (c$, "outputAnnotations", \r
-function (displayTextbox) {\r
-var annotation =  new jalview.io.AnnotationFile ().printAnnotationsForView (this.viewport);\r
-if (displayTextbox) {\r
-var cap =  new jalview.appletgui.CutAndPasteTransfer (false, this);\r
-var frame =  new awt2swing.Frame ();\r
-frame.add (cap);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.annotations"), 600, 500);\r
-cap.setText (annotation);\r
-}return annotation;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getDisplayedFeatureCols", \r
- function () {\r
-if (this.alignPanel.getFeatureRenderer () != null && this.viewport.getFeaturesDisplayed () != null) {\r
-return this.alignPanel.getFeatureRenderer ().getDisplayedFeatureCols ();\r
-}return null;\r
-});\r
-Clazz.defineMethod (c$, "outputFeatures", \r
-function (displayTextbox, format) {\r
-var features;\r
-if (format.equalsIgnoreCase ("Jalview")) {\r
-features =  new jalview.io.FeaturesFile ().printJalviewFormat (this.viewport.getAlignment ().getSequencesArray (), this.getDisplayedFeatureCols ());\r
-} else {\r
-features =  new jalview.io.FeaturesFile ().printGFFFormat (this.viewport.getAlignment ().getSequencesArray (), this.getDisplayedFeatureCols ());\r
-}if (displayTextbox) {\r
-var frimport = false;\r
-if (features == null || features.equals ("No Features Visible")) {\r
-features = "# No features visible - paste some and import them here.";\r
-frimport = true;\r
-}var cap =  new jalview.appletgui.CutAndPasteTransfer (frimport, this);\r
-if (frimport) {\r
-cap.setAnnotationImport ();\r
-}var frame =  new awt2swing.Frame ();\r
-frame.add (cap);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.features"), 600, 500);\r
-cap.setText (features);\r
-} else {\r
-if (features == null) {\r
-features = "";\r
-}}return features;\r
-}, "~B,~S");\r
-Clazz.defineMethod (c$, "launchFullApplication", \r
-function () {\r
-var url =  new StringBuffer (this.jalviewServletURL);\r
-var firstSep = url.lastIndexOf ("?") > url.lastIndexOf ("/") ? "&" : "?";\r
-url.append (firstSep);\r
-var applet = this.viewport.applet;\r
-var s = applet.startupFile;\r
-url.append ("open=" + this.appendProtocol (s));\r
-if (this.viewport.applet.features != null) {\r
-url.append ("&features=");\r
-url.append (this.appendProtocol (applet.features));\r
-}if (applet.annotations != null) {\r
-url.append ("&annotations=");\r
-url.append (this.appendProtocol (applet.annotations));\r
-}if (applet.jnetFile != null) {\r
-url.append ("&annotations=");\r
-url.append (this.appendProtocol (applet.jnetFile));\r
-}if (applet.defaultColour != null) {\r
-url.append ("&colour=" + this.removeWhiteSpace (applet.defaultColour));\r
-}if (applet.userDefinedColour != null) {\r
-url.append ("&colour=" + this.removeWhiteSpace (applet.userDefinedColour));\r
-}if (applet.treeFile != null) {\r
-url.append ("&tree=" + this.appendProtocol (applet.treeFile));\r
-}this.showURL (url.toString (), "FULL_APP");\r
-});\r
-Clazz.defineMethod (c$, "removeWhiteSpace", \r
-function (colour) {\r
-var sb =  new StringBuffer ();\r
-for (var i = 0; i < colour.length; i++) {\r
-if (Character.isWhitespace (colour.charAt (i))) {\r
-sb.append ("%20");\r
-} else {\r
-sb.append (colour.charAt (i));\r
-}}\r
-return sb.toString ();\r
-}, "~S");\r
-Clazz.defineMethod (c$, "appendProtocol", \r
-function (url) {\r
-try {\r
- new java.net.URL (url);\r
-url = java.net.URLEncoder.encode (url);\r
-} catch (ex) {\r
-if (Clazz.exceptionOf (ex, java.net.MalformedURLException)) {\r
-url = this.viewport.applet.getCodeBase () + url;\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-return url;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "closeMenuItem_actionPerformed", \r
-function () {\r
-jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel);\r
-if (this.alignPanel.seqPanel != null && this.alignPanel.seqPanel.seqCanvas != null) {\r
-jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel.seqPanel.seqCanvas);\r
-}if (this.alignPanel.idPanel != null && this.alignPanel.idPanel.idCanvas != null) {\r
-jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel.idPanel.idCanvas);\r
-}if (jalview.appletgui.PaintRefresher.components.size () == 0 && this.viewport.applet == null) {\r
-System.exit (0);\r
-} else {\r
-}this.viewport = null;\r
-this.alignPanel = null;\r
-this.dispose ();\r
-});\r
-Clazz.defineMethod (c$, "updateEditMenuBar", \r
-function () {\r
-if (this.viewport.getHistoryList ().size () > 0) {\r
-this.undoMenuItem.setEnabled (true);\r
-var command = this.viewport.getHistoryList ().peek ();\r
-this.undoMenuItem.setLabel (jalview.util.MessageManager.formatMessage ("label.undo_command",  Clazz.newArray (-1, [command.getDescription ()])));\r
-} else {\r
-this.undoMenuItem.setEnabled (false);\r
-this.undoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.undo"));\r
-}if (this.viewport.getRedoList ().size () > 0) {\r
-this.redoMenuItem.setEnabled (true);\r
-var command = this.viewport.getRedoList ().peek ();\r
-this.redoMenuItem.setLabel (jalview.util.MessageManager.formatMessage ("label.redo_command",  Clazz.newArray (-1, [command.getDescription ()])));\r
-} else {\r
-this.redoMenuItem.setEnabled (false);\r
-this.redoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.redo"));\r
-}});\r
-Clazz.overrideMethod (c$, "addHistoryItem", \r
-function (command) {\r
-if (command.getSize () > 0) {\r
-this.viewport.addToHistoryList (command);\r
-this.viewport.clearRedoList ();\r
-this.updateEditMenuBar ();\r
-this.viewport.updateHiddenColumns ();\r
-}}, "jalview.commands.CommandI");\r
-Clazz.defineMethod (c$, "undoMenuItem_actionPerformed", \r
-function () {\r
-if (this.viewport.getHistoryList ().isEmpty ()) {\r
-return;\r
-}var command = this.viewport.getHistoryList ().pop ();\r
-this.viewport.addToRedoList (command);\r
-command.undoCommand (null);\r
-var originalSource = this.getOriginatingSource (command);\r
-if (originalSource !== this.viewport) {\r
-System.err.println ("Warning: Viewport object mismatch whilst undoing");\r
-}originalSource.updateHiddenColumns ();\r
-this.updateEditMenuBar ();\r
-originalSource.firePropertyChange ("alignment", null, originalSource.getAlignment ().getSequences ());\r
-});\r
-Clazz.defineMethod (c$, "redoMenuItem_actionPerformed", \r
-function () {\r
-if (this.viewport.getRedoList ().isEmpty ()) {\r
-return;\r
-}var command = this.viewport.getRedoList ().pop ();\r
-this.viewport.addToHistoryList (command);\r
-command.doCommand (null);\r
-var originalSource = this.getOriginatingSource (command);\r
-if (originalSource !== this.viewport) {\r
-System.err.println ("Warning: Viewport object mismatch whilst re-doing");\r
-}originalSource.updateHiddenColumns ();\r
-this.updateEditMenuBar ();\r
-originalSource.firePropertyChange ("alignment", null, originalSource.getAlignment ().getSequences ());\r
-});\r
-Clazz.defineMethod (c$, "getOriginatingSource", \r
-function (command) {\r
-var originalSource = null;\r
-var al = null;\r
-if (Clazz.instanceOf (command, jalview.commands.EditCommand)) {\r
-var editCommand = command;\r
-al = editCommand.getAlignment ();\r
-var comps = jalview.appletgui.PaintRefresher.components.get (this.viewport.getSequenceSetId ());\r
-for (var i = 0; i < comps.size (); i++) {\r
-if (Clazz.instanceOf (comps.elementAt (i), jalview.appletgui.AlignmentPanel)) {\r
-if (al === (comps.elementAt (i)).av.getAlignment ()) {\r
-originalSource = (comps.elementAt (i)).av;\r
-break;\r
-}}}\r
-}if (originalSource == null) {\r
-if (al != null) {\r
-jalview.appletgui.PaintRefresher.validateSequences (al, this.viewport.getAlignment ());\r
-}originalSource = this.viewport;\r
-}return originalSource;\r
-}, "jalview.commands.CommandI");\r
-Clazz.defineMethod (c$, "moveSelectedSequences", \r
-function (up) {\r
-var sg = this.viewport.getSelectionGroup ();\r
-if (sg == null) {\r
-return;\r
-}this.viewport.getAlignment ().moveSelectedSequencesByOne (sg, up ? null : this.viewport.getHiddenRepSequences (), up);\r
-this.alignPanel.paintAlignment (true);\r
-var complement = this.viewport.getCodingComplement ();\r
-if (complement != null) {\r
-var mappedSelection = jalview.util.MappingUtils.mapSequenceGroup (sg, this.viewport, complement);\r
-complement.getAlignment ().moveSelectedSequencesByOne (mappedSelection, up ? null : complement.getHiddenRepSequences (), up);\r
-}}, "~B");\r
-Clazz.defineMethod (c$, "slideSequences", \r
-function (right, size) {\r
-var sg =  new java.util.Vector ();\r
-if (this.viewport.cursorMode) {\r
-sg.add (this.viewport.getAlignment ().getSequenceAt (this.alignPanel.seqPanel.seqCanvas.cursorY));\r
-} else if (this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () != this.viewport.getAlignment ().getHeight ()) {\r
-sg = this.viewport.getSelectionGroup ().getSequences (this.viewport.getHiddenRepSequences ());\r
-}if (sg.size () < 1) {\r
-return;\r
-}var invertGroup =  new java.util.Vector ();\r
-for (var i = 0; i < this.viewport.getAlignment ().getHeight (); i++) {\r
-if (!sg.contains (this.viewport.getAlignment ().getSequenceAt (i))) {\r
-invertGroup.addElement (this.viewport.getAlignment ().getSequenceAt (i));\r
-}}\r
-var seqs1 = sg.toArray ( new Array (sg.size ()));\r
-var seqs2 = invertGroup.toArray ( new Array (invertGroup.size ()));\r
-for (var i = 0; i < invertGroup.size (); i++) {\r
-seqs2[i] = invertGroup.elementAt (i);\r
-}\r
-var ssc;\r
-if (right) {\r
-ssc =  new jalview.commands.SlideSequencesCommand ("Slide Sequences", seqs2, seqs1, size, this.viewport.getGapCharacter ());\r
-} else {\r
-ssc =  new jalview.commands.SlideSequencesCommand ("Slide Sequences", seqs1, seqs2, size, this.viewport.getGapCharacter ());\r
-}var groupAdjustment = 0;\r
-if (ssc.getGapsInsertedBegin () && right) {\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.moveCursor (size, 0);\r
-} else {\r
-groupAdjustment = size;\r
-}} else if (!ssc.getGapsInsertedBegin () && !right) {\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.moveCursor (-size, 0);\r
-} else {\r
-groupAdjustment = -size;\r
-}}if (groupAdjustment != 0) {\r
-this.viewport.getSelectionGroup ().setStartRes (this.viewport.getSelectionGroup ().getStartRes () + groupAdjustment);\r
-this.viewport.getSelectionGroup ().setEndRes (this.viewport.getSelectionGroup ().getEndRes () + groupAdjustment);\r
-}var appendHistoryItem = false;\r
-var historyList = this.viewport.getHistoryList ();\r
-if (historyList != null && historyList.size () > 0 && Clazz.instanceOf (historyList.peek (), jalview.commands.SlideSequencesCommand)) {\r
-appendHistoryItem = ssc.appendSlideCommand (historyList.peek ());\r
-}if (!appendHistoryItem) {\r
-this.addHistoryItem (ssc);\r
-}this.repaint ();\r
-}, "~B,~N");\r
-Clazz.defineMethod (c$, "copy_actionPerformed", \r
-function () {\r
-if (this.viewport.getSelectionGroup () == null) {\r
-return;\r
-}var sg = this.viewport.getSelectionGroup ();\r
-jalview.appletgui.AlignFrame.copiedSequences =  new StringBuffer ();\r
-var orderedSeqs =  new java.util.HashMap ();\r
-for (var i = 0; i < sg.getSize (); i++) {\r
-var seq = sg.getSequenceAt (i);\r
-var index = this.viewport.getAlignment ().findIndex (seq);\r
-orderedSeqs.put (new Integer (index), seq);\r
-}\r
-var index = 0;\r
-var startRes;\r
-var endRes;\r
-var ch;\r
-if (this.viewport.hasHiddenColumns () && this.viewport.getSelectionGroup () != null) {\r
-jalview.appletgui.AlignFrame.copiedHiddenColumns =  new java.util.Vector ();\r
-var hiddenOffset = this.viewport.getSelectionGroup ().getStartRes ();\r
-for (var region, $region = this.viewport.getColumnSelection ().getHiddenColumns ().iterator (); $region.hasNext () && ((region = $region.next ()) || true);) {\r
-jalview.appletgui.AlignFrame.copiedHiddenColumns.addElement ( Clazz.newIntArray (-1, [region[0] - hiddenOffset, region[1] - hiddenOffset]));\r
-}\r
-} else {\r
-jalview.appletgui.AlignFrame.copiedHiddenColumns = null;\r
-}for (var i = 0; i < sg.getSize (); i++) {\r
-var seq = null;\r
-while (seq == null) {\r
-if (orderedSeqs.containsKey (new Integer (index))) {\r
-seq = orderedSeqs.get (new Integer (index));\r
-index++;\r
-break;\r
-} else {\r
-index++;\r
-}}\r
-startRes = seq.findPosition (sg.getStartRes ());\r
-endRes = 0;\r
-for (var j = 0; j < sg.getEndRes () + 1 && j < seq.getLength (); j++) {\r
-ch = seq.getCharAt (j);\r
-if (!jalview.util.Comparison.isGap ((ch))) {\r
-endRes++;\r
-}}\r
-if (endRes > 0) {\r
-endRes += seq.getStart () - 1;\r
-}jalview.appletgui.AlignFrame.copiedSequences.append (seq.getName () + "\t" + startRes + "\t" + endRes + "\t" + seq.getSequenceAsString (sg.getStartRes (), sg.getEndRes () + 1) + "\n");\r
-}\r
-});\r
-Clazz.defineMethod (c$, "pasteNew_actionPerformed", \r
-function () {\r
-this.paste (true);\r
-});\r
-Clazz.defineMethod (c$, "pasteThis_actionPerformed", \r
-function () {\r
-this.paste (false);\r
-});\r
-Clazz.defineMethod (c$, "paste", \r
-function (newAlignment) {\r
-try {\r
-if (jalview.appletgui.AlignFrame.copiedSequences == null) {\r
-return;\r
-}var st =  new java.util.StringTokenizer (jalview.appletgui.AlignFrame.copiedSequences.toString ());\r
-var seqs =  new java.util.Vector ();\r
-while (st.hasMoreElements ()) {\r
-var name = st.nextToken ();\r
-var start = Integer.parseInt (st.nextToken ());\r
-var end = Integer.parseInt (st.nextToken ());\r
-seqs.addElement ( new jalview.datamodel.Sequence (name, st.nextToken (), start, end));\r
-}\r
-var newSeqs =  new Array (seqs.size ());\r
-for (var i = 0; i < seqs.size (); i++) {\r
-newSeqs[i] = seqs.elementAt (i);\r
-}\r
-if (newAlignment) {\r
-var newtitle = jalview.util.MessageManager.getString ("label.copied_sequences");\r
-if (this.getTitle ().startsWith (jalview.util.MessageManager.getString ("label.copied_sequences"))) {\r
-newtitle = this.getTitle ();\r
-} else {\r
-newtitle = newtitle.concat (jalview.util.MessageManager.formatMessage ("label.from_msname",  Clazz.newArray (-1, [this.getTitle ()])));\r
-}var af =  new jalview.appletgui.AlignFrame ( new jalview.datamodel.Alignment (newSeqs), this.viewport.applet, newtitle, false);\r
-if (jalview.appletgui.AlignFrame.copiedHiddenColumns != null) {\r
-for (var i = 0; i < jalview.appletgui.AlignFrame.copiedHiddenColumns.size (); i++) {\r
-var region = jalview.appletgui.AlignFrame.copiedHiddenColumns.elementAt (i);\r
-af.viewport.hideColumns (region[0], region[1]);\r
-}\r
-}jalview.bin.JalviewLite.addFrame (af, newtitle, this.frameWidth, this.frameHeight);\r
-} else {\r
-this.addSequences (newSeqs);\r
-}} catch (ex) {\r
-if (Clazz.exceptionOf (ex, Exception)) {\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-}, "~B");\r
-Clazz.defineMethod (c$, "addSequences", \r
-function (seqs) {\r
-for (var i = 0; i < seqs.length; i++) {\r
-this.viewport.getAlignment ().addSequence (seqs[i]);\r
-}\r
-this.addHistoryItem ( new jalview.commands.EditCommand (jalview.util.MessageManager.getString ("label.add_sequences"), jalview.commands.EditCommand.Action.PASTE, seqs, 0, this.viewport.getAlignment ().getWidth (), this.viewport.getAlignment ()));\r
-this.viewport.setEndSeq (this.viewport.getAlignment ().getHeight ());\r
-this.viewport.getAlignment ().getWidth ();\r
-this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
-}, "~A");\r
-Clazz.defineMethod (c$, "cut_actionPerformed", \r
-function () {\r
-this.copy_actionPerformed ();\r
-this.delete_actionPerformed ();\r
-});\r
-Clazz.defineMethod (c$, "delete_actionPerformed", \r
-function () {\r
-var sg = this.viewport.getSelectionGroup ();\r
-if (sg == null) {\r
-return;\r
-}var seqs =  new java.util.Vector ();\r
-var seq;\r
-for (var i = 0; i < sg.getSize (); i++) {\r
-seq = sg.getSequenceAt (i);\r
-seqs.addElement (seq);\r
-}\r
-if (sg.getSize () == this.viewport.getAlignment ().getHeight ()) {\r
-this.viewport.getColumnSelection ().removeElements (sg.getStartRes (), sg.getEndRes () + 1);\r
-}var cut =  new Array (seqs.size ());\r
-for (var i = 0; i < seqs.size (); i++) {\r
-cut[i] = seqs.elementAt (i);\r
-}\r
-this.addHistoryItem ( new jalview.commands.EditCommand (jalview.util.MessageManager.getString ("label.cut_sequences"), jalview.commands.EditCommand.Action.CUT, cut, sg.getStartRes (), sg.getEndRes () - sg.getStartRes () + 1, this.viewport.getAlignment ()));\r
-this.viewport.setSelectionGroup (null);\r
-this.viewport.getAlignment ().deleteGroup (sg);\r
-this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
-if (this.viewport.getAlignment ().getHeight () < 1) {\r
-this.setVisible (false);\r
-}this.viewport.sendSelection ();\r
-});\r
-Clazz.defineMethod (c$, "showGroupConsensus_actionPerformed", \r
-function () {\r
-this.viewport.setShowGroupConsensus (this.showGroupConsensus.getState ());\r
-this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
-});\r
-Clazz.defineMethod (c$, "showGroupConservation_actionPerformed", \r
-function () {\r
-this.viewport.setShowGroupConservation (this.showGroupConservation.getState ());\r
-this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
-});\r
-Clazz.defineMethod (c$, "showConsensusHistogram_actionPerformed", \r
-function () {\r
-this.viewport.setShowConsensusHistogram (this.showConsensusHistogram.getState ());\r
-this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
-});\r
-Clazz.defineMethod (c$, "showSequenceLogo_actionPerformed", \r
-function () {\r
-this.viewport.setShowSequenceLogo (this.showSequenceLogo.getState ());\r
-this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
-});\r
-Clazz.defineMethod (c$, "normSequenceLogo_actionPerformed", \r
-function () {\r
-this.showSequenceLogo.setState (true);\r
-this.viewport.setShowSequenceLogo (true);\r
-this.viewport.setNormaliseSequenceLogo (this.normSequenceLogo.getState ());\r
-this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
-});\r
-Clazz.defineMethod (c$, "applyAutoAnnotationSettings_actionPerformed", \r
-function () {\r
-this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());\r
-});\r
-Clazz.defineMethod (c$, "makeGrpsFromSelection_actionPerformed", \r
-function () {\r
-if (this.avc.makeGroupsFromSelection ()) {\r
-jalview.appletgui.PaintRefresher.Refresh (this, this.viewport.getSequenceSetId ());\r
-this.alignPanel.updateAnnotation ();\r
-this.alignPanel.paintAlignment (true);\r
-}});\r
-Clazz.defineMethod (c$, "createGroup_actionPerformed", \r
-function () {\r
-this.avc.createGroup ();\r
-});\r
-Clazz.defineMethod (c$, "unGroup_actionPerformed", \r
-function () {\r
-if (this.avc.unGroup ()) {\r
-this.alignPanel.alignmentChanged ();\r
-}});\r
-Clazz.defineMethod (c$, "deleteGroups_actionPerformed", \r
-function () {\r
-if (this.avc.deleteGroups ()) {\r
-this.alignPanel.alignmentChanged ();\r
-}});\r
-Clazz.defineMethod (c$, "selectAllSequenceMenuItem_actionPerformed", \r
-function () {\r
-var sg =  new jalview.datamodel.SequenceGroup ();\r
-for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
-sg.addSequence (this.viewport.getAlignment ().getSequenceAt (i), false);\r
-}\r
-sg.setEndRes (this.viewport.getAlignment ().getWidth () - 1);\r
-this.viewport.setSelectionGroup (sg);\r
-this.alignPanel.paintAlignment (true);\r
-jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
-this.viewport.sendSelection ();\r
-});\r
-Clazz.defineMethod (c$, "deselectAllSequenceMenuItem_actionPerformed", \r
-function () {\r
-if (this.viewport.cursorMode) {\r
-this.alignPanel.seqPanel.keyboardNo1 = null;\r
-this.alignPanel.seqPanel.keyboardNo2 = null;\r
-}this.viewport.setSelectionGroup (null);\r
-this.viewport.getColumnSelection ().clear ();\r
-this.viewport.setSelectionGroup (null);\r
-this.alignPanel.idPanel.idCanvas.searchResults = null;\r
-this.alignPanel.seqPanel.seqCanvas.highlightSearchResults (null);\r
-this.alignPanel.paintAlignment (true);\r
-jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
-this.viewport.sendSelection ();\r
-});\r
-Clazz.defineMethod (c$, "invertSequenceMenuItem_actionPerformed", \r
-function () {\r
-var sg = this.viewport.getSelectionGroup ();\r
-for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
-sg.addOrRemove (this.viewport.getAlignment ().getSequenceAt (i), false);\r
-}\r
-jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
-this.viewport.sendSelection ();\r
-});\r
-Clazz.defineMethod (c$, "invertColSel_actionPerformed", \r
-function () {\r
-this.viewport.invertColumnSelection ();\r
-this.alignPanel.paintAlignment (true);\r
-jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());\r
-this.viewport.sendSelection ();\r
-});\r
-Clazz.defineMethod (c$, "trimAlignment", \r
-function (trimLeft) {\r
-var colSel = this.viewport.getColumnSelection ();\r
-var column;\r
-if (colSel.size () > 0) {\r
-if (trimLeft) {\r
-column = colSel.getMin ();\r
-} else {\r
-column = colSel.getMax ();\r
-}var seqs;\r
-if (this.viewport.getSelectionGroup () != null) {\r
-seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());\r
-} else {\r
-seqs = this.viewport.getAlignment ().getSequencesArray ();\r
-}var trimRegion;\r
-if (trimLeft) {\r
-trimRegion =  new jalview.commands.TrimRegionCommand ("Remove Left", jalview.commands.TrimRegionCommand.TRIM_LEFT, seqs, column, this.viewport.getAlignment (), this.viewport.getColumnSelection (), this.viewport.getSelectionGroup ());\r
-this.viewport.setStartRes (0);\r
-} else {\r
-trimRegion =  new jalview.commands.TrimRegionCommand ("Remove Right", jalview.commands.TrimRegionCommand.TRIM_RIGHT, seqs, column, this.viewport.getAlignment (), this.viewport.getColumnSelection (), this.viewport.getSelectionGroup ());\r
-}this.setStatus (jalview.util.MessageManager.formatMessage ("label.removed_columns",  Clazz.newArray (-1, [Integer.$valueOf (trimRegion.getSize ()).toString ()])));\r
-this.addHistoryItem (trimRegion);\r
-for (var sg, $sg = this.viewport.getAlignment ().getGroups ().iterator (); $sg.hasNext () && ((sg = $sg.next ()) || true);) {\r
-if ((trimLeft && !sg.adjustForRemoveLeft (column)) || (!trimLeft && !sg.adjustForRemoveRight (column))) {\r
-this.viewport.getAlignment ().deleteGroup (sg);\r
-}}\r
-this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
-}}, "~B");\r
-Clazz.defineMethod (c$, "removeGappedColumnMenuItem_actionPerformed", \r
-function () {\r
-var start = 0;\r
-var end = this.viewport.getAlignment ().getWidth () - 1;\r
-var seqs;\r
-if (this.viewport.getSelectionGroup () != null) {\r
-seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());\r
-start = this.viewport.getSelectionGroup ().getStartRes ();\r
-end = this.viewport.getSelectionGroup ().getEndRes ();\r
-} else {\r
-seqs = this.viewport.getAlignment ().getSequencesArray ();\r
-}var removeGapCols =  new jalview.commands.RemoveGapColCommand ("Remove Gapped Columns", seqs, start, end, this.viewport.getAlignment ());\r
-this.addHistoryItem (removeGapCols);\r
-this.setStatus (jalview.util.MessageManager.formatMessage ("label.removed_empty_columns",  Clazz.newArray (-1, [Integer.$valueOf (removeGapCols.getSize ()).toString ()])));\r
-var seq = this.viewport.getAlignment ().getSequenceAt (0);\r
-var startRes = seq.findPosition (this.viewport.startRes);\r
-this.viewport.setStartRes (seq.findIndex (startRes) - 1);\r
-this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
-});\r
-Clazz.defineMethod (c$, "removeAllGapsMenuItem_actionPerformed", \r
-function () {\r
-var start = 0;\r
-var end = this.viewport.getAlignment ().getWidth () - 1;\r
-var seqs;\r
-if (this.viewport.getSelectionGroup () != null) {\r
-seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());\r
-start = this.viewport.getSelectionGroup ().getStartRes ();\r
-end = this.viewport.getSelectionGroup ().getEndRes ();\r
-} else {\r
-seqs = this.viewport.getAlignment ().getSequencesArray ();\r
-}var seq = this.viewport.getAlignment ().getSequenceAt (0);\r
-var startRes = seq.findPosition (this.viewport.startRes);\r
-this.addHistoryItem ( new jalview.commands.RemoveGapsCommand ("Remove Gaps", seqs, start, end, this.viewport.getAlignment ()));\r
-this.viewport.setStartRes (seq.findIndex (startRes) - 1);\r
-this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());\r
-});\r
-Clazz.defineMethod (c$, "findMenuItem_actionPerformed", \r
-function () {\r
- new jalview.appletgui.Finder (this.alignPanel);\r
-});\r
-Clazz.defineMethod (c$, "newView", \r
-function (viewtitle) {\r
-var newal;\r
-if (this.viewport.hasHiddenRows ()) {\r
-newal =  new jalview.datamodel.Alignment (this.viewport.getAlignment ().getHiddenSequences ().getFullAlignment ().getSequencesArray ());\r
-} else {\r
-newal =  new jalview.datamodel.Alignment (this.viewport.getAlignment ().getSequencesArray ());\r
-}if (this.viewport.getAlignment ().getAlignmentAnnotation () != null) {\r
-for (var i = 0; i < this.viewport.getAlignment ().getAlignmentAnnotation ().length; i++) {\r
-if (!this.viewport.getAlignment ().getAlignmentAnnotation ()[i].autoCalculated) {\r
-newal.addAnnotation (this.viewport.getAlignment ().getAlignmentAnnotation ()[i]);\r
-}}\r
-}var newaf =  new jalview.appletgui.AlignFrame (newal, this.viewport.applet, "", false);\r
-newaf.viewport.setSequenceSetId (this.alignPanel.av.getSequenceSetId ());\r
-jalview.appletgui.PaintRefresher.Register (this.alignPanel, this.alignPanel.av.getSequenceSetId ());\r
-jalview.appletgui.PaintRefresher.Register (newaf.alignPanel, newaf.alignPanel.av.getSequenceSetId ());\r
-jalview.appletgui.PaintRefresher.Register (newaf.alignPanel.idPanel.idCanvas, newaf.alignPanel.av.getSequenceSetId ());\r
-jalview.appletgui.PaintRefresher.Register (newaf.alignPanel.seqPanel.seqCanvas, newaf.alignPanel.av.getSequenceSetId ());\r
-var comps = jalview.appletgui.PaintRefresher.components.get (this.viewport.getSequenceSetId ());\r
-var viewSize = -1;\r
-for (var i = 0; i < comps.size (); i++) {\r
-if (Clazz.instanceOf (comps.elementAt (i), jalview.appletgui.AlignmentPanel)) {\r
-viewSize++;\r
-}}\r
-var title =  String.instantialize (this.getTitle ());\r
-if (viewtitle != null) {\r
-title = viewtitle + " ( " + title + ")";\r
-} else {\r
-if (title.indexOf ("(View") > -1) {\r
-title = title.substring (0, title.indexOf ("(View"));\r
-}title += "(View " + viewSize + ")";\r
-}newaf.setTitle (title.toString ());\r
-newaf.viewport.setHistoryList (this.viewport.getHistoryList ());\r
-newaf.viewport.setRedoList (this.viewport.getRedoList ());\r
-return newaf;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "getFeatureGroups", \r
-function () {\r
-var fr = null;\r
-if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {\r
-var gps = fr.getFeatureGroups ();\r
-var _gps = gps.toArray ( new Array (gps.size ()));\r
-return _gps;\r
-}return null;\r
-});\r
-Clazz.defineMethod (c$, "getFeatureGroupsOfState", \r
-function (visible) {\r
-var fr = null;\r
-if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {\r
-var gps = fr.getGroups (visible);\r
-var _gps = gps.toArray ( new Array (gps.size ()));\r
-return _gps;\r
-}return null;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "setFeatureGroupState", \r
-function (groups, state) {\r
-var fr = null;\r
-this.sequenceFeatures.setState (true);\r
-this.viewport.setShowSequenceFeatures (true);\r
-if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {\r
-fr.setGroupVisibility (java.util.Arrays.asList (groups), state);\r
-this.alignPanel.seqPanel.seqCanvas.repaint ();\r
-if (this.alignPanel.overviewPanel != null) {\r
-this.alignPanel.overviewPanel.updateOverviewImage ();\r
-}}}, "~A,~B");\r
-Clazz.defineMethod (c$, "seqLimits_itemStateChanged", \r
-function () {\r
-this.viewport.setShowJVSuffix (this.seqLimits.getState ());\r
-this.alignPanel.fontChanged ();\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "colourTextMenuItem_actionPerformed", \r
-function () {\r
-this.viewport.setColourText (this.colourTextMenuItem.getState ());\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "displayNonconservedMenuItem_actionPerformed", \r
-function () {\r
-this.viewport.setShowUnconserved (this.displayNonconservedMenuItem.getState ());\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "wrapMenuItem_actionPerformed", \r
-function () {\r
-this.viewport.setWrapAlignment (this.wrapMenuItem.getState ());\r
-this.alignPanel.setWrapAlignment (this.wrapMenuItem.getState ());\r
-this.scaleAbove.setEnabled (this.wrapMenuItem.getState ());\r
-this.scaleLeft.setEnabled (this.wrapMenuItem.getState ());\r
-this.scaleRight.setEnabled (this.wrapMenuItem.getState ());\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "overviewMenuItem_actionPerformed", \r
-function () {\r
-if (this.alignPanel.overviewPanel != null) {\r
-return;\r
-}var frame =  new awt2swing.Frame ();\r
-var overview =  new jalview.appletgui.OverviewPanel (this.alignPanel);\r
-frame.add (overview);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.overview_params",  Clazz.newArray (-1, [this.getTitle ()])), overview.getPreferredSize ().width, overview.getPreferredSize ().height + 50);\r
-frame.pack ();\r
-var ap = this.alignPanel;\r
-frame.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$1") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$1, this, Clazz.cloneFinals ("ap", ap))));\r
-this.alignPanel.setOverviewPanel (overview);\r
-});\r
-Clazz.overrideMethod (c$, "changeColour", \r
-function (cs) {\r
-var threshold = 0;\r
-if (cs != null) {\r
-if (this.viewport.getAbovePIDThreshold ()) {\r
-this.viewport.setThreshold (jalview.appletgui.SliderPanel.setPIDSliderSource (this.alignPanel, cs, "Background"));\r
-}if (this.viewport.getConservationSelected ()) {\r
-cs.setConservationApplied (true);\r
-this.viewport.setIncrement (jalview.appletgui.SliderPanel.setConservationSlider (this.alignPanel, cs, "Background"));\r
-} else {\r
-cs.setConservationApplied (false);\r
-}}this.viewport.setGlobalColourScheme (cs);\r
-if (this.alignPanel.getOverviewPanel () != null) {\r
-this.alignPanel.getOverviewPanel ().updateOverviewImage ();\r
-}jalview.structure.StructureSelectionManager.getStructureSelectionManager (this.viewport.applet).sequenceColoursChanged (this.alignPanel);\r
-this.alignPanel.paintAlignment (true);\r
-}, "jalview.schemes.ColourSchemeI");\r
-Clazz.defineMethod (c$, "modifyPID_actionPerformed", \r
-function () {\r
-if (this.viewport.getAbovePIDThreshold () && this.viewport.getGlobalColourScheme () != null) {\r
-jalview.appletgui.SliderPanel.setPIDSliderSource (this.alignPanel, this.viewport.getGlobalColourScheme (), "Background");\r
-jalview.appletgui.SliderPanel.showPIDSlider ();\r
-}});\r
-Clazz.defineMethod (c$, "modifyConservation_actionPerformed", \r
-function () {\r
-if (this.viewport.getConservationSelected () && this.viewport.getGlobalColourScheme () != null) {\r
-jalview.appletgui.SliderPanel.setConservationSlider (this.alignPanel, this.viewport.getGlobalColourScheme (), "Background");\r
-jalview.appletgui.SliderPanel.showConservationSlider ();\r
-}});\r
-Clazz.defineMethod (c$, "conservationMenuItem_actionPerformed", \r
-function () {\r
-this.viewport.setConservationSelected (this.conservationMenuItem.getState ());\r
-this.viewport.setAbovePIDThreshold (false);\r
-this.abovePIDThreshold.setState (false);\r
-this.changeColour (this.viewport.getGlobalColourScheme ());\r
-this.modifyConservation_actionPerformed ();\r
-});\r
-Clazz.defineMethod (c$, "abovePIDThreshold_actionPerformed", \r
-function () {\r
-this.viewport.setAbovePIDThreshold (this.abovePIDThreshold.getState ());\r
-this.conservationMenuItem.setState (false);\r
-this.viewport.setConservationSelected (false);\r
-this.changeColour (this.viewport.getGlobalColourScheme ());\r
-this.modifyPID_actionPerformed ();\r
-});\r
-Clazz.defineMethod (c$, "sortPairwiseMenuItem_actionPerformed", \r
-function () {\r
-var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
-jalview.analysis.AlignmentSorter.sortByPID (this.viewport.getAlignment (), this.viewport.getAlignment ().getSequenceAt (0), null);\r
-this.addHistoryItem ( new jalview.commands.OrderCommand ("Pairwise Sort", oldOrder, this.viewport.getAlignment ()));\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "sortIDMenuItem_actionPerformed", \r
-function () {\r
-var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
-jalview.analysis.AlignmentSorter.sortByID (this.viewport.getAlignment ());\r
-this.addHistoryItem ( new jalview.commands.OrderCommand ("ID Sort", oldOrder, this.viewport.getAlignment ()));\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "sortLengthMenuItem_actionPerformed", \r
-function () {\r
-var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
-jalview.analysis.AlignmentSorter.sortByLength (this.viewport.getAlignment ());\r
-this.addHistoryItem ( new jalview.commands.OrderCommand ("Length Sort", oldOrder, this.viewport.getAlignment ()));\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "sortGroupMenuItem_actionPerformed", \r
-function () {\r
-var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
-jalview.analysis.AlignmentSorter.sortByGroup (this.viewport.getAlignment ());\r
-this.addHistoryItem ( new jalview.commands.OrderCommand ("Group Sort", oldOrder, this.viewport.getAlignment ()));\r
-this.alignPanel.paintAlignment (true);\r
-});\r
-Clazz.defineMethod (c$, "removeRedundancyMenuItem_actionPerformed", \r
-function () {\r
- new jalview.appletgui.RedundancyPanel (this.alignPanel);\r
-});\r
-Clazz.defineMethod (c$, "pairwiseAlignmentMenuItem_actionPerformed", \r
-function () {\r
-if (this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () > 1) {\r
-var frame =  new awt2swing.Frame ();\r
-frame.add ( new jalview.appletgui.PairwiseAlignPanel (this.alignPanel));\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("action.pairwise_alignment"), 600, 500);\r
-}});\r
-Clazz.defineMethod (c$, "PCAMenuItem_actionPerformed", \r
-function () {\r
-if (!this.viewport.getAlignment ().isAligned (false)) {\r
-var current;\r
-var Width = this.viewport.getAlignment ().getWidth ();\r
-for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
-current = this.viewport.getAlignment ().getSequenceAt (i);\r
-if (current.getLength () < Width) {\r
-current.insertCharAt (Width - 1, this.viewport.getGapCharacter ());\r
-}}\r
-this.alignPanel.paintAlignment (true);\r
-}if ((this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () < 4 && this.viewport.getSelectionGroup ().getSize () > 0) || this.viewport.getAlignment ().getHeight () < 4) {\r
-return;\r
-}try {\r
- new jalview.appletgui.PCAPanel (this.viewport);\r
-} catch (ex) {\r
-if (Clazz.exceptionOf (ex, OutOfMemoryError)) {\r
-} else {\r
-throw ex;\r
-}\r
-}\r
-});\r
-Clazz.defineMethod (c$, "averageDistanceTreeMenuItem_actionPerformed", \r
-function () {\r
-this.NewTreePanel ("AV", "PID", "Average distance tree using PID");\r
-});\r
-Clazz.defineMethod (c$, "neighbourTreeMenuItem_actionPerformed", \r
-function () {\r
-this.NewTreePanel ("NJ", "PID", "Neighbour joining tree using PID");\r
-});\r
-Clazz.defineMethod (c$, "njTreeBlosumMenuItem_actionPerformed", \r
-function () {\r
-this.NewTreePanel ("NJ", "BL", "Neighbour joining tree using BLOSUM62");\r
-});\r
-Clazz.defineMethod (c$, "avTreeBlosumMenuItem_actionPerformed", \r
-function () {\r
-this.NewTreePanel ("AV", "BL", "Average distance tree using BLOSUM62");\r
-});\r
-Clazz.defineMethod (c$, "NewTreePanel", \r
-function (type, pwType, title) {\r
-if (!this.viewport.getAlignment ().isAligned (false)) {\r
-var current;\r
-var Width = this.viewport.getAlignment ().getWidth ();\r
-for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {\r
-current = this.viewport.getAlignment ().getSequenceAt (i);\r
-if (current.getLength () < Width) {\r
-current.insertCharAt (Width - 1, this.viewport.getGapCharacter ());\r
-}}\r
-this.alignPanel.paintAlignment (true);\r
-}if ((this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () > 1) || (this.viewport.getAlignment ().getHeight () > 1)) {\r
-var tp =  new jalview.appletgui.TreePanel (this.alignPanel, type, pwType);\r
-this.addTreeMenuItem (tp, title);\r
-jalview.bin.JalviewLite.addFrame (tp, title, 600, 500);\r
-}}, "~S,~S,~S");\r
-Clazz.defineMethod (c$, "loadTree_actionPerformed", \r
-function () {\r
-var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);\r
-cap.setText (jalview.util.MessageManager.getString ("label.paste_newick_tree_file"));\r
-cap.setTreeImport ();\r
-var frame =  new awt2swing.Frame ();\r
-frame.add (cap);\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.paste_newick_file"), 400, 300);\r
-});\r
-Clazz.defineMethod (c$, "loadTree", \r
-function (tree, treeFile) {\r
-var tp =  new jalview.appletgui.TreePanel (this.alignPanel, treeFile, jalview.util.MessageManager.getString ("label.load_tree_from_file"), tree);\r
-jalview.bin.JalviewLite.addFrame (tp, treeFile, 600, 500);\r
-this.addTreeMenuItem (tp, treeFile);\r
-}, "jalview.io.NewickFile,~S");\r
-Clazz.defineMethod (c$, "sortByTree", \r
-function (treePanel, title) {\r
-var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
-jalview.analysis.AlignmentSorter.sortByTree (this.viewport.getAlignment (), treePanel.getTree ());\r
-this.addHistoryItem ( new jalview.commands.OrderCommand (jalview.util.MessageManager.formatMessage ("label.order_by_params",  Clazz.newArray (-1, [title])), oldOrder, this.viewport.getAlignment ()));\r
-this.alignPanel.paintAlignment (true);\r
-}, "jalview.appletgui.TreePanel,~S");\r
-Clazz.defineMethod (c$, "addTreeMenuItem", \r
-function (treePanel, title) {\r
-var item =  new awt2swing.MenuItem (title);\r
-this.sortByTreeMenu.add (item);\r
-item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$2") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$2, this, Clazz.cloneFinals ("treePanel", treePanel, "title", title))));\r
-treePanel.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$3") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$3$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$3, this, Clazz.cloneFinals ("treePanel", treePanel, "title", title, "item", item))));\r
-}, "jalview.appletgui.TreePanel,~S");\r
-Clazz.defineMethod (c$, "sortBy", \r
-function (alorder, undoname) {\r
-var oldOrder = this.viewport.getAlignment ().getSequencesArray ();\r
-if ((this.viewport.applet, jalview.bin.JalviewLite).debug) {\r
-System.err.println ("Sorting " + alorder.getOrder ().size () + " in alignment '" + this.getTitle () + "'");\r
-}jalview.analysis.AlignmentSorter.sortBy (this.viewport.getAlignment (), alorder);\r
-if (undoname != null) {\r
-this.addHistoryItem ( new jalview.commands.OrderCommand (undoname, oldOrder, this.viewport.getAlignment ()));\r
-}this.alignPanel.paintAlignment (true);\r
-return true;\r
-}, "jalview.datamodel.AlignmentOrder,~S");\r
-Clazz.defineMethod (c$, "documentation_actionPerformed", \r
-function () {\r
-this.alignPanel.av.applet.openJalviewHelpUrl ();\r
-});\r
-Clazz.defineMethod (c$, "about_actionPerformed", \r
-function () {\r
-if (!Clazz.isClassDefined ("jalview.appletgui.AlignFrame$1AboutPanel")) {\r
-jalview.appletgui.AlignFrame.$AlignFrame$1AboutPanel$ ();\r
-}\r
-var frame =  new awt2swing.Frame ();\r
-frame.add (Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$1AboutPanel, this, null, jalview.bin.JalviewLite.getVersion (), jalview.bin.JalviewLite.getBuildDate ()));\r
-jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.jalview"), 580, 220);\r
-});\r
-Clazz.defineMethod (c$, "showURL", \r
-function (url, target) {\r
-if (this.viewport.applet == null) {\r
-System.out.println ("Not running as applet - no browser available.");\r
-} else {\r
-this.viewport.applet.showURL (url, target);\r
-}}, "~S,~S");\r
-Clazz.defineMethod (c$, "jbInit", \r
- function () {\r
-this.setMenuBar (this.alignFrameMenuBar);\r
-this.inputText.setLabel (jalview.util.MessageManager.getString ("label.input_from_textbox"));\r
-this.inputText.addActionListener (this);\r
-var outputTextboxMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("label.out_to_textbox"));\r
-for (var i = 0; i < jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS.length; i++) {\r
-var item =  new awt2swing.MenuItem (jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS[i]);\r
-item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$4") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$4$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$4, this, null)));\r
-outputTextboxMenu.add (item);\r
-}\r
-this.closeMenuItem.addActionListener (this);\r
-this.loadApplication.addActionListener (this);\r
-this.$loadTree.addActionListener (this);\r
-this.$loadAnnotations.addActionListener (this);\r
-this.$outputFeatures.addActionListener (this);\r
-this.$outputAnnotations.addActionListener (this);\r
-this.undoMenuItem.setEnabled (false);\r
-this.undoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.undo"));\r
-this.undoMenuItem.addActionListener (this);\r
-this.redoMenuItem.setEnabled (false);\r
-this.redoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.redo"));\r
-this.redoMenuItem.addActionListener (this);\r
-this.copy.setLabel (jalview.util.MessageManager.getString ("action.copy"));\r
-this.copy.addActionListener (this);\r
-this.cut.setLabel (jalview.util.MessageManager.getString ("action.cut"));\r
-this.cut.addActionListener (this);\r
-this.$delete.setLabel (jalview.util.MessageManager.getString ("action.delete"));\r
-this.$delete.addActionListener (this);\r
-this.pasteMenu.setLabel (jalview.util.MessageManager.getString ("action.paste"));\r
-this.pasteNew.setLabel (jalview.util.MessageManager.getString ("label.to_new_alignment"));\r
-this.pasteNew.addActionListener (this);\r
-this.pasteThis.setLabel (jalview.util.MessageManager.getString ("label.to_this_alignment"));\r
-this.pasteThis.addActionListener (this);\r
-this.remove2LeftMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_left"));\r
-this.remove2LeftMenuItem.addActionListener (this);\r
-this.remove2RightMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_right"));\r
-this.remove2RightMenuItem.addActionListener (this);\r
-this.removeGappedColumnMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_empty_columns"));\r
-this.removeGappedColumnMenuItem.addActionListener (this);\r
-this.removeAllGapsMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_all_gaps"));\r
-this.removeAllGapsMenuItem.addActionListener (this);\r
-this.removeRedundancyMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_redundancy").concat ("..."));\r
-this.removeRedundancyMenuItem.addActionListener (this);\r
-this.findMenuItem.setLabel (jalview.util.MessageManager.getString ("action.find"));\r
-this.findMenuItem.addActionListener (this);\r
-this.selectAllSequenceMenuItem.addActionListener (this);\r
-this.deselectAllSequenceMenuItem.addActionListener (this);\r
-this.invertSequenceMenuItem.setLabel (jalview.util.MessageManager.getString ("action.invert_sequence_selection"));\r
-this.invertSequenceMenuItem.addActionListener (this);\r
-this.invertColSel.setLabel (jalview.util.MessageManager.getString ("action.invert_column_selection"));\r
-this.invertColSel.addActionListener (this);\r
-this.deleteGroups.setLabel (jalview.util.MessageManager.getString ("action.undefine_groups"));\r
-this.deleteGroups.addActionListener (this);\r
-this.grpsFromSelection.setLabel (jalview.util.MessageManager.getString ("action.make_groups_selection"));\r
-this.grpsFromSelection.addActionListener (this);\r
-this.createGroup.setLabel (jalview.util.MessageManager.getString ("action.create_group"));\r
-this.unGroup.setLabel (jalview.util.MessageManager.getString ("action.remove_group"));\r
-this.annotationColumnSelection.setLabel ("Select by Annotation");\r
-this.annotationColumnSelection.addActionListener (this);\r
-this.$newView.setLabel (jalview.util.MessageManager.getString ("action.new_view"));\r
-this.$newView.addActionListener (this);\r
-var showMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.show"));\r
-this.showColumns.setLabel (jalview.util.MessageManager.getString ("label.all_columns"));\r
-this.showSeqs.setLabel (jalview.util.MessageManager.getString ("label.all_sequences"));\r
-var hideMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.hide"));\r
-this.hideColumns.setLabel (jalview.util.MessageManager.getString ("label.selected_columns"));\r
-this.hideSequences.setLabel (jalview.util.MessageManager.getString ("label.selected_sequences"));\r
-this.hideAllButSelection.setLabel (jalview.util.MessageManager.getString ("label.all_but_selected_region"));\r
-this.hideAllSelection.setLabel (jalview.util.MessageManager.getString ("label.selected_region"));\r
-this.showAllHidden.setLabel (jalview.util.MessageManager.getString ("label.all_sequences_columns"));\r
-this.showColumns.addActionListener (this);\r
-this.showSeqs.addActionListener (this);\r
-this.hideColumns.addActionListener (this);\r
-this.hideSequences.addActionListener (this);\r
-this.hideAllButSelection.addActionListener (this);\r
-this.hideAllSelection.addActionListener (this);\r
-this.showAllHidden.addActionListener (this);\r
-this.featureSettings.setLabel (jalview.util.MessageManager.getString ("label.feature_settings"));\r
-this.featureSettings.addActionListener (this);\r
-this.sequenceFeatures.setLabel (jalview.util.MessageManager.getString ("label.show_sequence_features"));\r
-this.sequenceFeatures.addItemListener (this);\r
-this.sequenceFeatures.setState (false);\r
-this.followMouseOverFlag.setLabel (jalview.util.MessageManager.getString ("label.automatic_scrolling"));\r
-this.followMouseOverFlag.addItemListener (this);\r
-this.alProperties.addActionListener (this);\r
-this.overviewMenuItem.setLabel (jalview.util.MessageManager.getString ("label.overview_window"));\r
-this.overviewMenuItem.addActionListener (this);\r
-this.annotationPanelMenuItem.setLabel (jalview.util.MessageManager.getString ("label.show_annotations"));\r
-this.annotationPanelMenuItem.addItemListener (this);\r
-this.showGroupConsensus.setLabel (jalview.util.MessageManager.getString ("label.group_consensus"));\r
-this.showGroupConservation.setLabel (jalview.util.MessageManager.getString ("label.group_conservation"));\r
-this.showConsensusHistogram.setLabel (jalview.util.MessageManager.getString ("label.show_consensus_histogram"));\r
-this.showSequenceLogo.setLabel (jalview.util.MessageManager.getString ("label.show_consensus_logo"));\r
-this.normSequenceLogo.setLabel (jalview.util.MessageManager.getString ("label.norm_consensus_logo"));\r
-this.applyAutoAnnotationSettings.setLabel (jalview.util.MessageManager.getString ("label.apply_all_groups"));\r
-this.applyAutoAnnotationSettings.setState (true);\r
-var autoAnnMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("label.autocalculated_annotation"));\r
-this.showGroupConsensus.addItemListener (this);\r
-this.showGroupConservation.addItemListener (this);\r
-this.showConsensusHistogram.addItemListener (this);\r
-this.showSequenceLogo.addItemListener (this);\r
-this.normSequenceLogo.addItemListener (this);\r
-this.applyAutoAnnotationSettings.addItemListener (this);\r
-this.showAlignmentAnnotations =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_all_al_annotations"));\r
-this.showSequenceAnnotations =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_all_seq_annotations"));\r
-this.sortAnnBySequence =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.sort_annotations_by_sequence"));\r
-this.sortAnnByLabel =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.sort_annotations_by_label"));\r
-this.showAutoFirst =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_first"));\r
-this.showAutoLast =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_last"));\r
-this.showAlignmentAnnotations.addItemListener (this);\r
-this.showSequenceAnnotations.addItemListener (this);\r
-this.sortAnnBySequence.addItemListener (this);\r
-this.sortAnnByLabel.addItemListener (this);\r
-this.showAutoFirst.addItemListener (this);\r
-this.showAutoLast.addItemListener (this);\r
-this.$font.setLabel (jalview.util.MessageManager.getString ("action.font"));\r
-this.$font.addActionListener (this);\r
-this.scaleAbove.setLabel (jalview.util.MessageManager.getString ("action.scale_above"));\r
-this.scaleAbove.setState (true);\r
-this.scaleAbove.setEnabled (false);\r
-this.scaleAbove.addItemListener (this);\r
-this.scaleLeft.setEnabled (false);\r
-this.scaleLeft.setState (true);\r
-this.scaleLeft.setLabel (jalview.util.MessageManager.getString ("action.scale_left"));\r
-this.scaleLeft.addItemListener (this);\r
-this.scaleRight.setEnabled (false);\r
-this.scaleRight.setState (true);\r
-this.scaleRight.setLabel (jalview.util.MessageManager.getString ("action.scale_right"));\r
-this.scaleRight.addItemListener (this);\r
-this.viewBoxesMenuItem.setLabel (jalview.util.MessageManager.getString ("action.boxes"));\r
-this.viewBoxesMenuItem.setState (true);\r
-this.viewBoxesMenuItem.addItemListener (this);\r
-this.viewTextMenuItem.setLabel (jalview.util.MessageManager.getString ("action.text"));\r
-this.viewTextMenuItem.setState (true);\r
-this.viewTextMenuItem.addItemListener (this);\r
-this.colourTextMenuItem.setLabel (jalview.util.MessageManager.getString ("label.colour_text"));\r
-this.colourTextMenuItem.addItemListener (this);\r
-this.displayNonconservedMenuItem.setLabel (jalview.util.MessageManager.getString ("label.show_non_conversed"));\r
-this.displayNonconservedMenuItem.addItemListener (this);\r
-this.wrapMenuItem.setLabel (jalview.util.MessageManager.getString ("action.wrap"));\r
-this.wrapMenuItem.addItemListener (this);\r
-this.renderGapsMenuItem.setLabel (jalview.util.MessageManager.getString ("action.show_gaps"));\r
-this.renderGapsMenuItem.setState (true);\r
-this.renderGapsMenuItem.addItemListener (this);\r
-this.centreColumnLabelFlag.setLabel (jalview.util.MessageManager.getString ("label.centre_column_labels"));\r
-this.centreColumnLabelFlag.addItemListener (this);\r
-this.seqLimits.setState (true);\r
-this.seqLimits.setLabel (jalview.util.MessageManager.getString ("label.show_sequence_limits"));\r
-this.seqLimits.addItemListener (this);\r
-this.applyToAllGroups.setLabel (jalview.util.MessageManager.getString ("label.apply_colour_to_all_groups"));\r
-this.applyToAllGroups.setState (true);\r
-this.applyToAllGroups.addItemListener (this);\r
-this.clustalColour.setLabel (jalview.util.MessageManager.getString ("label.clustalx"));\r
-this.clustalColour.addActionListener (this);\r
-this.zappoColour.setLabel (jalview.util.MessageManager.getString ("label.zappo"));\r
-this.zappoColour.addActionListener (this);\r
-this.taylorColour.setLabel (jalview.util.MessageManager.getString ("label.taylor"));\r
-this.taylorColour.addActionListener (this);\r
-this.hydrophobicityColour.setLabel (jalview.util.MessageManager.getString ("label.hydrophobicity"));\r
-this.hydrophobicityColour.addActionListener (this);\r
-this.helixColour.setLabel (jalview.util.MessageManager.getString ("label.helix_propensity"));\r
-this.helixColour.addActionListener (this);\r
-this.strandColour.setLabel (jalview.util.MessageManager.getString ("label.strand_propensity"));\r
-this.strandColour.addActionListener (this);\r
-this.turnColour.setLabel (jalview.util.MessageManager.getString ("label.turn_propensity"));\r
-this.turnColour.addActionListener (this);\r
-this.buriedColour.setLabel (jalview.util.MessageManager.getString ("label.buried_index"));\r
-this.buriedColour.addActionListener (this);\r
-this.purinePyrimidineColour.setLabel (jalview.util.MessageManager.getString ("label.purine_pyrimidine"));\r
-this.purinePyrimidineColour.addActionListener (this);\r
-this.RNAInteractionColour.setLabel (jalview.util.MessageManager.getString ("label.rna_interaction"));\r
-this.RNAInteractionColour.addActionListener (this);\r
-this.RNAHelixColour.setLabel (jalview.util.MessageManager.getString ("action.by_rna_helixes"));\r
-this.RNAHelixColour.addActionListener (this);\r
-this.userDefinedColour.setLabel (jalview.util.MessageManager.getString ("action.user_defined"));\r
-this.userDefinedColour.addActionListener (this);\r
-this.PIDColour.setLabel (jalview.util.MessageManager.getString ("label.percentage_identity"));\r
-this.PIDColour.addActionListener (this);\r
-this.BLOSUM62Colour.setLabel (jalview.util.MessageManager.getString ("label.blosum62_score"));\r
-this.BLOSUM62Colour.addActionListener (this);\r
-this.tcoffeeColour.setLabel (jalview.util.MessageManager.getString ("label.tcoffee_scores"));\r
-this.tcoffeeColour.setEnabled (false);\r
-this.tcoffeeColour.addActionListener (this);\r
-this.conservationMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_conservation"));\r
-this.conservationMenuItem.addItemListener (this);\r
-this.noColourmenuItem.setLabel (jalview.util.MessageManager.getString ("label.none"));\r
-this.noColourmenuItem.addActionListener (this);\r
-this.abovePIDThreshold.setLabel (jalview.util.MessageManager.getString ("label.above_identity_threshold"));\r
-this.abovePIDThreshold.addItemListener (this);\r
-this.nucleotideColour.setLabel (jalview.util.MessageManager.getString ("label.nucleotide"));\r
-this.nucleotideColour.addActionListener (this);\r
-this.modifyPID.setLabel (jalview.util.MessageManager.getString ("label.modify_identity_thereshold"));\r
-this.modifyPID.addActionListener (this);\r
-this.modifyConservation.setLabel (jalview.util.MessageManager.getString ("label.modify_conservation_thereshold"));\r
-this.modifyConservation.addActionListener (this);\r
-this.annotationColour.setLabel (jalview.util.MessageManager.getString ("action.by_annotation"));\r
-this.annotationColour.addActionListener (this);\r
-this.sortPairwiseMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_pairwise_id"));\r
-this.sortPairwiseMenuItem.addActionListener (this);\r
-this.sortIDMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_id"));\r
-this.sortIDMenuItem.addActionListener (this);\r
-this.sortLengthMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_length"));\r
-this.sortLengthMenuItem.addActionListener (this);\r
-this.sortGroupMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_group"));\r
-this.sortGroupMenuItem.addActionListener (this);\r
-this.pairwiseAlignmentMenuItem.setLabel (jalview.util.MessageManager.getString ("action.pairwise_alignment"));\r
-this.pairwiseAlignmentMenuItem.addActionListener (this);\r
-this.PCAMenuItem.setLabel (jalview.util.MessageManager.getString ("label.principal_component_analysis"));\r
-this.PCAMenuItem.addActionListener (this);\r
-this.autoCalculate =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.autocalculate_consensus"), true);\r
-this.averageDistanceTreeMenuItem.setLabel (jalview.util.MessageManager.getString ("label.average_distance_identity"));\r
-this.averageDistanceTreeMenuItem.addActionListener (this);\r
-this.neighbourTreeMenuItem.setLabel (jalview.util.MessageManager.getString ("label.neighbour_joining_identity"));\r
-this.neighbourTreeMenuItem.addActionListener (this);\r
-this.avDistanceTreeBlosumMenuItem.setLabel (jalview.util.MessageManager.getString ("label.average_distance_bloslum62"));\r
-this.avDistanceTreeBlosumMenuItem.addActionListener (this);\r
-this.njTreeBlosumMenuItem.setLabel (jalview.util.MessageManager.getString ("label.neighbour_blosum62"));\r
-this.njTreeBlosumMenuItem.addActionListener (this);\r
-this.sortByTreeMenu.setLabel (jalview.util.MessageManager.getString ("action.by_tree_order"));\r
-var sortMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.sort"));\r
-var calculateTreeMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.calculate_tree"));\r
-this.autoCalculate.addItemListener (this);\r
-this.$sortByTree.addItemListener (this);\r
-var helpMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.help"));\r
-this.documentation.setLabel (jalview.util.MessageManager.getString ("label.documentation"));\r
-this.documentation.addActionListener (this);\r
-this.about.setLabel (jalview.util.MessageManager.getString ("label.about"));\r
-this.about.addActionListener (this);\r
-this.alignFrameMenuBar.add (this.fileMenu);\r
-var editMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.edit"));\r
-this.alignFrameMenuBar.add (editMenu);\r
-var selectMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.select"));\r
-this.alignFrameMenuBar.add (selectMenu);\r
-var viewMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.view"));\r
-this.alignFrameMenuBar.add (viewMenu);\r
-var annotationsMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.annotations"));\r
-this.alignFrameMenuBar.add (annotationsMenu);\r
-var formatMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.format"));\r
-this.alignFrameMenuBar.add (formatMenu);\r
-var colourMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.colour"));\r
-this.alignFrameMenuBar.add (colourMenu);\r
-var calculateMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.calculate"));\r
-this.alignFrameMenuBar.add (calculateMenu);\r
-this.alignFrameMenuBar.add (helpMenu);\r
-this.fileMenu.add (this.inputText);\r
-this.fileMenu.add (this.$loadTree);\r
-this.fileMenu.add (this.$loadAnnotations);\r
-this.fileMenu.addSeparator ();\r
-this.fileMenu.add (outputTextboxMenu);\r
-this.fileMenu.add (this.$outputFeatures);\r
-this.fileMenu.add (this.$outputAnnotations);\r
-if (this.jalviewServletURL != null) {\r
-this.fileMenu.add (this.loadApplication);\r
-}this.fileMenu.addSeparator ();\r
-this.fileMenu.add (this.closeMenuItem);\r
-editMenu.add (this.undoMenuItem);\r
-editMenu.add (this.redoMenuItem);\r
-editMenu.add (this.cut);\r
-editMenu.add (this.copy);\r
-this.pasteMenu.add (this.pasteNew);\r
-this.pasteMenu.add (this.pasteThis);\r
-editMenu.add (this.pasteMenu);\r
-editMenu.add (this.$delete);\r
-editMenu.addSeparator ();\r
-editMenu.add (this.remove2LeftMenuItem);\r
-editMenu.add (this.remove2RightMenuItem);\r
-editMenu.add (this.removeGappedColumnMenuItem);\r
-editMenu.add (this.removeAllGapsMenuItem);\r
-editMenu.add (this.removeRedundancyMenuItem);\r
-selectMenu.add (this.findMenuItem);\r
-selectMenu.addSeparator ();\r
-selectMenu.add (this.selectAllSequenceMenuItem);\r
-selectMenu.add (this.deselectAllSequenceMenuItem);\r
-selectMenu.add (this.invertSequenceMenuItem);\r
-selectMenu.add (this.invertColSel);\r
-selectMenu.add (this.createGroup);\r
-selectMenu.add (this.unGroup);\r
-selectMenu.add (this.grpsFromSelection);\r
-selectMenu.add (this.deleteGroups);\r
-selectMenu.add (this.annotationColumnSelection);\r
-viewMenu.add (this.$newView);\r
-viewMenu.addSeparator ();\r
-showMenu.add (this.showColumns);\r
-showMenu.add (this.showSeqs);\r
-showMenu.add (this.showAllHidden);\r
-viewMenu.add (showMenu);\r
-hideMenu.add (this.hideColumns);\r
-hideMenu.add (this.hideSequences);\r
-hideMenu.add (this.hideAllSelection);\r
-hideMenu.add (this.hideAllButSelection);\r
-viewMenu.add (hideMenu);\r
-viewMenu.addSeparator ();\r
-viewMenu.add (this.followMouseOverFlag);\r
-viewMenu.addSeparator ();\r
-viewMenu.add (this.sequenceFeatures);\r
-viewMenu.add (this.featureSettings);\r
-viewMenu.addSeparator ();\r
-viewMenu.add (this.alProperties);\r
-viewMenu.addSeparator ();\r
-viewMenu.add (this.overviewMenuItem);\r
-annotationsMenu.add (this.annotationPanelMenuItem);\r
-annotationsMenu.addSeparator ();\r
-annotationsMenu.add (this.showAlignmentAnnotations);\r
-annotationsMenu.add (this.showSequenceAnnotations);\r
-annotationsMenu.add (this.sortAnnBySequence);\r
-annotationsMenu.add (this.sortAnnByLabel);\r
-annotationsMenu.addSeparator ();\r
-autoAnnMenu.add (this.showAutoFirst);\r
-autoAnnMenu.add (this.showAutoLast);\r
-autoAnnMenu.addSeparator ();\r
-autoAnnMenu.add (this.applyAutoAnnotationSettings);\r
-autoAnnMenu.add (this.showConsensusHistogram);\r
-autoAnnMenu.add (this.showSequenceLogo);\r
-autoAnnMenu.add (this.normSequenceLogo);\r
-autoAnnMenu.addSeparator ();\r
-autoAnnMenu.add (this.showGroupConservation);\r
-autoAnnMenu.add (this.showGroupConsensus);\r
-annotationsMenu.add (autoAnnMenu);\r
-formatMenu.add (this.$font);\r
-formatMenu.add (this.seqLimits);\r
-formatMenu.add (this.wrapMenuItem);\r
-formatMenu.add (this.scaleAbove);\r
-formatMenu.add (this.scaleLeft);\r
-formatMenu.add (this.scaleRight);\r
-formatMenu.add (this.viewBoxesMenuItem);\r
-formatMenu.add (this.viewTextMenuItem);\r
-formatMenu.add (this.colourTextMenuItem);\r
-formatMenu.add (this.displayNonconservedMenuItem);\r
-formatMenu.add (this.renderGapsMenuItem);\r
-formatMenu.add (this.centreColumnLabelFlag);\r
-colourMenu.add (this.applyToAllGroups);\r
-colourMenu.addSeparator ();\r
-colourMenu.add (this.noColourmenuItem);\r
-colourMenu.add (this.clustalColour);\r
-colourMenu.add (this.BLOSUM62Colour);\r
-colourMenu.add (this.PIDColour);\r
-colourMenu.add (this.zappoColour);\r
-colourMenu.add (this.taylorColour);\r
-colourMenu.add (this.hydrophobicityColour);\r
-colourMenu.add (this.helixColour);\r
-colourMenu.add (this.strandColour);\r
-colourMenu.add (this.turnColour);\r
-colourMenu.add (this.buriedColour);\r
-colourMenu.add (this.nucleotideColour);\r
-colourMenu.add (this.purinePyrimidineColour);\r
-colourMenu.add (this.tcoffeeColour);\r
-colourMenu.add (this.userDefinedColour);\r
-colourMenu.addSeparator ();\r
-colourMenu.add (this.conservationMenuItem);\r
-colourMenu.add (this.modifyConservation);\r
-colourMenu.add (this.abovePIDThreshold);\r
-colourMenu.add (this.modifyPID);\r
-colourMenu.add (this.annotationColour);\r
-colourMenu.add (this.RNAHelixColour);\r
-sortMenu.add (this.sortIDMenuItem);\r
-sortMenu.add (this.sortLengthMenuItem);\r
-sortMenu.add (this.sortByTreeMenu);\r
-sortMenu.add (this.sortGroupMenuItem);\r
-sortMenu.add (this.sortPairwiseMenuItem);\r
-calculateMenu.add (sortMenu);\r
-calculateTreeMenu.add (this.averageDistanceTreeMenuItem);\r
-calculateTreeMenu.add (this.neighbourTreeMenuItem);\r
-calculateTreeMenu.add (this.avDistanceTreeBlosumMenuItem);\r
-calculateTreeMenu.add (this.njTreeBlosumMenuItem);\r
-calculateMenu.add (calculateTreeMenu);\r
-calculateMenu.addSeparator ();\r
-calculateMenu.add (this.pairwiseAlignmentMenuItem);\r
-calculateMenu.add (this.PCAMenuItem);\r
-calculateMenu.add (this.autoCalculate);\r
-calculateMenu.add (this.$sortByTree);\r
-helpMenu.add (this.documentation);\r
-helpMenu.add (this.about);\r
-this.statusBar.setBackground (java.awt.Color.white);\r
-this.statusBar.setFont ( new java.awt.Font ("Verdana", 0, 11));\r
-this.setStatus (jalview.util.MessageManager.getString ("label.status_bar"));\r
-this.add (this.statusBar, "South");\r
-});\r
-Clazz.overrideMethod (c$, "setStatus", \r
-function (string) {\r
-this.statusBar.setText (string);\r
-}, "~S");\r
-Clazz.defineMethod (c$, "createAlignFrameWindow", \r
-function (reallyEmbedded) {\r
-if (reallyEmbedded) {\r
-this.embedAlignFrameInApplet (this.viewport.applet);\r
-} else {\r
-if (this.embedMenuIfNeeded (this.alignPanel)) {\r
-this.alignPanel.setSize (this.getSize ().width, this.getSize ().height - this.statusBar.getHeight ());\r
-}this.add (this.statusBar, "South");\r
-this.add (this.alignPanel, "Center");\r
-jalview.bin.JalviewLite.addFrame (this, this.getTitle (), this.frameWidth, this.frameHeight);\r
-}}, "~B");\r
-Clazz.defineMethod (c$, "embedAlignFrameInApplet", \r
-function (theApplet) {\r
-this.fileMenu.remove (this.closeMenuItem);\r
-this.fileMenu.remove (3);\r
-this.embeddedMenu = this.makeEmbeddedPopupMenu (this.alignFrameMenuBar, false, false);\r
-theApplet.setLayout ( new java.awt.BorderLayout ());\r
-theApplet.add (this.embeddedMenu, "North");\r
-theApplet.add (this.statusBar, "South");\r
-this.alignPanel.setSize (theApplet.getSize ().width, theApplet.getSize ().height - this.embeddedMenu.getHeight () - this.statusBar.getHeight ());\r
-theApplet.add (this.alignPanel, "Center");\r
-var me = this;\r
-theApplet.addFocusListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$5") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$5$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$5, this, Clazz.cloneFinals ("theApplet", theApplet, "me", me))));\r
-theApplet.validate ();\r
-}, "jalview.bin.JalviewLite");\r
-Clazz.defineMethod (c$, "addStructureViewInstance", \r
-function (jmolviewer, sequenceIds) {\r
-return null;\r
-}, "~O,~A");\r
-Clazz.defineMethod (c$, "addPdbFile", \r
-function (sequenceId, pdbEntryString, pdbFile) {\r
-var toaddpdb = this.viewport.getAlignment ().findName (sequenceId);\r
-var needtoadd = false;\r
-if (toaddpdb != null) {\r
-var pdbe = toaddpdb.getPDBId ();\r
-var pdbentry = null;\r
-if (pdbe != null && pdbe.size () > 0) {\r
-for (var pe = 0, peSize = pdbe.size (); pe < peSize; pe++) {\r
-pdbentry = pdbe.elementAt (pe);\r
-if (!pdbentry.getId ().equals (pdbEntryString) && !pdbentry.getFile ().equals (pdbFile)) {\r
-pdbentry = null;\r
-} else {\r
-continue;\r
-}}\r
-}if (pdbentry == null) {\r
-pdbentry =  new jalview.datamodel.PDBEntry ();\r
-pdbentry.setId (pdbEntryString);\r
-pdbentry.setFile (pdbFile);\r
-needtoadd = true;\r
-}var protocol = jalview.io.AppletFormatAdapter.resolveProtocol (pdbFile, "PDB");\r
-if (protocol == null) {\r
-return false;\r
-}if (needtoadd) {\r
-if (pdbentry.getProperty () == null) {\r
-pdbentry.setProperty ( new java.util.Hashtable ());\r
-}pdbentry.getProperty ().put ("protocol", protocol);\r
-toaddpdb.addPDBId (pdbentry);\r
-this.alignPanel.getStructureSelectionManager ().registerPDBEntry (pdbentry);\r
-}}return true;\r
-}, "~S,~S,~S");\r
-Clazz.defineMethod (c$, "cleanSeqChainArrays", \r
- function (seqs, chains) {\r
-if (seqs != null) {\r
-var sequences =  new java.util.Vector ();\r
-for (var i = 0; i < seqs.length; i++) {\r
-if (seqs[i] != null) {\r
-sequences.addElement ( Clazz.newArray (-1, [seqs[i], (chains != null) ? chains[i] : null]));\r
-}}\r
-seqs =  new Array (sequences.size ());\r
-chains =  new Array (sequences.size ());\r
-for (var i = 0, isize = sequences.size (); i < isize; i++) {\r
-var oj = sequences.elementAt (i);\r
-seqs[i] = oj[0];\r
-chains[i] = oj[1];\r
-}\r
-}return  Clazz.newArray (-1, [seqs, chains]);\r
-}, "~A,~A");\r
-Clazz.defineMethod (c$, "newStructureView", \r
-function (applet, pdb, seqs, chains, protocol) {\r
-var sqch = this.cleanSeqChainArrays (seqs, chains);\r
-seqs = sqch[0];\r
-chains = sqch[1];\r
-if (seqs == null || seqs.length == 0) {\r
-System.err.println ("JalviewLite.AlignFrame:newStructureView: No sequence to bind structure to.");\r
-}if (protocol == null || protocol.trim ().length == 0 || protocol.equals ("null")) {\r
-protocol = pdb.getProperty ().get ("protocol");\r
-if (protocol == null) {\r
-System.err.println ("Couldn't work out protocol to open structure: " + pdb.getId ());\r
-return;\r
-}}if (applet.useXtrnalSviewer) {\r
-if (jalview.structure.StructureSelectionManager.getStructureSelectionManager (applet).setMapping (seqs, chains, pdb.getFile (), protocol) == null) {\r
-System.err.println ("Failed to map " + pdb.getFile () + " (" + protocol + ") to any sequences");\r
-}return;\r
-}if (applet.isAlignPdbStructures () && applet.jmolAvailable) {\r
-var ajm = null;\r
-var tajm;\r
-var jmols = applet.getAppletWindow (jalview.appletgui.AppletJmol);\r
-for (var i = 0, iSize = jmols.size (); i < iSize; i++) {\r
-tajm = jmols.elementAt (i);\r
-if (tajm.ap.alignFrame === this) {\r
-ajm = tajm;\r
-break;\r
-}}\r
-if (ajm != null) {\r
-System.err.println ("Incremental adding and aligning structure to existing Jmol view not yet implemented.");\r
-ajm = null;\r
-}} new jalview.appletgui.AppletJmol (pdb, seqs, chains, this.alignPanel, protocol);\r
-jalview.bin.JalviewLite.lastFrameX += 40;\r
-jalview.bin.JalviewLite.lastFrameY += 40;\r
-}, "jalview.bin.JalviewLite,jalview.datamodel.PDBEntry,~A,~A,~S");\r
-Clazz.defineMethod (c$, "alignedStructureView", \r
-function (applet, pdb, seqs, chains, protocols) {\r
-System.err.println ("Aligned Structure View: Not yet implemented.");\r
-}, "jalview.bin.JalviewLite,~A,~A,~A,~A");\r
-Clazz.defineMethod (c$, "select", \r
-function (sel, csel) {\r
-this.alignPanel.seqPanel.selection (sel, csel, null);\r
-}, "jalview.datamodel.SequenceGroup,jalview.datamodel.ColumnSelection");\r
-Clazz.defineMethod (c$, "scrollTo", \r
-function (row, column) {\r
-this.alignPanel.seqPanel.scrollTo (row, column);\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "scrollToRow", \r
-function (row) {\r
-this.alignPanel.seqPanel.scrollToRow (row);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "scrollToColumn", \r
-function (column) {\r
-this.alignPanel.seqPanel.scrollToColumn (column);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getSequenceSetId", \r
-function () {\r
-return this.viewport.getSequenceSetId ();\r
-});\r
-Clazz.defineMethod (c$, "loadScoreFile", \r
-function (inFile) {\r
-var file = jalview.jsdev.GenericFileAdapter.getFile ("TCoffeeScoreFile", [inFile, jalview.io.AppletFormatAdapter.checkProtocol (inFile)]);\r
-if (!file.isValid ()) {\r
-System.err.println ("Problems parsing T-Coffee scores: " + file.getWarningMessage ());\r
-System.err.println ("Origin was:\n" + inFile);\r
-return false;\r
-}var aln;\r
-if ((aln = this.viewport.getAlignment ()) != null && (aln.getHeight () != file.getHeight () || aln.getWidth () != file.getWidth ())) {\r
-System.err.println ("The scores matrix does not match the alignment dimensions");\r
-}if (file.annotateAlignment (this.alignPanel.getAlignment (), false)) {\r
-this.alignPanel.fontChanged ();\r
-this.tcoffeeColour.setEnabled (true);\r
-this.changeColour ( new jalview.schemes.TCoffeeColourScheme (this.alignPanel.getAlignment ()));\r
-return true;\r
-} else {\r
-System.err.println ("Problems resolving T-Coffee scores:");\r
-if (file.getWarningMessage () != null) {\r
-System.err.println (file.getWarningMessage ());\r
-}}return false;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "getSplitFrame", \r
-function () {\r
-return this.splitFrame;\r
-});\r
-Clazz.defineMethod (c$, "setSplitFrame", \r
-function (sf) {\r
-this.splitFrame = sf;\r
-}, "jalview.appletgui.SplitFrame");\r
-Clazz.overrideMethod (c$, "setShowSeqFeatures", \r
-function (b) {\r
-this.viewport.setShowSequenceFeatures (b);\r
-}, "~B");\r
-Clazz.overrideMethod (c$, "setMenusForViewport", \r
-function () {\r
-});\r
-Clazz.overrideMethod (c$, "refreshFeatureUI", \r
-function (enableIfNecessary) {\r
-if (enableIfNecessary) {\r
-this.sequenceFeatures.setState (true);\r
-this.alignPanel.av.setShowSequenceFeatures (true);\r
-}}, "~B");\r
-Clazz.overrideMethod (c$, "getFeatureSettingsUI", \r
-function () {\r
-return this.alignPanel.av.featureSettings;\r
-});\r
-c$.$AlignFrame$1$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$1", java.awt.event.WindowAdapter);\r
-Clazz.overrideMethod (c$, "windowClosing", \r
-function (e) {\r
-if (this.f$.ap != null) {\r
-this.f$.ap.setOverviewPanel (null);\r
-}}, "java.awt.event.WindowEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$AlignFrame$2$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$2", null, java.awt.event.ActionListener);\r
-Clazz.overrideMethod (c$, "actionPerformed", \r
-function (evt) {\r
-this.b$["jalview.appletgui.AlignFrame"].sortByTree (this.f$.treePanel, this.f$.title);\r
-}, "java.awt.event.ActionEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$AlignFrame$3$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$3", java.awt.event.WindowAdapter);\r
-Clazz.defineMethod (c$, "windowOpened", \r
-function (e) {\r
-if (this.b$["jalview.appletgui.AlignFrame"].viewport.sortByTree) {\r
-this.b$["jalview.appletgui.AlignFrame"].sortByTree (this.f$.treePanel, this.f$.title);\r
-}Clazz.superCall (this, jalview.appletgui.AlignFrame$3, "windowOpened", [e]);\r
-}, "java.awt.event.WindowEvent");\r
-Clazz.overrideMethod (c$, "windowClosing", \r
-function (e) {\r
-this.b$["jalview.appletgui.AlignFrame"].sortByTreeMenu.remove (this.f$.item);\r
-}, "java.awt.event.WindowEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$AlignFrame$1AboutPanel$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.version = null;\r
-this.builddate = null;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.appletgui, "AlignFrame$1AboutPanel", awt2swing.Canvas);\r
-Clazz.makeConstructor (c$, \r
-function (a, b) {\r
-Clazz.superConstructor (this, jalview.appletgui.AlignFrame$1AboutPanel, []);\r
-this.version = a;\r
-this.builddate = b;\r
-}, "~S,~S");\r
-Clazz.overrideMethod (c$, "paintComponent", \r
-function (a) {\r
-a.setColor (java.awt.Color.white);\r
-a.fillRect (0, 0, this.getSize ().width, this.getSize ().height);\r
-a.setFont ( new java.awt.Font ("Helvetica", 0, 12));\r
-var b = a.getFontMetrics ();\r
-var c = b.getHeight ();\r
-var d = 5;\r
-var e = 7;\r
-a.setColor (java.awt.Color.black);\r
-a.setFont ( new java.awt.Font ("Helvetica", 1, 14));\r
-a.drawString (jalview.util.MessageManager.formatMessage ("label.jalviewLite_release",  Clazz.newArray (-1, [this.version])), e, d += c);\r
-a.setFont ( new java.awt.Font ("Helvetica", 1, 12));\r
-a.drawString (jalview.util.MessageManager.formatMessage ("label.jaview_build_date",  Clazz.newArray (-1, [this.builddate])), e, d += c);\r
-a.setFont ( new java.awt.Font ("Helvetica", 0, 12));\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_authors_1"), e, d += c * 1.5);\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_authors_2"), e + 50, d += c + 8);\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_dev_managers"), e, d += c);\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_distribution_lists"), e, d += c);\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_please_cite"), e, d += c + 8);\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_authors"), e, d += c);\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_title"), e, d += c);\r
-a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_ref"), e, d += c);\r
-}, "java.awt.Graphics");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$AlignFrame$4$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$4", null, java.awt.event.ActionListener);\r
-Clazz.overrideMethod (c$, "actionPerformed", \r
-function (e) {\r
-this.b$["jalview.appletgui.AlignFrame"].outputText_actionPerformed (e);\r
-}, "java.awt.event.ActionEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$AlignFrame$5$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$5", null, java.awt.event.FocusListener);\r
-Clazz.overrideMethod (c$, "focusLost", \r
-function (e) {\r
-if (this.f$.theApplet.currentAlignFrame === this.f$.me) {\r
-this.f$.theApplet.currentAlignFrame = null;\r
-}}, "java.awt.event.FocusEvent");\r
-Clazz.overrideMethod (c$, "focusGained", \r
-function (e) {\r
-this.f$.theApplet.currentAlignFrame = this.f$.me;\r
-}, "java.awt.event.FocusEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-Clazz.defineStatics (c$,\r
-"copiedSequences", null,\r
-"copiedHiddenColumns", null);\r
-});\r
+Clazz.declarePackage ("jalview.appletgui");
+Clazz.load (["awt2swing.Canvas", "jalview.api.AlignViewControllerGuiI", "jalview.appletgui.EmbmenuFrame", "java.awt.event.ActionListener", "$.ItemListener", "$.KeyListener", "awt2swing.CheckboxMenuItem", "$.Label", "$.Menu", "$.MenuBar", "$.MenuItem", "jalview.util.MessageManager", "java.awt.BorderLayout"], "jalview.appletgui.AlignFrame", ["awt2swing.Frame", "jalview.analysis.AlignmentSorter", "$.AnnotationSorter", "jalview.appletgui.AlignViewport", "$.AlignmentPanel", "$.AnnotationColourChooser", "$.AnnotationColumnChooser", "$.AppletJmol", "$.CutAndPasteTransfer", "$.FeatureSettings", "$.Finder", "$.FontChooser", "$.OverviewPanel", "$.PCAPanel", "$.PaintRefresher", "$.PairwiseAlignPanel", "$.RedundancyPanel", "$.SliderPanel", "$.TreePanel", "$.UserDefinedColours", "jalview.bin.JalviewLite", "jalview.commands.EditCommand", "$.OrderCommand", "$.RemoveGapColCommand", "$.RemoveGapsCommand", "$.SlideSequencesCommand", "$.TrimRegionCommand", "jalview.controller.AlignViewController", "jalview.datamodel.Alignment", "$.PDBEntry", "$.Sequence", "$.SequenceGroup", "jalview.io.AlignmentProperties", "$.AnnotationFile", "$.AppletFormatAdapter", "$.FeaturesFile", "jalview.jsdev.GenericFileAdapter", "jalview.schemes.Blosum62ColourScheme", "$.BuriedColourScheme", "$.ClustalxColourScheme", "$.HelixColourScheme", "$.HydrophobicColourScheme", "$.NucleotideColourScheme", "$.PIDColourScheme", "$.PurinePyrimidineColourScheme", "$.RNAHelicesColourChooser", "$.RNAInteractionColourScheme", "$.StrandColourScheme", "$.TCoffeeColourScheme", "$.TaylorColourScheme", "$.TurnColourScheme", "$.ZappoColourScheme", "jalview.structure.StructureSelectionManager", "jalview.util.Comparison", "$.MappingUtils", "java.awt.Color", "$.Font", "java.awt.event.FocusListener", "$.WindowAdapter", "java.lang.Character", "$.StringBuffer", "java.net.URL", "$.URLEncoder", "java.util.Arrays", "$.HashMap", "$.Hashtable", "$.StringTokenizer", "$.Vector"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.avc = null;
+this.alignPanel = null;
+this.viewport = null;
+this.frameWidth = 700;
+this.frameHeight = 500;
+this.jalviewServletURL = null;
+this.showAutoCalculatedAbove = false;
+this.annotationSortOrder = null;
+this.alignFrameMenuBar = null;
+this.fileMenu = null;
+this.loadApplication = null;
+this.$loadTree = null;
+this.$loadAnnotations = null;
+this.$outputFeatures = null;
+this.$outputAnnotations = null;
+this.closeMenuItem = null;
+this.selectAllSequenceMenuItem = null;
+this.deselectAllSequenceMenuItem = null;
+this.invertSequenceMenuItem = null;
+this.remove2LeftMenuItem = null;
+this.remove2RightMenuItem = null;
+this.removeGappedColumnMenuItem = null;
+this.removeAllGapsMenuItem = null;
+this.viewBoxesMenuItem = null;
+this.viewTextMenuItem = null;
+this.sortPairwiseMenuItem = null;
+this.sortIDMenuItem = null;
+this.sortLengthMenuItem = null;
+this.sortGroupMenuItem = null;
+this.removeRedundancyMenuItem = null;
+this.pairwiseAlignmentMenuItem = null;
+this.PCAMenuItem = null;
+this.averageDistanceTreeMenuItem = null;
+this.neighbourTreeMenuItem = null;
+this.borderLayout1 = null;
+this.statusBar = null;
+this.clustalColour = null;
+this.zappoColour = null;
+this.taylorColour = null;
+this.hydrophobicityColour = null;
+this.helixColour = null;
+this.strandColour = null;
+this.turnColour = null;
+this.buriedColour = null;
+this.purinePyrimidineColour = null;
+this.RNAInteractionColour = null;
+this.RNAHelixColour = null;
+this.userDefinedColour = null;
+this.PIDColour = null;
+this.BLOSUM62Colour = null;
+this.tcoffeeColour = null;
+this.njTreeBlosumMenuItem = null;
+this.avDistanceTreeBlosumMenuItem = null;
+this.annotationPanelMenuItem = null;
+this.colourTextMenuItem = null;
+this.displayNonconservedMenuItem = null;
+this.alProperties = null;
+this.overviewMenuItem = null;
+this.undoMenuItem = null;
+this.redoMenuItem = null;
+this.conservationMenuItem = null;
+this.noColourmenuItem = null;
+this.wrapMenuItem = null;
+this.renderGapsMenuItem = null;
+this.findMenuItem = null;
+this.abovePIDThreshold = null;
+this.nucleotideColour = null;
+this.deleteGroups = null;
+this.grpsFromSelection = null;
+this.createGroup = null;
+this.unGroup = null;
+this.$delete = null;
+this.copy = null;
+this.cut = null;
+this.pasteMenu = null;
+this.pasteNew = null;
+this.pasteThis = null;
+this.applyToAllGroups = null;
+this.$font = null;
+this.scaleAbove = null;
+this.scaleLeft = null;
+this.scaleRight = null;
+this.modifyPID = null;
+this.modifyConservation = null;
+this.autoCalculate = null;
+this.$sortByTree = null;
+this.sortByTreeMenu = null;
+this.inputText = null;
+this.documentation = null;
+this.about = null;
+this.seqLimits = null;
+this.centreColumnLabelFlag = null;
+this.followMouseOverFlag = null;
+this.showSequenceLogo = null;
+this.applyAutoAnnotationSettings = null;
+this.showConsensusHistogram = null;
+this.showGroupConsensus = null;
+this.showGroupConservation = null;
+this.normSequenceLogo = null;
+this.featureSettings = null;
+this.sequenceFeatures = null;
+this.annotationColour = null;
+this.annotationColumnSelection = null;
+this.invertColSel = null;
+this.showColumns = null;
+this.showSeqs = null;
+this.hideColumns = null;
+this.hideSequences = null;
+this.hideAllButSelection = null;
+this.hideAllSelection = null;
+this.showAllHidden = null;
+this.$newView = null;
+this.showAlignmentAnnotations = null;
+this.showSequenceAnnotations = null;
+this.sortAnnBySequence = null;
+this.sortAnnByLabel = null;
+this.showAutoFirst = null;
+this.showAutoLast = null;
+this.splitFrame = null;
+Clazz.instantialize (this, arguments);
+}, jalview.appletgui, "AlignFrame", jalview.appletgui.EmbmenuFrame, [java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, jalview.api.AlignViewControllerGuiI]);
+Clazz.prepareFields (c$, function () {
+this.alignFrameMenuBar =  new awt2swing.MenuBar ();
+this.fileMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.file"));
+this.loadApplication =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.view_full_application"));
+this.$loadTree =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.load_associated_tree"));
+this.$loadAnnotations =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.load_features_annotations"));
+this.$outputFeatures =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.export_features").concat ("..."));
+this.$outputAnnotations =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.export_annotations").concat ("..."));
+this.closeMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.close"));
+this.selectAllSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.select_all"));
+this.deselectAllSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.deselect_all"));
+this.invertSequenceMenuItem =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("action.invert_selection"));
+this.remove2LeftMenuItem =  new awt2swing.MenuItem ();
+this.remove2RightMenuItem =  new awt2swing.MenuItem ();
+this.removeGappedColumnMenuItem =  new awt2swing.MenuItem ();
+this.removeAllGapsMenuItem =  new awt2swing.MenuItem ();
+this.viewBoxesMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.viewTextMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.sortPairwiseMenuItem =  new awt2swing.MenuItem ();
+this.sortIDMenuItem =  new awt2swing.MenuItem ();
+this.sortLengthMenuItem =  new awt2swing.MenuItem ();
+this.sortGroupMenuItem =  new awt2swing.MenuItem ();
+this.removeRedundancyMenuItem =  new awt2swing.MenuItem ();
+this.pairwiseAlignmentMenuItem =  new awt2swing.MenuItem ();
+this.PCAMenuItem =  new awt2swing.MenuItem ();
+this.averageDistanceTreeMenuItem =  new awt2swing.MenuItem ();
+this.neighbourTreeMenuItem =  new awt2swing.MenuItem ();
+this.borderLayout1 =  new java.awt.BorderLayout ();
+this.statusBar =  new awt2swing.Label ();
+this.clustalColour =  new awt2swing.MenuItem ();
+this.zappoColour =  new awt2swing.MenuItem ();
+this.taylorColour =  new awt2swing.MenuItem ();
+this.hydrophobicityColour =  new awt2swing.MenuItem ();
+this.helixColour =  new awt2swing.MenuItem ();
+this.strandColour =  new awt2swing.MenuItem ();
+this.turnColour =  new awt2swing.MenuItem ();
+this.buriedColour =  new awt2swing.MenuItem ();
+this.purinePyrimidineColour =  new awt2swing.MenuItem ();
+this.RNAInteractionColour =  new awt2swing.MenuItem ();
+this.RNAHelixColour =  new awt2swing.MenuItem ();
+this.userDefinedColour =  new awt2swing.MenuItem ();
+this.PIDColour =  new awt2swing.MenuItem ();
+this.BLOSUM62Colour =  new awt2swing.MenuItem ();
+this.tcoffeeColour =  new awt2swing.MenuItem ();
+this.njTreeBlosumMenuItem =  new awt2swing.MenuItem ();
+this.avDistanceTreeBlosumMenuItem =  new awt2swing.MenuItem ();
+this.annotationPanelMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.colourTextMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.displayNonconservedMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.alProperties =  new awt2swing.MenuItem (jalview.util.MessageManager.getString ("label.alignment_props"));
+this.overviewMenuItem =  new awt2swing.MenuItem ();
+this.undoMenuItem =  new awt2swing.MenuItem ();
+this.redoMenuItem =  new awt2swing.MenuItem ();
+this.conservationMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.noColourmenuItem =  new awt2swing.MenuItem ();
+this.wrapMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.renderGapsMenuItem =  new awt2swing.CheckboxMenuItem ();
+this.findMenuItem =  new awt2swing.MenuItem ();
+this.abovePIDThreshold =  new awt2swing.CheckboxMenuItem ();
+this.nucleotideColour =  new awt2swing.MenuItem ();
+this.deleteGroups =  new awt2swing.MenuItem ();
+this.grpsFromSelection =  new awt2swing.MenuItem ();
+this.createGroup =  new awt2swing.MenuItem ();
+this.unGroup =  new awt2swing.MenuItem ();
+this.$delete =  new awt2swing.MenuItem ();
+this.copy =  new awt2swing.MenuItem ();
+this.cut =  new awt2swing.MenuItem ();
+this.pasteMenu =  new awt2swing.Menu ();
+this.pasteNew =  new awt2swing.MenuItem ();
+this.pasteThis =  new awt2swing.MenuItem ();
+this.applyToAllGroups =  new awt2swing.CheckboxMenuItem ();
+this.$font =  new awt2swing.MenuItem ();
+this.scaleAbove =  new awt2swing.CheckboxMenuItem ();
+this.scaleLeft =  new awt2swing.CheckboxMenuItem ();
+this.scaleRight =  new awt2swing.CheckboxMenuItem ();
+this.modifyPID =  new awt2swing.MenuItem ();
+this.modifyConservation =  new awt2swing.MenuItem ();
+this.$sortByTree =  new awt2swing.CheckboxMenuItem ("Sort Alignment With New Tree", true);
+this.sortByTreeMenu =  new awt2swing.Menu ();
+this.inputText =  new awt2swing.MenuItem ();
+this.documentation =  new awt2swing.MenuItem ();
+this.about =  new awt2swing.MenuItem ();
+this.seqLimits =  new awt2swing.CheckboxMenuItem ();
+this.centreColumnLabelFlag =  new awt2swing.CheckboxMenuItem ();
+this.followMouseOverFlag =  new awt2swing.CheckboxMenuItem ();
+this.showSequenceLogo =  new awt2swing.CheckboxMenuItem ();
+this.applyAutoAnnotationSettings =  new awt2swing.CheckboxMenuItem ();
+this.showConsensusHistogram =  new awt2swing.CheckboxMenuItem ();
+this.showGroupConsensus =  new awt2swing.CheckboxMenuItem ();
+this.showGroupConservation =  new awt2swing.CheckboxMenuItem ();
+this.normSequenceLogo =  new awt2swing.CheckboxMenuItem ();
+this.featureSettings =  new awt2swing.MenuItem ();
+this.sequenceFeatures =  new awt2swing.CheckboxMenuItem ();
+this.annotationColour =  new awt2swing.MenuItem ();
+this.annotationColumnSelection =  new awt2swing.MenuItem ();
+this.invertColSel =  new awt2swing.MenuItem ();
+this.showColumns =  new awt2swing.MenuItem ();
+this.showSeqs =  new awt2swing.MenuItem ();
+this.hideColumns =  new awt2swing.MenuItem ();
+this.hideSequences =  new awt2swing.MenuItem ();
+this.hideAllButSelection =  new awt2swing.MenuItem ();
+this.hideAllSelection =  new awt2swing.MenuItem ();
+this.showAllHidden =  new awt2swing.MenuItem ();
+this.$newView =  new awt2swing.MenuItem ();
+});
+Clazz.makeConstructor (c$, 
+function (al, applet, title, embedded) {
+this.construct (al, applet, title, embedded, true);
+}, "jalview.datamodel.AlignmentI,jalview.bin.JalviewLite,~S,~B");
+Clazz.makeConstructor (c$, 
+function (al, applet, title, embedded, addToDisplay) {
+this.construct (al, null, null, applet, title, embedded, addToDisplay);
+}, "jalview.datamodel.AlignmentI,jalview.bin.JalviewLite,~S,~B,~B");
+Clazz.makeConstructor (c$, 
+function (al, hiddenSeqs, columnSelection, applet, title, embedded) {
+this.construct (al, hiddenSeqs, columnSelection, applet, title, embedded, true);
+}, "jalview.datamodel.AlignmentI,~A,jalview.datamodel.ColumnSelection,jalview.bin.JalviewLite,~S,~B");
+Clazz.makeConstructor (c$, 
+function (al, hiddenSeqs, columnSelection, applet, title, embedded, addToDisplay) {
+Clazz.superConstructor (this, jalview.appletgui.AlignFrame, []);
+if (applet != null) {
+this.jalviewServletURL = applet.jalviewServletURL;
+}try {
+this.jbInit ();
+} catch (ex) {
+if (Clazz.exceptionOf (ex, Exception)) {
+ex.printStackTrace ();
+} else {
+throw ex;
+}
+}
+if (applet != null) {
+var param;
+try {
+param = applet.windowWidth;
+if (param != null) {
+var width = Integer.parseInt (param);
+this.frameWidth = width;
+}param = applet.windowHeight;
+if (param != null) {
+var height = Integer.parseInt (param);
+this.frameHeight = height;
+}} catch (ex) {
+if (Clazz.exceptionOf (ex, Exception)) {
+} else {
+throw ex;
+}
+}
+}this.viewport =  new jalview.appletgui.AlignViewport (al, applet);
+if (hiddenSeqs != null && hiddenSeqs.length > 0) {
+this.viewport.hideSequence (hiddenSeqs);
+}if (columnSelection != null) {
+this.viewport.setColumnSelection (columnSelection);
+}this.alignPanel =  new jalview.appletgui.AlignmentPanel (this, this.viewport);
+this.avc =  new jalview.controller.AlignViewController (this, this.viewport, this.alignPanel);
+this.viewport.updateConservation (this.alignPanel);
+this.viewport.updateConsensus (this.alignPanel);
+this.displayNonconservedMenuItem.setState (this.viewport.getShowUnconserved ());
+this.followMouseOverFlag.setState (this.viewport.isFollowHighlight ());
+this.showGroupConsensus.setState (this.viewport.isShowGroupConsensus ());
+this.showGroupConservation.setState (this.viewport.isShowGroupConservation ());
+this.showConsensusHistogram.setState (this.viewport.isShowConsensusHistogram ());
+this.showSequenceLogo.setState (this.viewport.isShowSequenceLogo ());
+this.normSequenceLogo.setState (this.viewport.isNormaliseSequenceLogo ());
+this.applyToAllGroups.setState (this.viewport.getColourAppliesToAllGroups ());
+this.annotationPanelMenuItem.setState (this.viewport.isShowAnnotation ());
+this.showAlignmentAnnotations.setState (this.viewport.isShowAnnotation ());
+this.showSequenceAnnotations.setState (this.viewport.isShowAnnotation ());
+this.seqLimits.setState (this.viewport.getShowJVSuffix ());
+if (applet != null) {
+var param = applet.sortBy;
+if (param != null) {
+if (param.equalsIgnoreCase ("Id")) {
+this.sortIDMenuItem_actionPerformed ();
+} else if (param.equalsIgnoreCase ("Pairwise Identity")) {
+this.sortPairwiseMenuItem_actionPerformed ();
+} else if (param.equalsIgnoreCase ("Length")) {
+this.sortLengthMenuItem_actionPerformed ();
+}}param = applet.wrap;
+if (param != null) {
+if (param.equalsIgnoreCase ("true")) {
+this.wrapMenuItem.setState (true);
+this.wrapMenuItem_actionPerformed ();
+}}param = applet.centrecolumnlabels;
+if (param != null) {
+this.centreColumnLabelFlag.setState (true);
+this.centreColumnLabelFlag_stateChanged ();
+}}if (this.viewport.getAlignment ().isNucleotide ()) {
+this.viewport.updateStrucConsensus (this.alignPanel);
+if (this.viewport.getAlignment ().hasRNAStructure ()) {
+this.RNAHelixColour.setEnabled (true);
+} else {
+this.RNAHelixColour.setEnabled (false);
+}} else {
+this.RNAHelixColour.setEnabled (false);
+this.purinePyrimidineColour.setEnabled (false);
+}this.addKeyListener (this);
+this.alignPanel.seqPanel.seqCanvas.addKeyListener (this);
+this.alignPanel.idPanel.idCanvas.addKeyListener (this);
+this.alignPanel.scalePanel.addKeyListener (this);
+this.alignPanel.annotationPanel.addKeyListener (this);
+this.alignPanel.annotationPanelHolder.addKeyListener (this);
+this.alignPanel.annotationSpaceFillerHolder.addKeyListener (this);
+this.alignPanel.alabels.addKeyListener (this);
+if (addToDisplay) {
+this.addToDisplay (embedded);
+}}, "jalview.datamodel.AlignmentI,~A,jalview.datamodel.ColumnSelection,jalview.bin.JalviewLite,~S,~B,~B");
+Clazz.defineMethod (c$, "addToDisplay", 
+function (embedded) {
+this.createAlignFrameWindow (embedded);
+this.validate ();
+this.alignPanel.adjustAnnotationHeight ();
+this.alignPanel.paintAlignment (true);
+}, "~B");
+Clazz.defineMethod (c$, "getAlignViewport", 
+function () {
+return this.viewport;
+});
+Clazz.defineMethod (c$, "getSeqcanvas", 
+function () {
+return this.alignPanel.seqPanel.seqCanvas;
+});
+Clazz.defineMethod (c$, "parseFeaturesFile", 
+function (file, type) {
+return this.parseFeaturesFile (file, type, true);
+}, "~S,~S");
+Clazz.defineMethod (c$, "parseFeaturesFile", 
+function (file, type, autoenabledisplay) {
+var featureLinks =  new java.util.Hashtable ();
+var featuresFile = false;
+try {
+featuresFile =  new jalview.io.FeaturesFile (file, type).parse (this.viewport.getAlignment (), this.alignPanel.seqPanel.seqCanvas.getFeatureRenderer ().getFeatureColours (), featureLinks, true, this.viewport.applet.getDefaultParameter ("relaxedidmatch", false));
+} catch (ex) {
+if (Clazz.exceptionOf (ex, Exception)) {
+ex.printStackTrace ();
+} else {
+throw ex;
+}
+}
+if (featuresFile) {
+if (featureLinks.size () > 0) {
+this.alignPanel.seqPanel.seqCanvas.getFeatureRenderer ().featureLinks = featureLinks;
+}if (autoenabledisplay) {
+this.viewport.setShowSequenceFeatures (true);
+this.sequenceFeatures.setState (true);
+}if (this.alignPanel.seqPanel.seqCanvas.fr != null) {
+this.alignPanel.seqPanel.seqCanvas.fr.findAllFeatures (true);
+}if (this.viewport.featureSettings != null) {
+this.viewport.featureSettings.refreshTable ();
+}this.alignPanel.paintAlignment (true);
+this.setStatus (jalview.util.MessageManager.getString ("label.successfully_added_features_alignment"));
+}return featuresFile;
+}, "~S,~S,~B");
+Clazz.overrideMethod (c$, "keyPressed", 
+function (evt) {
+if (this.viewport.cursorMode && ((evt.getKeyCode () >= 48 && evt.getKeyCode () <= 57) || (evt.getKeyCode () >= 96 && evt.getKeyCode () <= 105)) && Character.isDigit (evt.getKeyChar ())) {
+this.alignPanel.seqPanel.numberPressed (evt.getKeyChar ());
+}switch (evt.getKeyCode ()) {
+case 27:
+this.deselectAllSequenceMenuItem_actionPerformed ();
+this.alignPanel.alabels.cancelDrag ();
+break;
+case 88:
+if (evt.isControlDown () || evt.isMetaDown ()) {
+this.cut_actionPerformed ();
+}break;
+case 67:
+if (this.viewport.cursorMode && !evt.isControlDown ()) {
+this.alignPanel.seqPanel.setCursorColumn ();
+}if (evt.isControlDown () || evt.isMetaDown ()) {
+this.copy_actionPerformed ();
+}break;
+case 86:
+if (evt.isControlDown ()) {
+this.paste (evt.isShiftDown ());
+}break;
+case 65:
+if (evt.isControlDown () || evt.isMetaDown ()) {
+this.selectAllSequenceMenuItem_actionPerformed ();
+}break;
+case 40:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.moveCursor (0, 1);
+} else {
+this.moveSelectedSequences (false);
+}break;
+case 38:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.moveCursor (0, -1);
+} else {
+this.moveSelectedSequences (true);
+}break;
+case 37:
+if (evt.isAltDown () || !this.viewport.cursorMode) {
+this.slideSequences (false, this.alignPanel.seqPanel.getKeyboardNo1 ());
+} else {
+this.alignPanel.seqPanel.moveCursor (-1, 0);
+}break;
+case 39:
+if (evt.isAltDown () || !this.viewport.cursorMode) {
+this.slideSequences (true, this.alignPanel.seqPanel.getKeyboardNo1 ());
+} else {
+this.alignPanel.seqPanel.moveCursor (1, 0);
+}break;
+case 32:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.insertGapAtCursor (evt.isControlDown () || evt.isShiftDown () || evt.isAltDown ());
+}break;
+case 127:
+case 8:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.deleteGapAtCursor (evt.isControlDown () || evt.isShiftDown () || evt.isAltDown ());
+} else {
+this.cut_actionPerformed ();
+this.alignPanel.seqPanel.seqCanvas.repaint ();
+}break;
+case 83:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.setCursorRow ();
+}break;
+case 80:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.setCursorPosition ();
+}break;
+case 10:
+case 44:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.setCursorRowAndColumn ();
+}break;
+case 81:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.setSelectionAreaAtCursor (true);
+}break;
+case 77:
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.setSelectionAreaAtCursor (false);
+}break;
+case 113:
+this.viewport.cursorMode = !this.viewport.cursorMode;
+this.setStatus (jalview.util.MessageManager.formatMessage ("label.keyboard_editing_mode",  Clazz.newArray (-1, [(this.viewport.cursorMode ? "on" : "off")])));
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.seqCanvas.cursorX = this.viewport.startRes;
+this.alignPanel.seqPanel.seqCanvas.cursorY = this.viewport.startSeq;
+}break;
+case 70:
+if (evt.isControlDown ()) {
+this.findMenuItem_actionPerformed ();
+}break;
+case 72:
+{
+var toggleSeqs = !evt.isControlDown ();
+var toggleCols = !evt.isShiftDown ();
+this.toggleHiddenRegions (toggleSeqs, toggleCols);
+break;
+}case 33:
+if (this.viewport.getWrapAlignment ()) {
+this.alignPanel.scrollUp (true);
+} else {
+this.alignPanel.setScrollValues (this.viewport.startRes, this.viewport.startSeq - this.viewport.endSeq + this.viewport.startSeq);
+}break;
+case 34:
+if (this.viewport.getWrapAlignment ()) {
+this.alignPanel.scrollUp (false);
+} else {
+this.alignPanel.setScrollValues (this.viewport.startRes, this.viewport.startSeq + this.viewport.endSeq - this.viewport.startSeq);
+}break;
+case 90:
+if (evt.isControlDown ()) {
+this.undoMenuItem_actionPerformed ();
+}break;
+case 89:
+if (evt.isControlDown ()) {
+this.redoMenuItem_actionPerformed ();
+}break;
+case 76:
+if (evt.isControlDown ()) {
+this.trimAlignment (true);
+}break;
+case 82:
+if (evt.isControlDown ()) {
+this.trimAlignment (false);
+}break;
+case 69:
+if (evt.isControlDown ()) {
+if (evt.isShiftDown ()) {
+this.removeAllGapsMenuItem_actionPerformed ();
+} else {
+this.removeGappedColumnMenuItem_actionPerformed ();
+}}break;
+case 73:
+if (evt.isControlDown ()) {
+if (evt.isAltDown ()) {
+this.invertColSel_actionPerformed ();
+} else {
+this.invertSequenceMenuItem_actionPerformed ();
+}}break;
+case 71:
+if (evt.isControlDown ()) {
+if (evt.isShiftDown ()) {
+this.unGroup_actionPerformed ();
+} else {
+this.createGroup_actionPerformed ();
+}}break;
+case 85:
+if (evt.isControlDown ()) {
+this.deleteGroups_actionPerformed ();
+}break;
+case 84:
+if (evt.isControlDown ()) {
+this.newView (null);
+}break;
+}
+this.alignPanel.paintAlignment (true);
+}, "java.awt.event.KeyEvent");
+Clazz.defineMethod (c$, "toggleHiddenRegions", 
+ function (toggleSeqs, toggleCols) {
+var hide = false;
+var sg = this.viewport.getSelectionGroup ();
+if (!toggleSeqs && !toggleCols) {
+if ((this.viewport.getColumnSelection () != null && this.viewport.getColumnSelection ().getSelected () != null && this.viewport.getColumnSelection ().getSelected ().size () > 0) || (sg != null && sg.getSize () > 0 && sg.getStartRes () <= sg.getEndRes ())) {
+if (sg != null) {
+this.invertSequenceMenuItem_actionPerformed ();
+sg = this.viewport.getSelectionGroup ();
+toggleSeqs = true;
+}this.viewport.expandColSelection (sg, true);
+this.invertColSel_actionPerformed ();
+toggleCols = true;
+}}if (toggleSeqs) {
+if (sg != null && sg.getSize () != this.viewport.getAlignment ().getHeight ()) {
+hide = true;
+this.viewport.hideAllSelectedSeqs ();
+} else if (!(toggleCols && this.viewport.getColumnSelection ().getSelected ().size () > 0)) {
+this.viewport.showAllHiddenSeqs ();
+}}if (toggleCols) {
+if (this.viewport.getColumnSelection ().getSelected ().size () > 0) {
+this.viewport.hideSelectedColumns ();
+if (!toggleSeqs) {
+this.viewport.setSelectionGroup (sg);
+}} else if (!hide) {
+this.viewport.showAllHiddenColumns ();
+}}}, "~B,~B");
+Clazz.overrideMethod (c$, "keyReleased", 
+function (evt) {
+}, "java.awt.event.KeyEvent");
+Clazz.overrideMethod (c$, "keyTyped", 
+function (evt) {
+}, "java.awt.event.KeyEvent");
+Clazz.overrideMethod (c$, "itemStateChanged", 
+function (evt) {
+var source = evt.getSource ();
+if (source === this.displayNonconservedMenuItem) {
+this.displayNonconservedMenuItem_actionPerformed ();
+} else if (source === this.colourTextMenuItem) {
+this.colourTextMenuItem_actionPerformed ();
+} else if (source === this.wrapMenuItem) {
+this.wrapMenuItem_actionPerformed ();
+} else if (source === this.scaleAbove) {
+this.viewport.setScaleAboveWrapped (this.scaleAbove.getState ());
+} else if (source === this.scaleLeft) {
+this.viewport.setScaleLeftWrapped (this.scaleLeft.getState ());
+} else if (source === this.scaleRight) {
+this.viewport.setScaleRightWrapped (this.scaleRight.getState ());
+} else if (source === this.seqLimits) {
+this.seqLimits_itemStateChanged ();
+} else if (source === this.viewBoxesMenuItem) {
+this.viewport.setShowBoxes (this.viewBoxesMenuItem.getState ());
+} else if (source === this.viewTextMenuItem) {
+this.viewport.setShowText (this.viewTextMenuItem.getState ());
+} else if (source === this.renderGapsMenuItem) {
+this.viewport.setRenderGaps (this.renderGapsMenuItem.getState ());
+} else if (source === this.annotationPanelMenuItem) {
+this.viewport.setShowAnnotation (this.annotationPanelMenuItem.getState ());
+this.alignPanel.setAnnotationVisible (this.annotationPanelMenuItem.getState ());
+} else if (source === this.sequenceFeatures) {
+this.viewport.setShowSequenceFeatures (this.sequenceFeatures.getState ());
+this.alignPanel.seqPanel.seqCanvas.repaint ();
+} else if (source === this.showAlignmentAnnotations) {
+this.setAnnotationsVisibility ();
+} else if (source === this.showSequenceAnnotations) {
+this.setAnnotationsVisibility ();
+} else if (source === this.sortAnnBySequence) {
+var newState = this.sortAnnBySequence.getState ();
+this.sortAnnByLabel.setState (false);
+this.setAnnotationSortOrder (newState ? jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.SEQUENCE_AND_LABEL : jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.NONE);
+this.setViewportAnnotationOrder ();
+} else if (source === this.sortAnnByLabel) {
+var newState = this.sortAnnByLabel.getState ();
+this.sortAnnBySequence.setState (false);
+this.setAnnotationSortOrder (newState ? jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.LABEL_AND_SEQUENCE : jalview.analysis.AnnotationSorter.SequenceAnnotationOrder.NONE);
+this.setViewportAnnotationOrder ();
+} else if (source === this.showAutoFirst) {
+this.showAutoLast.setState (!this.showAutoFirst.getState ());
+this.setShowAutoCalculatedAbove (this.showAutoFirst.getState ());
+this.setViewportAnnotationOrder ();
+} else if (source === this.showAutoLast) {
+this.showAutoFirst.setState (!this.showAutoLast.getState ());
+this.setShowAutoCalculatedAbove (this.showAutoFirst.getState ());
+this.setViewportAnnotationOrder ();
+} else if (source === this.conservationMenuItem) {
+this.conservationMenuItem_actionPerformed ();
+} else if (source === this.abovePIDThreshold) {
+this.abovePIDThreshold_actionPerformed ();
+} else if (source === this.applyToAllGroups) {
+this.viewport.setColourAppliesToAllGroups (this.applyToAllGroups.getState ());
+} else if (source === this.autoCalculate) {
+this.viewport.autoCalculateConsensus = this.autoCalculate.getState ();
+} else if (source === this.$sortByTree) {
+this.viewport.sortByTree = this.$sortByTree.getState ();
+} else if (source === this.centreColumnLabelFlag) {
+this.centreColumnLabelFlag_stateChanged ();
+} else if (source === this.followMouseOverFlag) {
+this.mouseOverFlag_stateChanged ();
+} else if (source === this.showGroupConsensus) {
+this.showGroupConsensus_actionPerformed ();
+} else if (source === this.showGroupConservation) {
+this.showGroupConservation_actionPerformed ();
+} else if (source === this.showSequenceLogo) {
+this.showSequenceLogo_actionPerformed ();
+} else if (source === this.normSequenceLogo) {
+this.normSequenceLogo_actionPerformed ();
+} else if (source === this.showConsensusHistogram) {
+this.showConsensusHistogram_actionPerformed ();
+} else if (source === this.applyAutoAnnotationSettings) {
+this.applyAutoAnnotationSettings_actionPerformed ();
+}this.alignPanel.paintAlignment (true);
+}, "java.awt.event.ItemEvent");
+Clazz.defineMethod (c$, "setAnnotationsVisibility", 
+ function () {
+var showForAlignment = this.showAlignmentAnnotations.getState ();
+var showForSequences = this.showSequenceAnnotations.getState ();
+for (var aa, $aa = 0, $$aa = this.alignPanel.getAlignment ().getAlignmentAnnotation (); $aa < $$aa.length && ((aa = $$aa[$aa]) || true); $aa++) {
+var visible = (aa.sequenceRef == null ? showForAlignment : showForSequences);
+aa.visible = visible;
+}
+this.alignPanel.validateAnnotationDimensions (true);
+this.validate ();
+this.repaint ();
+});
+Clazz.defineMethod (c$, "setAnnotationSortOrder", 
+ function (order) {
+this.annotationSortOrder = order;
+}, "jalview.analysis.AnnotationSorter.SequenceAnnotationOrder");
+Clazz.defineMethod (c$, "setViewportAnnotationOrder", 
+ function () {
+this.alignPanel.av.setSortAnnotationsBy (this.annotationSortOrder);
+this.alignPanel.av.setShowAutocalculatedAbove (this.showAutoCalculatedAbove);
+});
+Clazz.defineMethod (c$, "setShowAutoCalculatedAbove", 
+ function (showAbove) {
+this.showAutoCalculatedAbove = showAbove;
+}, "~B");
+Clazz.defineMethod (c$, "mouseOverFlag_stateChanged", 
+ function () {
+this.viewport.setFollowHighlight (this.followMouseOverFlag.getState ());
+});
+Clazz.defineMethod (c$, "centreColumnLabelFlag_stateChanged", 
+ function () {
+this.viewport.centreColumnLabels = this.centreColumnLabelFlag.getState ();
+this.alignPanel.annotationPanel.repaint ();
+});
+Clazz.overrideMethod (c$, "actionPerformed", 
+function (evt) {
+var source = evt.getSource ();
+if (source === this.inputText) {
+this.inputText_actionPerformed ();
+} else if (source === this.$loadTree) {
+this.loadTree_actionPerformed ();
+} else if (source === this.loadApplication) {
+this.launchFullApplication ();
+} else if (source === this.$loadAnnotations) {
+this.loadAnnotations ();
+} else if (source === this.$outputAnnotations) {
+this.outputAnnotations (true);
+} else if (source === this.$outputFeatures) {
+this.outputFeatures (true, "Jalview");
+} else if (source === this.closeMenuItem) {
+this.closeMenuItem_actionPerformed ();
+} else if (source === this.copy) {
+this.copy_actionPerformed ();
+} else if (source === this.undoMenuItem) {
+this.undoMenuItem_actionPerformed ();
+} else if (source === this.redoMenuItem) {
+this.redoMenuItem_actionPerformed ();
+} else if (source === this.inputText) {
+this.inputText_actionPerformed ();
+} else if (source === this.closeMenuItem) {
+this.closeMenuItem_actionPerformed ();
+} else if (source === this.undoMenuItem) {
+this.undoMenuItem_actionPerformed ();
+} else if (source === this.redoMenuItem) {
+this.redoMenuItem_actionPerformed ();
+} else if (source === this.copy) {
+this.copy_actionPerformed ();
+} else if (source === this.pasteNew) {
+this.pasteNew_actionPerformed ();
+} else if (source === this.pasteThis) {
+this.pasteThis_actionPerformed ();
+} else if (source === this.cut) {
+this.cut_actionPerformed ();
+} else if (source === this.$delete) {
+this.delete_actionPerformed ();
+} else if (source === this.grpsFromSelection) {
+this.makeGrpsFromSelection_actionPerformed ();
+} else if (source === this.deleteGroups) {
+this.deleteGroups_actionPerformed ();
+} else if (source === this.selectAllSequenceMenuItem) {
+this.selectAllSequenceMenuItem_actionPerformed ();
+} else if (source === this.deselectAllSequenceMenuItem) {
+this.deselectAllSequenceMenuItem_actionPerformed ();
+} else if (source === this.invertSequenceMenuItem) {
+this.invertSequenceMenuItem_actionPerformed ();
+} else if (source === this.invertColSel) {
+this.viewport.invertColumnSelection ();
+this.alignPanel.paintAlignment (true);
+} else if (source === this.remove2LeftMenuItem) {
+this.trimAlignment (true);
+} else if (source === this.remove2RightMenuItem) {
+this.trimAlignment (false);
+} else if (source === this.removeGappedColumnMenuItem) {
+this.removeGappedColumnMenuItem_actionPerformed ();
+} else if (source === this.removeAllGapsMenuItem) {
+this.removeAllGapsMenuItem_actionPerformed ();
+} else if (source === this.findMenuItem) {
+this.findMenuItem_actionPerformed ();
+} else if (source === this.$font) {
+ new jalview.appletgui.FontChooser (this.alignPanel);
+} else if (source === this.$newView) {
+this.newView (null);
+} else if (source === this.showColumns) {
+this.viewport.showAllHiddenColumns ();
+this.alignPanel.paintAlignment (true);
+} else if (source === this.showSeqs) {
+this.viewport.showAllHiddenSeqs ();
+this.alignPanel.paintAlignment (true);
+} else if (source === this.hideColumns) {
+this.viewport.hideSelectedColumns ();
+this.alignPanel.paintAlignment (true);
+} else if (source === this.hideSequences && this.viewport.getSelectionGroup () != null) {
+this.viewport.hideAllSelectedSeqs ();
+this.alignPanel.paintAlignment (true);
+} else if (source === this.hideAllButSelection) {
+this.toggleHiddenRegions (false, false);
+this.alignPanel.paintAlignment (true);
+} else if (source === this.hideAllSelection) {
+var sg = this.viewport.getSelectionGroup ();
+this.viewport.expandColSelection (sg, false);
+this.viewport.hideAllSelectedSeqs ();
+this.viewport.hideSelectedColumns ();
+this.alignPanel.paintAlignment (true);
+} else if (source === this.showAllHidden) {
+this.viewport.showAllHiddenColumns ();
+this.viewport.showAllHiddenSeqs ();
+this.alignPanel.paintAlignment (true);
+} else if (source === this.showGroupConsensus) {
+this.showGroupConsensus_actionPerformed ();
+} else if (source === this.showGroupConservation) {
+this.showGroupConservation_actionPerformed ();
+} else if (source === this.showSequenceLogo) {
+this.showSequenceLogo_actionPerformed ();
+} else if (source === this.normSequenceLogo) {
+this.normSequenceLogo_actionPerformed ();
+} else if (source === this.showConsensusHistogram) {
+this.showConsensusHistogram_actionPerformed ();
+} else if (source === this.applyAutoAnnotationSettings) {
+this.applyAutoAnnotationSettings_actionPerformed ();
+} else if (source === this.featureSettings) {
+ new jalview.appletgui.FeatureSettings (this.alignPanel);
+} else if (source === this.alProperties) {
+var contents =  new jalview.io.AlignmentProperties (this.viewport.getAlignment ()).formatAsString ();
+var cap =  new jalview.appletgui.CutAndPasteTransfer (false, this);
+cap.setText (contents.toString ());
+var frame =  new awt2swing.Frame ();
+frame.add (cap);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.alignment_properties",  Clazz.newArray (-1, [this.getTitle ()])), 400, 250);
+} else if (source === this.overviewMenuItem) {
+this.overviewMenuItem_actionPerformed ();
+} else if (source === this.noColourmenuItem) {
+this.changeColour (null);
+} else if (source === this.clustalColour) {
+this.abovePIDThreshold.setState (false);
+this.changeColour ( new jalview.schemes.ClustalxColourScheme (this.viewport.getAlignment (), null));
+} else if (source === this.zappoColour) {
+this.changeColour ( new jalview.schemes.ZappoColourScheme ());
+} else if (source === this.taylorColour) {
+this.changeColour ( new jalview.schemes.TaylorColourScheme ());
+} else if (source === this.hydrophobicityColour) {
+this.changeColour ( new jalview.schemes.HydrophobicColourScheme ());
+} else if (source === this.helixColour) {
+this.changeColour ( new jalview.schemes.HelixColourScheme ());
+} else if (source === this.strandColour) {
+this.changeColour ( new jalview.schemes.StrandColourScheme ());
+} else if (source === this.turnColour) {
+this.changeColour ( new jalview.schemes.TurnColourScheme ());
+} else if (source === this.buriedColour) {
+this.changeColour ( new jalview.schemes.BuriedColourScheme ());
+} else if (source === this.nucleotideColour) {
+this.changeColour ( new jalview.schemes.NucleotideColourScheme ());
+} else if (source === this.purinePyrimidineColour) {
+this.changeColour ( new jalview.schemes.PurinePyrimidineColourScheme ());
+} else if (source === this.RNAInteractionColour) {
+this.changeColour ( new jalview.schemes.RNAInteractionColourScheme ());
+} else if (source === this.RNAHelixColour) {
+ new jalview.schemes.RNAHelicesColourChooser (this.viewport, this.alignPanel);
+} else if (source === this.modifyPID) {
+this.modifyPID_actionPerformed ();
+} else if (source === this.modifyConservation) {
+this.modifyConservation_actionPerformed ();
+} else if (source === this.userDefinedColour) {
+ new jalview.appletgui.UserDefinedColours (this.alignPanel, null);
+} else if (source === this.PIDColour) {
+this.changeColour ( new jalview.schemes.PIDColourScheme ());
+} else if (source === this.BLOSUM62Colour) {
+this.changeColour ( new jalview.schemes.Blosum62ColourScheme ());
+} else if (source === this.tcoffeeColour) {
+this.changeColour ( new jalview.schemes.TCoffeeColourScheme (this.alignPanel.getAlignment ()));
+} else if (source === this.annotationColour) {
+ new jalview.appletgui.AnnotationColourChooser (this.viewport, this.alignPanel);
+} else if (source === this.annotationColumnSelection) {
+ new jalview.appletgui.AnnotationColumnChooser (this.viewport, this.alignPanel);
+} else if (source === this.sortPairwiseMenuItem) {
+this.sortPairwiseMenuItem_actionPerformed ();
+} else if (source === this.sortIDMenuItem) {
+this.sortIDMenuItem_actionPerformed ();
+} else if (source === this.sortLengthMenuItem) {
+this.sortLengthMenuItem_actionPerformed ();
+} else if (source === this.sortGroupMenuItem) {
+this.sortGroupMenuItem_actionPerformed ();
+} else if (source === this.removeRedundancyMenuItem) {
+this.removeRedundancyMenuItem_actionPerformed ();
+} else if (source === this.pairwiseAlignmentMenuItem) {
+this.pairwiseAlignmentMenuItem_actionPerformed ();
+} else if (source === this.PCAMenuItem) {
+this.PCAMenuItem_actionPerformed ();
+} else if (source === this.averageDistanceTreeMenuItem) {
+this.averageDistanceTreeMenuItem_actionPerformed ();
+} else if (source === this.neighbourTreeMenuItem) {
+this.neighbourTreeMenuItem_actionPerformed ();
+} else if (source === this.njTreeBlosumMenuItem) {
+this.njTreeBlosumMenuItem_actionPerformed ();
+} else if (source === this.avDistanceTreeBlosumMenuItem) {
+this.avTreeBlosumMenuItem_actionPerformed ();
+} else if (source === this.documentation) {
+this.documentation_actionPerformed ();
+} else if (source === this.about) {
+this.about_actionPerformed ();
+}}, "java.awt.event.ActionEvent");
+Clazz.defineMethod (c$, "inputText_actionPerformed", 
+function () {
+var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);
+var frame =  new awt2swing.Frame ();
+frame.add (cap);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.input_cut_paste"), 500, 500);
+});
+Clazz.defineMethod (c$, "outputText_actionPerformed", 
+function (e) {
+var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);
+var frame =  new awt2swing.Frame ();
+frame.add (cap);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.alignment_output_command",  Clazz.newArray (-1, [e.getActionCommand ()])), 600, 500);
+var fr = this.alignPanel.cloneFeatureRenderer ();
+cap.setText ( new jalview.io.AppletFormatAdapter (this.alignPanel).formatSequences (e.getActionCommand (), this.viewport.getAlignment (), this.viewport.getShowJVSuffix ()));
+}, "java.awt.event.ActionEvent");
+Clazz.defineMethod (c$, "loadAnnotations", 
+function () {
+var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);
+cap.setText (jalview.util.MessageManager.getString ("label.paste_features_annotations_Tcoffee_here"));
+cap.setAnnotationImport ();
+var frame =  new awt2swing.Frame ();
+frame.add (cap);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("action.paste_annotations"), 400, 300);
+});
+Clazz.defineMethod (c$, "outputAnnotations", 
+function (displayTextbox) {
+var annotation =  new jalview.io.AnnotationFile ().printAnnotationsForView (this.viewport);
+if (displayTextbox) {
+var cap =  new jalview.appletgui.CutAndPasteTransfer (false, this);
+var frame =  new awt2swing.Frame ();
+frame.add (cap);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.annotations"), 600, 500);
+cap.setText (annotation);
+}return annotation;
+}, "~B");
+Clazz.defineMethod (c$, "getDisplayedFeatureCols", 
+ function () {
+if (this.alignPanel.getFeatureRenderer () != null && this.viewport.getFeaturesDisplayed () != null) {
+return this.alignPanel.getFeatureRenderer ().getDisplayedFeatureCols ();
+}return null;
+});
+Clazz.defineMethod (c$, "outputFeatures", 
+function (displayTextbox, format) {
+var features;
+if (format.equalsIgnoreCase ("Jalview")) {
+features =  new jalview.io.FeaturesFile ().printJalviewFormat (this.viewport.getAlignment ().getSequencesArray (), this.getDisplayedFeatureCols ());
+} else {
+features =  new jalview.io.FeaturesFile ().printGFFFormat (this.viewport.getAlignment ().getSequencesArray (), this.getDisplayedFeatureCols ());
+}if (displayTextbox) {
+var frimport = false;
+if (features == null || features.equals ("No Features Visible")) {
+features = "# No features visible - paste some and import them here.";
+frimport = true;
+}var cap =  new jalview.appletgui.CutAndPasteTransfer (frimport, this);
+if (frimport) {
+cap.setAnnotationImport ();
+}var frame =  new awt2swing.Frame ();
+frame.add (cap);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.features"), 600, 500);
+cap.setText (features);
+} else {
+if (features == null) {
+features = "";
+}}return features;
+}, "~B,~S");
+Clazz.defineMethod (c$, "launchFullApplication", 
+function () {
+var url =  new StringBuffer (this.jalviewServletURL);
+var firstSep = url.lastIndexOf ("?") > url.lastIndexOf ("/") ? "&" : "?";
+url.append (firstSep);
+var applet = this.viewport.applet;
+var s = applet.startupFile;
+url.append ("open=" + this.appendProtocol (s));
+if (this.viewport.applet.features != null) {
+url.append ("&features=");
+url.append (this.appendProtocol (applet.features));
+}if (applet.annotations != null) {
+url.append ("&annotations=");
+url.append (this.appendProtocol (applet.annotations));
+}if (applet.jnetFile != null) {
+url.append ("&annotations=");
+url.append (this.appendProtocol (applet.jnetFile));
+}if (applet.defaultColour != null) {
+url.append ("&colour=" + this.removeWhiteSpace (applet.defaultColour));
+}if (applet.userDefinedColour != null) {
+url.append ("&colour=" + this.removeWhiteSpace (applet.userDefinedColour));
+}if (applet.treeFile != null) {
+url.append ("&tree=" + this.appendProtocol (applet.treeFile));
+}this.showURL (url.toString (), "FULL_APP");
+});
+Clazz.defineMethod (c$, "removeWhiteSpace", 
+function (colour) {
+var sb =  new StringBuffer ();
+for (var i = 0; i < colour.length; i++) {
+if (Character.isWhitespace (colour.charAt (i))) {
+sb.append ("%20");
+} else {
+sb.append (colour.charAt (i));
+}}
+return sb.toString ();
+}, "~S");
+Clazz.defineMethod (c$, "appendProtocol", 
+function (url) {
+try {
+ new java.net.URL (url);
+url = java.net.URLEncoder.encode (url);
+} catch (ex) {
+if (Clazz.exceptionOf (ex, java.net.MalformedURLException)) {
+url = this.viewport.applet.getCodeBase () + url;
+} else {
+throw ex;
+}
+}
+return url;
+}, "~S");
+Clazz.defineMethod (c$, "closeMenuItem_actionPerformed", 
+function () {
+jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel);
+if (this.alignPanel.seqPanel != null && this.alignPanel.seqPanel.seqCanvas != null) {
+jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel.seqPanel.seqCanvas);
+}if (this.alignPanel.idPanel != null && this.alignPanel.idPanel.idCanvas != null) {
+jalview.appletgui.PaintRefresher.RemoveComponent (this.alignPanel.idPanel.idCanvas);
+}if (jalview.appletgui.PaintRefresher.components.size () == 0 && this.viewport.applet == null) {
+System.exit (0);
+} else {
+}this.viewport = null;
+this.alignPanel = null;
+this.dispose ();
+});
+Clazz.defineMethod (c$, "updateEditMenuBar", 
+function () {
+if (this.viewport.getHistoryList ().size () > 0) {
+this.undoMenuItem.setEnabled (true);
+var command = this.viewport.getHistoryList ().peek ();
+this.undoMenuItem.setLabel (jalview.util.MessageManager.formatMessage ("label.undo_command",  Clazz.newArray (-1, [command.getDescription ()])));
+} else {
+this.undoMenuItem.setEnabled (false);
+this.undoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.undo"));
+}if (this.viewport.getRedoList ().size () > 0) {
+this.redoMenuItem.setEnabled (true);
+var command = this.viewport.getRedoList ().peek ();
+this.redoMenuItem.setLabel (jalview.util.MessageManager.formatMessage ("label.redo_command",  Clazz.newArray (-1, [command.getDescription ()])));
+} else {
+this.redoMenuItem.setEnabled (false);
+this.redoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.redo"));
+}});
+Clazz.overrideMethod (c$, "addHistoryItem", 
+function (command) {
+if (command.getSize () > 0) {
+this.viewport.addToHistoryList (command);
+this.viewport.clearRedoList ();
+this.updateEditMenuBar ();
+this.viewport.updateHiddenColumns ();
+}}, "jalview.commands.CommandI");
+Clazz.defineMethod (c$, "undoMenuItem_actionPerformed", 
+function () {
+if (this.viewport.getHistoryList ().isEmpty ()) {
+return;
+}var command = this.viewport.getHistoryList ().pop ();
+this.viewport.addToRedoList (command);
+command.undoCommand (null);
+var originalSource = this.getOriginatingSource (command);
+if (originalSource !== this.viewport) {
+System.err.println ("Warning: Viewport object mismatch whilst undoing");
+}originalSource.updateHiddenColumns ();
+this.updateEditMenuBar ();
+originalSource.firePropertyChange ("alignment", null, originalSource.getAlignment ().getSequences ());
+});
+Clazz.defineMethod (c$, "redoMenuItem_actionPerformed", 
+function () {
+if (this.viewport.getRedoList ().isEmpty ()) {
+return;
+}var command = this.viewport.getRedoList ().pop ();
+this.viewport.addToHistoryList (command);
+command.doCommand (null);
+var originalSource = this.getOriginatingSource (command);
+if (originalSource !== this.viewport) {
+System.err.println ("Warning: Viewport object mismatch whilst re-doing");
+}originalSource.updateHiddenColumns ();
+this.updateEditMenuBar ();
+originalSource.firePropertyChange ("alignment", null, originalSource.getAlignment ().getSequences ());
+});
+Clazz.defineMethod (c$, "getOriginatingSource", 
+function (command) {
+var originalSource = null;
+var al = null;
+if (Clazz.instanceOf (command, jalview.commands.EditCommand)) {
+var editCommand = command;
+al = editCommand.getAlignment ();
+var comps = jalview.appletgui.PaintRefresher.components.get (this.viewport.getSequenceSetId ());
+for (var i = 0; i < comps.size (); i++) {
+if (Clazz.instanceOf (comps.elementAt (i), jalview.appletgui.AlignmentPanel)) {
+if (al === (comps.elementAt (i)).av.getAlignment ()) {
+originalSource = (comps.elementAt (i)).av;
+break;
+}}}
+}if (originalSource == null) {
+if (al != null) {
+jalview.appletgui.PaintRefresher.validateSequences (al, this.viewport.getAlignment ());
+}originalSource = this.viewport;
+}return originalSource;
+}, "jalview.commands.CommandI");
+Clazz.defineMethod (c$, "moveSelectedSequences", 
+function (up) {
+var sg = this.viewport.getSelectionGroup ();
+if (sg == null) {
+return;
+}this.viewport.getAlignment ().moveSelectedSequencesByOne (sg, up ? null : this.viewport.getHiddenRepSequences (), up);
+this.alignPanel.paintAlignment (true);
+var complement = this.viewport.getCodingComplement ();
+if (complement != null) {
+var mappedSelection = jalview.util.MappingUtils.mapSequenceGroup (sg, this.viewport, complement);
+complement.getAlignment ().moveSelectedSequencesByOne (mappedSelection, up ? null : complement.getHiddenRepSequences (), up);
+}}, "~B");
+Clazz.defineMethod (c$, "slideSequences", 
+function (right, size) {
+var sg =  new java.util.Vector ();
+if (this.viewport.cursorMode) {
+sg.add (this.viewport.getAlignment ().getSequenceAt (this.alignPanel.seqPanel.seqCanvas.cursorY));
+} else if (this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () != this.viewport.getAlignment ().getHeight ()) {
+sg = this.viewport.getSelectionGroup ().getSequences (this.viewport.getHiddenRepSequences ());
+}if (sg.size () < 1) {
+return;
+}var invertGroup =  new java.util.Vector ();
+for (var i = 0; i < this.viewport.getAlignment ().getHeight (); i++) {
+if (!sg.contains (this.viewport.getAlignment ().getSequenceAt (i))) {
+invertGroup.addElement (this.viewport.getAlignment ().getSequenceAt (i));
+}}
+var seqs1 = sg.toArray ( new Array (sg.size ()));
+var seqs2 = invertGroup.toArray ( new Array (invertGroup.size ()));
+for (var i = 0; i < invertGroup.size (); i++) {
+seqs2[i] = invertGroup.elementAt (i);
+}
+var ssc;
+if (right) {
+ssc =  new jalview.commands.SlideSequencesCommand ("Slide Sequences", seqs2, seqs1, size, this.viewport.getGapCharacter ());
+} else {
+ssc =  new jalview.commands.SlideSequencesCommand ("Slide Sequences", seqs1, seqs2, size, this.viewport.getGapCharacter ());
+}var groupAdjustment = 0;
+if (ssc.getGapsInsertedBegin () && right) {
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.moveCursor (size, 0);
+} else {
+groupAdjustment = size;
+}} else if (!ssc.getGapsInsertedBegin () && !right) {
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.moveCursor (-size, 0);
+} else {
+groupAdjustment = -size;
+}}if (groupAdjustment != 0) {
+this.viewport.getSelectionGroup ().setStartRes (this.viewport.getSelectionGroup ().getStartRes () + groupAdjustment);
+this.viewport.getSelectionGroup ().setEndRes (this.viewport.getSelectionGroup ().getEndRes () + groupAdjustment);
+}var appendHistoryItem = false;
+var historyList = this.viewport.getHistoryList ();
+if (historyList != null && historyList.size () > 0 && Clazz.instanceOf (historyList.peek (), jalview.commands.SlideSequencesCommand)) {
+appendHistoryItem = ssc.appendSlideCommand (historyList.peek ());
+}if (!appendHistoryItem) {
+this.addHistoryItem (ssc);
+}this.repaint ();
+}, "~B,~N");
+Clazz.defineMethod (c$, "copy_actionPerformed", 
+function () {
+if (this.viewport.getSelectionGroup () == null) {
+return;
+}var sg = this.viewport.getSelectionGroup ();
+jalview.appletgui.AlignFrame.copiedSequences =  new StringBuffer ();
+var orderedSeqs =  new java.util.HashMap ();
+for (var i = 0; i < sg.getSize (); i++) {
+var seq = sg.getSequenceAt (i);
+var index = this.viewport.getAlignment ().findIndex (seq);
+orderedSeqs.put (new Integer (index), seq);
+}
+var index = 0;
+var startRes;
+var endRes;
+var ch;
+if (this.viewport.hasHiddenColumns () && this.viewport.getSelectionGroup () != null) {
+jalview.appletgui.AlignFrame.copiedHiddenColumns =  new java.util.Vector ();
+var hiddenOffset = this.viewport.getSelectionGroup ().getStartRes ();
+for (var region, $region = this.viewport.getColumnSelection ().getHiddenColumns ().iterator (); $region.hasNext () && ((region = $region.next ()) || true);) {
+jalview.appletgui.AlignFrame.copiedHiddenColumns.addElement ( Clazz.newIntArray (-1, [region[0] - hiddenOffset, region[1] - hiddenOffset]));
+}
+} else {
+jalview.appletgui.AlignFrame.copiedHiddenColumns = null;
+}for (var i = 0; i < sg.getSize (); i++) {
+var seq = null;
+while (seq == null) {
+if (orderedSeqs.containsKey (new Integer (index))) {
+seq = orderedSeqs.get (new Integer (index));
+index++;
+break;
+} else {
+index++;
+}}
+startRes = seq.findPosition (sg.getStartRes ());
+endRes = 0;
+for (var j = 0; j < sg.getEndRes () + 1 && j < seq.getLength (); j++) {
+ch = seq.getCharAt (j);
+if (!jalview.util.Comparison.isGap ((ch))) {
+endRes++;
+}}
+if (endRes > 0) {
+endRes += seq.getStart () - 1;
+}jalview.appletgui.AlignFrame.copiedSequences.append (seq.getName () + "\t" + startRes + "\t" + endRes + "\t" + seq.getSequenceAsString (sg.getStartRes (), sg.getEndRes () + 1) + "\n");
+}
+});
+Clazz.defineMethod (c$, "pasteNew_actionPerformed", 
+function () {
+this.paste (true);
+});
+Clazz.defineMethod (c$, "pasteThis_actionPerformed", 
+function () {
+this.paste (false);
+});
+Clazz.defineMethod (c$, "paste", 
+function (newAlignment) {
+try {
+if (jalview.appletgui.AlignFrame.copiedSequences == null) {
+return;
+}var st =  new java.util.StringTokenizer (jalview.appletgui.AlignFrame.copiedSequences.toString ());
+var seqs =  new java.util.Vector ();
+while (st.hasMoreElements ()) {
+var name = st.nextToken ();
+var start = Integer.parseInt (st.nextToken ());
+var end = Integer.parseInt (st.nextToken ());
+seqs.addElement ( new jalview.datamodel.Sequence (name, st.nextToken (), start, end));
+}
+var newSeqs =  new Array (seqs.size ());
+for (var i = 0; i < seqs.size (); i++) {
+newSeqs[i] = seqs.elementAt (i);
+}
+if (newAlignment) {
+var newtitle = jalview.util.MessageManager.getString ("label.copied_sequences");
+if (this.getTitle ().startsWith (jalview.util.MessageManager.getString ("label.copied_sequences"))) {
+newtitle = this.getTitle ();
+} else {
+newtitle = newtitle.concat (jalview.util.MessageManager.formatMessage ("label.from_msname",  Clazz.newArray (-1, [this.getTitle ()])));
+}var af =  new jalview.appletgui.AlignFrame ( new jalview.datamodel.Alignment (newSeqs), this.viewport.applet, newtitle, false);
+if (jalview.appletgui.AlignFrame.copiedHiddenColumns != null) {
+for (var i = 0; i < jalview.appletgui.AlignFrame.copiedHiddenColumns.size (); i++) {
+var region = jalview.appletgui.AlignFrame.copiedHiddenColumns.elementAt (i);
+af.viewport.hideColumns (region[0], region[1]);
+}
+}jalview.bin.JalviewLite.addFrame (af, newtitle, this.frameWidth, this.frameHeight);
+} else {
+this.addSequences (newSeqs);
+}} catch (ex) {
+if (Clazz.exceptionOf (ex, Exception)) {
+} else {
+throw ex;
+}
+}
+}, "~B");
+Clazz.defineMethod (c$, "addSequences", 
+function (seqs) {
+for (var i = 0; i < seqs.length; i++) {
+this.viewport.getAlignment ().addSequence (seqs[i]);
+}
+this.addHistoryItem ( new jalview.commands.EditCommand (jalview.util.MessageManager.getString ("label.add_sequences"), jalview.commands.EditCommand.Action.PASTE, seqs, 0, this.viewport.getAlignment ().getWidth (), this.viewport.getAlignment ()));
+this.viewport.setEndSeq (this.viewport.getAlignment ().getHeight ());
+this.viewport.getAlignment ().getWidth ();
+this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());
+}, "~A");
+Clazz.defineMethod (c$, "cut_actionPerformed", 
+function () {
+this.copy_actionPerformed ();
+this.delete_actionPerformed ();
+});
+Clazz.defineMethod (c$, "delete_actionPerformed", 
+function () {
+var sg = this.viewport.getSelectionGroup ();
+if (sg == null) {
+return;
+}var seqs =  new java.util.Vector ();
+var seq;
+for (var i = 0; i < sg.getSize (); i++) {
+seq = sg.getSequenceAt (i);
+seqs.addElement (seq);
+}
+if (sg.getSize () == this.viewport.getAlignment ().getHeight ()) {
+this.viewport.getColumnSelection ().removeElements (sg.getStartRes (), sg.getEndRes () + 1);
+}var cut =  new Array (seqs.size ());
+for (var i = 0; i < seqs.size (); i++) {
+cut[i] = seqs.elementAt (i);
+}
+this.addHistoryItem ( new jalview.commands.EditCommand (jalview.util.MessageManager.getString ("label.cut_sequences"), jalview.commands.EditCommand.Action.CUT, cut, sg.getStartRes (), sg.getEndRes () - sg.getStartRes () + 1, this.viewport.getAlignment ()));
+this.viewport.setSelectionGroup (null);
+this.viewport.getAlignment ().deleteGroup (sg);
+this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());
+if (this.viewport.getAlignment ().getHeight () < 1) {
+this.setVisible (false);
+}this.viewport.sendSelection ();
+});
+Clazz.defineMethod (c$, "showGroupConsensus_actionPerformed", 
+function () {
+this.viewport.setShowGroupConsensus (this.showGroupConsensus.getState ());
+this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());
+});
+Clazz.defineMethod (c$, "showGroupConservation_actionPerformed", 
+function () {
+this.viewport.setShowGroupConservation (this.showGroupConservation.getState ());
+this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());
+});
+Clazz.defineMethod (c$, "showConsensusHistogram_actionPerformed", 
+function () {
+this.viewport.setShowConsensusHistogram (this.showConsensusHistogram.getState ());
+this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());
+});
+Clazz.defineMethod (c$, "showSequenceLogo_actionPerformed", 
+function () {
+this.viewport.setShowSequenceLogo (this.showSequenceLogo.getState ());
+this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());
+});
+Clazz.defineMethod (c$, "normSequenceLogo_actionPerformed", 
+function () {
+this.showSequenceLogo.setState (true);
+this.viewport.setShowSequenceLogo (true);
+this.viewport.setNormaliseSequenceLogo (this.normSequenceLogo.getState ());
+this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());
+});
+Clazz.defineMethod (c$, "applyAutoAnnotationSettings_actionPerformed", 
+function () {
+this.alignPanel.updateAnnotation (this.applyAutoAnnotationSettings.getState ());
+});
+Clazz.defineMethod (c$, "makeGrpsFromSelection_actionPerformed", 
+function () {
+if (this.avc.makeGroupsFromSelection ()) {
+jalview.appletgui.PaintRefresher.Refresh (this, this.viewport.getSequenceSetId ());
+this.alignPanel.updateAnnotation ();
+this.alignPanel.paintAlignment (true);
+}});
+Clazz.defineMethod (c$, "createGroup_actionPerformed", 
+function () {
+this.avc.createGroup ();
+});
+Clazz.defineMethod (c$, "unGroup_actionPerformed", 
+function () {
+if (this.avc.unGroup ()) {
+this.alignPanel.alignmentChanged ();
+}});
+Clazz.defineMethod (c$, "deleteGroups_actionPerformed", 
+function () {
+if (this.avc.deleteGroups ()) {
+this.alignPanel.alignmentChanged ();
+}});
+Clazz.defineMethod (c$, "selectAllSequenceMenuItem_actionPerformed", 
+function () {
+var sg =  new jalview.datamodel.SequenceGroup ();
+for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {
+sg.addSequence (this.viewport.getAlignment ().getSequenceAt (i), false);
+}
+sg.setEndRes (this.viewport.getAlignment ().getWidth () - 1);
+this.viewport.setSelectionGroup (sg);
+this.alignPanel.paintAlignment (true);
+jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());
+this.viewport.sendSelection ();
+});
+Clazz.defineMethod (c$, "deselectAllSequenceMenuItem_actionPerformed", 
+function () {
+if (this.viewport.cursorMode) {
+this.alignPanel.seqPanel.keyboardNo1 = null;
+this.alignPanel.seqPanel.keyboardNo2 = null;
+}this.viewport.setSelectionGroup (null);
+this.viewport.getColumnSelection ().clear ();
+this.viewport.setSelectionGroup (null);
+this.alignPanel.idPanel.idCanvas.searchResults = null;
+this.alignPanel.seqPanel.seqCanvas.highlightSearchResults (null);
+this.alignPanel.paintAlignment (true);
+jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());
+this.viewport.sendSelection ();
+});
+Clazz.defineMethod (c$, "invertSequenceMenuItem_actionPerformed", 
+function () {
+var sg = this.viewport.getSelectionGroup ();
+for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {
+sg.addOrRemove (this.viewport.getAlignment ().getSequenceAt (i), false);
+}
+jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());
+this.viewport.sendSelection ();
+});
+Clazz.defineMethod (c$, "invertColSel_actionPerformed", 
+function () {
+this.viewport.invertColumnSelection ();
+this.alignPanel.paintAlignment (true);
+jalview.appletgui.PaintRefresher.Refresh (this.alignPanel, this.viewport.getSequenceSetId ());
+this.viewport.sendSelection ();
+});
+Clazz.defineMethod (c$, "trimAlignment", 
+function (trimLeft) {
+var colSel = this.viewport.getColumnSelection ();
+var column;
+if (colSel.size () > 0) {
+if (trimLeft) {
+column = colSel.getMin ();
+} else {
+column = colSel.getMax ();
+}var seqs;
+if (this.viewport.getSelectionGroup () != null) {
+seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());
+} else {
+seqs = this.viewport.getAlignment ().getSequencesArray ();
+}var trimRegion;
+if (trimLeft) {
+trimRegion =  new jalview.commands.TrimRegionCommand ("Remove Left", jalview.commands.TrimRegionCommand.TRIM_LEFT, seqs, column, this.viewport.getAlignment (), this.viewport.getColumnSelection (), this.viewport.getSelectionGroup ());
+this.viewport.setStartRes (0);
+} else {
+trimRegion =  new jalview.commands.TrimRegionCommand ("Remove Right", jalview.commands.TrimRegionCommand.TRIM_RIGHT, seqs, column, this.viewport.getAlignment (), this.viewport.getColumnSelection (), this.viewport.getSelectionGroup ());
+}this.setStatus (jalview.util.MessageManager.formatMessage ("label.removed_columns",  Clazz.newArray (-1, [Integer.$valueOf (trimRegion.getSize ()).toString ()])));
+this.addHistoryItem (trimRegion);
+for (var sg, $sg = this.viewport.getAlignment ().getGroups ().iterator (); $sg.hasNext () && ((sg = $sg.next ()) || true);) {
+if ((trimLeft && !sg.adjustForRemoveLeft (column)) || (!trimLeft && !sg.adjustForRemoveRight (column))) {
+this.viewport.getAlignment ().deleteGroup (sg);
+}}
+this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());
+}}, "~B");
+Clazz.defineMethod (c$, "removeGappedColumnMenuItem_actionPerformed", 
+function () {
+var start = 0;
+var end = this.viewport.getAlignment ().getWidth () - 1;
+var seqs;
+if (this.viewport.getSelectionGroup () != null) {
+seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());
+start = this.viewport.getSelectionGroup ().getStartRes ();
+end = this.viewport.getSelectionGroup ().getEndRes ();
+} else {
+seqs = this.viewport.getAlignment ().getSequencesArray ();
+}var removeGapCols =  new jalview.commands.RemoveGapColCommand ("Remove Gapped Columns", seqs, start, end, this.viewport.getAlignment ());
+this.addHistoryItem (removeGapCols);
+this.setStatus (jalview.util.MessageManager.formatMessage ("label.removed_empty_columns",  Clazz.newArray (-1, [Integer.$valueOf (removeGapCols.getSize ()).toString ()])));
+var seq = this.viewport.getAlignment ().getSequenceAt (0);
+var startRes = seq.findPosition (this.viewport.startRes);
+this.viewport.setStartRes (seq.findIndex (startRes) - 1);
+this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());
+});
+Clazz.defineMethod (c$, "removeAllGapsMenuItem_actionPerformed", 
+function () {
+var start = 0;
+var end = this.viewport.getAlignment ().getWidth () - 1;
+var seqs;
+if (this.viewport.getSelectionGroup () != null) {
+seqs = this.viewport.getSelectionGroup ().getSequencesAsArray (this.viewport.getHiddenRepSequences ());
+start = this.viewport.getSelectionGroup ().getStartRes ();
+end = this.viewport.getSelectionGroup ().getEndRes ();
+} else {
+seqs = this.viewport.getAlignment ().getSequencesArray ();
+}var seq = this.viewport.getAlignment ().getSequenceAt (0);
+var startRes = seq.findPosition (this.viewport.startRes);
+this.addHistoryItem ( new jalview.commands.RemoveGapsCommand ("Remove Gaps", seqs, start, end, this.viewport.getAlignment ()));
+this.viewport.setStartRes (seq.findIndex (startRes) - 1);
+this.viewport.firePropertyChange ("alignment", null, this.viewport.getAlignment ().getSequences ());
+});
+Clazz.defineMethod (c$, "findMenuItem_actionPerformed", 
+function () {
+ new jalview.appletgui.Finder (this.alignPanel);
+});
+Clazz.defineMethod (c$, "newView", 
+function (viewtitle) {
+var newal;
+if (this.viewport.hasHiddenRows ()) {
+newal =  new jalview.datamodel.Alignment (this.viewport.getAlignment ().getHiddenSequences ().getFullAlignment ().getSequencesArray ());
+} else {
+newal =  new jalview.datamodel.Alignment (this.viewport.getAlignment ().getSequencesArray ());
+}if (this.viewport.getAlignment ().getAlignmentAnnotation () != null) {
+for (var i = 0; i < this.viewport.getAlignment ().getAlignmentAnnotation ().length; i++) {
+if (!this.viewport.getAlignment ().getAlignmentAnnotation ()[i].autoCalculated) {
+newal.addAnnotation (this.viewport.getAlignment ().getAlignmentAnnotation ()[i]);
+}}
+}var newaf =  new jalview.appletgui.AlignFrame (newal, this.viewport.applet, "", false);
+newaf.viewport.setSequenceSetId (this.alignPanel.av.getSequenceSetId ());
+jalview.appletgui.PaintRefresher.Register (this.alignPanel, this.alignPanel.av.getSequenceSetId ());
+jalview.appletgui.PaintRefresher.Register (newaf.alignPanel, newaf.alignPanel.av.getSequenceSetId ());
+jalview.appletgui.PaintRefresher.Register (newaf.alignPanel.idPanel.idCanvas, newaf.alignPanel.av.getSequenceSetId ());
+jalview.appletgui.PaintRefresher.Register (newaf.alignPanel.seqPanel.seqCanvas, newaf.alignPanel.av.getSequenceSetId ());
+var comps = jalview.appletgui.PaintRefresher.components.get (this.viewport.getSequenceSetId ());
+var viewSize = -1;
+for (var i = 0; i < comps.size (); i++) {
+if (Clazz.instanceOf (comps.elementAt (i), jalview.appletgui.AlignmentPanel)) {
+viewSize++;
+}}
+var title =  String.instantialize (this.getTitle ());
+if (viewtitle != null) {
+title = viewtitle + " ( " + title + ")";
+} else {
+if (title.indexOf ("(View") > -1) {
+title = title.substring (0, title.indexOf ("(View"));
+}title += "(View " + viewSize + ")";
+}newaf.setTitle (title.toString ());
+newaf.viewport.setHistoryList (this.viewport.getHistoryList ());
+newaf.viewport.setRedoList (this.viewport.getRedoList ());
+return newaf;
+}, "~S");
+Clazz.defineMethod (c$, "getFeatureGroups", 
+function () {
+var fr = null;
+if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {
+var gps = fr.getFeatureGroups ();
+var _gps = gps.toArray ( new Array (gps.size ()));
+return _gps;
+}return null;
+});
+Clazz.defineMethod (c$, "getFeatureGroupsOfState", 
+function (visible) {
+var fr = null;
+if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {
+var gps = fr.getGroups (visible);
+var _gps = gps.toArray ( new Array (gps.size ()));
+return _gps;
+}return null;
+}, "~B");
+Clazz.defineMethod (c$, "setFeatureGroupState", 
+function (groups, state) {
+var fr = null;
+this.sequenceFeatures.setState (true);
+this.viewport.setShowSequenceFeatures (true);
+if (this.alignPanel != null && (fr = this.alignPanel.getFeatureRenderer ()) != null) {
+fr.setGroupVisibility (java.util.Arrays.asList (groups), state);
+this.alignPanel.seqPanel.seqCanvas.repaint ();
+if (this.alignPanel.overviewPanel != null) {
+this.alignPanel.overviewPanel.updateOverviewImage ();
+}}}, "~A,~B");
+Clazz.defineMethod (c$, "seqLimits_itemStateChanged", 
+function () {
+this.viewport.setShowJVSuffix (this.seqLimits.getState ());
+this.alignPanel.fontChanged ();
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "colourTextMenuItem_actionPerformed", 
+function () {
+this.viewport.setColourText (this.colourTextMenuItem.getState ());
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "displayNonconservedMenuItem_actionPerformed", 
+function () {
+this.viewport.setShowUnconserved (this.displayNonconservedMenuItem.getState ());
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "wrapMenuItem_actionPerformed", 
+function () {
+this.viewport.setWrapAlignment (this.wrapMenuItem.getState ());
+this.alignPanel.setWrapAlignment (this.wrapMenuItem.getState ());
+this.scaleAbove.setEnabled (this.wrapMenuItem.getState ());
+this.scaleLeft.setEnabled (this.wrapMenuItem.getState ());
+this.scaleRight.setEnabled (this.wrapMenuItem.getState ());
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "overviewMenuItem_actionPerformed", 
+function () {
+if (this.alignPanel.overviewPanel != null) {
+return;
+}var frame =  new awt2swing.Frame ();
+var overview =  new jalview.appletgui.OverviewPanel (this.alignPanel);
+frame.add (overview);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.formatMessage ("label.overview_params",  Clazz.newArray (-1, [this.getTitle ()])), overview.getPreferredSize ().width, overview.getPreferredSize ().height + 50);
+frame.pack ();
+var ap = this.alignPanel;
+frame.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$1") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$1, this, Clazz.cloneFinals ("ap", ap))));
+this.alignPanel.setOverviewPanel (overview);
+});
+Clazz.overrideMethod (c$, "changeColour", 
+function (cs) {
+var threshold = 0;
+if (cs != null) {
+if (this.viewport.getAbovePIDThreshold ()) {
+this.viewport.setThreshold (jalview.appletgui.SliderPanel.setPIDSliderSource (this.alignPanel, cs, "Background"));
+}if (this.viewport.getConservationSelected ()) {
+cs.setConservationApplied (true);
+this.viewport.setIncrement (jalview.appletgui.SliderPanel.setConservationSlider (this.alignPanel, cs, "Background"));
+} else {
+cs.setConservationApplied (false);
+}}this.viewport.setGlobalColourScheme (cs);
+if (this.alignPanel.getOverviewPanel () != null) {
+this.alignPanel.getOverviewPanel ().updateOverviewImage ();
+}jalview.structure.StructureSelectionManager.getStructureSelectionManager (this.viewport.applet).sequenceColoursChanged (this.alignPanel);
+this.alignPanel.paintAlignment (true);
+}, "jalview.schemes.ColourSchemeI");
+Clazz.defineMethod (c$, "modifyPID_actionPerformed", 
+function () {
+if (this.viewport.getAbovePIDThreshold () && this.viewport.getGlobalColourScheme () != null) {
+jalview.appletgui.SliderPanel.setPIDSliderSource (this.alignPanel, this.viewport.getGlobalColourScheme (), "Background");
+jalview.appletgui.SliderPanel.showPIDSlider ();
+}});
+Clazz.defineMethod (c$, "modifyConservation_actionPerformed", 
+function () {
+if (this.viewport.getConservationSelected () && this.viewport.getGlobalColourScheme () != null) {
+jalview.appletgui.SliderPanel.setConservationSlider (this.alignPanel, this.viewport.getGlobalColourScheme (), "Background");
+jalview.appletgui.SliderPanel.showConservationSlider ();
+}});
+Clazz.defineMethod (c$, "conservationMenuItem_actionPerformed", 
+function () {
+this.viewport.setConservationSelected (this.conservationMenuItem.getState ());
+this.viewport.setAbovePIDThreshold (false);
+this.abovePIDThreshold.setState (false);
+this.changeColour (this.viewport.getGlobalColourScheme ());
+this.modifyConservation_actionPerformed ();
+});
+Clazz.defineMethod (c$, "abovePIDThreshold_actionPerformed", 
+function () {
+this.viewport.setAbovePIDThreshold (this.abovePIDThreshold.getState ());
+this.conservationMenuItem.setState (false);
+this.viewport.setConservationSelected (false);
+this.changeColour (this.viewport.getGlobalColourScheme ());
+this.modifyPID_actionPerformed ();
+});
+Clazz.defineMethod (c$, "sortPairwiseMenuItem_actionPerformed", 
+function () {
+var oldOrder = this.viewport.getAlignment ().getSequencesArray ();
+jalview.analysis.AlignmentSorter.sortByPID (this.viewport.getAlignment (), this.viewport.getAlignment ().getSequenceAt (0), null);
+this.addHistoryItem ( new jalview.commands.OrderCommand ("Pairwise Sort", oldOrder, this.viewport.getAlignment ()));
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "sortIDMenuItem_actionPerformed", 
+function () {
+var oldOrder = this.viewport.getAlignment ().getSequencesArray ();
+jalview.analysis.AlignmentSorter.sortByID (this.viewport.getAlignment ());
+this.addHistoryItem ( new jalview.commands.OrderCommand ("ID Sort", oldOrder, this.viewport.getAlignment ()));
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "sortLengthMenuItem_actionPerformed", 
+function () {
+var oldOrder = this.viewport.getAlignment ().getSequencesArray ();
+jalview.analysis.AlignmentSorter.sortByLength (this.viewport.getAlignment ());
+this.addHistoryItem ( new jalview.commands.OrderCommand ("Length Sort", oldOrder, this.viewport.getAlignment ()));
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "sortGroupMenuItem_actionPerformed", 
+function () {
+var oldOrder = this.viewport.getAlignment ().getSequencesArray ();
+jalview.analysis.AlignmentSorter.sortByGroup (this.viewport.getAlignment ());
+this.addHistoryItem ( new jalview.commands.OrderCommand ("Group Sort", oldOrder, this.viewport.getAlignment ()));
+this.alignPanel.paintAlignment (true);
+});
+Clazz.defineMethod (c$, "removeRedundancyMenuItem_actionPerformed", 
+function () {
+ new jalview.appletgui.RedundancyPanel (this.alignPanel);
+});
+Clazz.defineMethod (c$, "pairwiseAlignmentMenuItem_actionPerformed", 
+function () {
+if (this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () > 1) {
+var frame =  new awt2swing.Frame ();
+frame.add ( new jalview.appletgui.PairwiseAlignPanel (this.alignPanel));
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("action.pairwise_alignment"), 600, 500);
+}});
+Clazz.defineMethod (c$, "PCAMenuItem_actionPerformed", 
+function () {
+if (!this.viewport.getAlignment ().isAligned (false)) {
+var current;
+var Width = this.viewport.getAlignment ().getWidth ();
+for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {
+current = this.viewport.getAlignment ().getSequenceAt (i);
+if (current.getLength () < Width) {
+current.insertCharAt (Width - 1, this.viewport.getGapCharacter ());
+}}
+this.alignPanel.paintAlignment (true);
+}if ((this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () < 4 && this.viewport.getSelectionGroup ().getSize () > 0) || this.viewport.getAlignment ().getHeight () < 4) {
+return;
+}try {
+ new jalview.appletgui.PCAPanel (this.viewport);
+} catch (ex) {
+if (Clazz.exceptionOf (ex, OutOfMemoryError)) {
+} else {
+throw ex;
+}
+}
+});
+Clazz.defineMethod (c$, "averageDistanceTreeMenuItem_actionPerformed", 
+function () {
+this.NewTreePanel ("AV", "PID", "Average distance tree using PID");
+});
+Clazz.defineMethod (c$, "neighbourTreeMenuItem_actionPerformed", 
+function () {
+this.NewTreePanel ("NJ", "PID", "Neighbour joining tree using PID");
+});
+Clazz.defineMethod (c$, "njTreeBlosumMenuItem_actionPerformed", 
+function () {
+this.NewTreePanel ("NJ", "BL", "Neighbour joining tree using BLOSUM62");
+});
+Clazz.defineMethod (c$, "avTreeBlosumMenuItem_actionPerformed", 
+function () {
+this.NewTreePanel ("AV", "BL", "Average distance tree using BLOSUM62");
+});
+Clazz.defineMethod (c$, "NewTreePanel", 
+function (type, pwType, title) {
+if (!this.viewport.getAlignment ().isAligned (false)) {
+var current;
+var Width = this.viewport.getAlignment ().getWidth ();
+for (var i = 0; i < this.viewport.getAlignment ().getSequences ().size (); i++) {
+current = this.viewport.getAlignment ().getSequenceAt (i);
+if (current.getLength () < Width) {
+current.insertCharAt (Width - 1, this.viewport.getGapCharacter ());
+}}
+this.alignPanel.paintAlignment (true);
+}if ((this.viewport.getSelectionGroup () != null && this.viewport.getSelectionGroup ().getSize () > 1) || (this.viewport.getAlignment ().getHeight () > 1)) {
+var tp =  new jalview.appletgui.TreePanel (this.alignPanel, type, pwType);
+this.addTreeMenuItem (tp, title);
+jalview.bin.JalviewLite.addFrame (tp, title, 600, 500);
+}}, "~S,~S,~S");
+Clazz.defineMethod (c$, "loadTree_actionPerformed", 
+function () {
+var cap =  new jalview.appletgui.CutAndPasteTransfer (true, this);
+cap.setText (jalview.util.MessageManager.getString ("label.paste_newick_tree_file"));
+cap.setTreeImport ();
+var frame =  new awt2swing.Frame ();
+frame.add (cap);
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.paste_newick_file"), 400, 300);
+});
+Clazz.defineMethod (c$, "loadTree", 
+function (tree, treeFile) {
+var tp =  new jalview.appletgui.TreePanel (this.alignPanel, treeFile, jalview.util.MessageManager.getString ("label.load_tree_from_file"), tree);
+jalview.bin.JalviewLite.addFrame (tp, treeFile, 600, 500);
+this.addTreeMenuItem (tp, treeFile);
+}, "jalview.io.NewickFile,~S");
+Clazz.defineMethod (c$, "sortByTree", 
+function (treePanel, title) {
+var oldOrder = this.viewport.getAlignment ().getSequencesArray ();
+jalview.analysis.AlignmentSorter.sortByTree (this.viewport.getAlignment (), treePanel.getTree ());
+this.addHistoryItem ( new jalview.commands.OrderCommand (jalview.util.MessageManager.formatMessage ("label.order_by_params",  Clazz.newArray (-1, [title])), oldOrder, this.viewport.getAlignment ()));
+this.alignPanel.paintAlignment (true);
+}, "jalview.appletgui.TreePanel,~S");
+Clazz.defineMethod (c$, "addTreeMenuItem", 
+function (treePanel, title) {
+var item =  new awt2swing.MenuItem (title);
+this.sortByTreeMenu.add (item);
+item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$2") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$2$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$2, this, Clazz.cloneFinals ("treePanel", treePanel, "title", title))));
+treePanel.addWindowListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$3") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$3$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$3, this, Clazz.cloneFinals ("treePanel", treePanel, "title", title, "item", item))));
+}, "jalview.appletgui.TreePanel,~S");
+Clazz.defineMethod (c$, "sortBy", 
+function (alorder, undoname) {
+var oldOrder = this.viewport.getAlignment ().getSequencesArray ();
+if ((this.viewport.applet, jalview.bin.JalviewLite).debug) {
+System.err.println ("Sorting " + alorder.getOrder ().size () + " in alignment '" + this.getTitle () + "'");
+}jalview.analysis.AlignmentSorter.sortBy (this.viewport.getAlignment (), alorder);
+if (undoname != null) {
+this.addHistoryItem ( new jalview.commands.OrderCommand (undoname, oldOrder, this.viewport.getAlignment ()));
+}this.alignPanel.paintAlignment (true);
+return true;
+}, "jalview.datamodel.AlignmentOrder,~S");
+Clazz.defineMethod (c$, "documentation_actionPerformed", 
+function () {
+this.alignPanel.av.applet.openJalviewHelpUrl ();
+});
+Clazz.defineMethod (c$, "about_actionPerformed", 
+function () {
+if (!Clazz.isClassDefined ("jalview.appletgui.AlignFrame$1AboutPanel")) {
+jalview.appletgui.AlignFrame.$AlignFrame$1AboutPanel$ ();
+}
+var frame =  new awt2swing.Frame ();
+frame.add (Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$1AboutPanel, this, null, jalview.bin.JalviewLite.getVersion (), jalview.bin.JalviewLite.getBuildDate ()));
+jalview.bin.JalviewLite.addFrame (frame, jalview.util.MessageManager.getString ("label.jalview"), 580, 220);
+});
+Clazz.defineMethod (c$, "showURL", 
+function (url, target) {
+if (this.viewport.applet == null) {
+System.out.println ("Not running as applet - no browser available.");
+} else {
+this.viewport.applet.showURL (url, target);
+}}, "~S,~S");
+Clazz.defineMethod (c$, "jbInit", 
+ function () {
+this.setMenuBar (this.alignFrameMenuBar);
+this.inputText.setLabel (jalview.util.MessageManager.getString ("label.input_from_textbox"));
+this.inputText.addActionListener (this);
+var outputTextboxMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("label.out_to_textbox"));
+for (var i = 0; i < jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS.length; i++) {
+var item =  new awt2swing.MenuItem (jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS[i]);
+item.addActionListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$4") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$4$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$4, this, null)));
+outputTextboxMenu.add (item);
+}
+this.closeMenuItem.addActionListener (this);
+this.loadApplication.addActionListener (this);
+this.$loadTree.addActionListener (this);
+this.$loadAnnotations.addActionListener (this);
+this.$outputFeatures.addActionListener (this);
+this.$outputAnnotations.addActionListener (this);
+this.undoMenuItem.setEnabled (false);
+this.undoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.undo"));
+this.undoMenuItem.addActionListener (this);
+this.redoMenuItem.setEnabled (false);
+this.redoMenuItem.setLabel (jalview.util.MessageManager.getString ("action.redo"));
+this.redoMenuItem.addActionListener (this);
+this.copy.setLabel (jalview.util.MessageManager.getString ("action.copy"));
+this.copy.addActionListener (this);
+this.cut.setLabel (jalview.util.MessageManager.getString ("action.cut"));
+this.cut.addActionListener (this);
+this.$delete.setLabel (jalview.util.MessageManager.getString ("action.delete"));
+this.$delete.addActionListener (this);
+this.pasteMenu.setLabel (jalview.util.MessageManager.getString ("action.paste"));
+this.pasteNew.setLabel (jalview.util.MessageManager.getString ("label.to_new_alignment"));
+this.pasteNew.addActionListener (this);
+this.pasteThis.setLabel (jalview.util.MessageManager.getString ("label.to_this_alignment"));
+this.pasteThis.addActionListener (this);
+this.remove2LeftMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_left"));
+this.remove2LeftMenuItem.addActionListener (this);
+this.remove2RightMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_right"));
+this.remove2RightMenuItem.addActionListener (this);
+this.removeGappedColumnMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_empty_columns"));
+this.removeGappedColumnMenuItem.addActionListener (this);
+this.removeAllGapsMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_all_gaps"));
+this.removeAllGapsMenuItem.addActionListener (this);
+this.removeRedundancyMenuItem.setLabel (jalview.util.MessageManager.getString ("action.remove_redundancy").concat ("..."));
+this.removeRedundancyMenuItem.addActionListener (this);
+this.findMenuItem.setLabel (jalview.util.MessageManager.getString ("action.find"));
+this.findMenuItem.addActionListener (this);
+this.selectAllSequenceMenuItem.addActionListener (this);
+this.deselectAllSequenceMenuItem.addActionListener (this);
+this.invertSequenceMenuItem.setLabel (jalview.util.MessageManager.getString ("action.invert_sequence_selection"));
+this.invertSequenceMenuItem.addActionListener (this);
+this.invertColSel.setLabel (jalview.util.MessageManager.getString ("action.invert_column_selection"));
+this.invertColSel.addActionListener (this);
+this.deleteGroups.setLabel (jalview.util.MessageManager.getString ("action.undefine_groups"));
+this.deleteGroups.addActionListener (this);
+this.grpsFromSelection.setLabel (jalview.util.MessageManager.getString ("action.make_groups_selection"));
+this.grpsFromSelection.addActionListener (this);
+this.createGroup.setLabel (jalview.util.MessageManager.getString ("action.create_group"));
+this.unGroup.setLabel (jalview.util.MessageManager.getString ("action.remove_group"));
+this.annotationColumnSelection.setLabel ("Select by Annotation");
+this.annotationColumnSelection.addActionListener (this);
+this.$newView.setLabel (jalview.util.MessageManager.getString ("action.new_view"));
+this.$newView.addActionListener (this);
+var showMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.show"));
+this.showColumns.setLabel (jalview.util.MessageManager.getString ("label.all_columns"));
+this.showSeqs.setLabel (jalview.util.MessageManager.getString ("label.all_sequences"));
+var hideMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.hide"));
+this.hideColumns.setLabel (jalview.util.MessageManager.getString ("label.selected_columns"));
+this.hideSequences.setLabel (jalview.util.MessageManager.getString ("label.selected_sequences"));
+this.hideAllButSelection.setLabel (jalview.util.MessageManager.getString ("label.all_but_selected_region"));
+this.hideAllSelection.setLabel (jalview.util.MessageManager.getString ("label.selected_region"));
+this.showAllHidden.setLabel (jalview.util.MessageManager.getString ("label.all_sequences_columns"));
+this.showColumns.addActionListener (this);
+this.showSeqs.addActionListener (this);
+this.hideColumns.addActionListener (this);
+this.hideSequences.addActionListener (this);
+this.hideAllButSelection.addActionListener (this);
+this.hideAllSelection.addActionListener (this);
+this.showAllHidden.addActionListener (this);
+this.featureSettings.setLabel (jalview.util.MessageManager.getString ("label.feature_settings"));
+this.featureSettings.addActionListener (this);
+this.sequenceFeatures.setLabel (jalview.util.MessageManager.getString ("label.show_sequence_features"));
+this.sequenceFeatures.addItemListener (this);
+this.sequenceFeatures.setState (false);
+this.followMouseOverFlag.setLabel (jalview.util.MessageManager.getString ("label.automatic_scrolling"));
+this.followMouseOverFlag.addItemListener (this);
+this.alProperties.addActionListener (this);
+this.overviewMenuItem.setLabel (jalview.util.MessageManager.getString ("label.overview_window"));
+this.overviewMenuItem.addActionListener (this);
+this.annotationPanelMenuItem.setLabel (jalview.util.MessageManager.getString ("label.show_annotations"));
+this.annotationPanelMenuItem.addItemListener (this);
+this.showGroupConsensus.setLabel (jalview.util.MessageManager.getString ("label.group_consensus"));
+this.showGroupConservation.setLabel (jalview.util.MessageManager.getString ("label.group_conservation"));
+this.showConsensusHistogram.setLabel (jalview.util.MessageManager.getString ("label.show_consensus_histogram"));
+this.showSequenceLogo.setLabel (jalview.util.MessageManager.getString ("label.show_consensus_logo"));
+this.normSequenceLogo.setLabel (jalview.util.MessageManager.getString ("label.norm_consensus_logo"));
+this.applyAutoAnnotationSettings.setLabel (jalview.util.MessageManager.getString ("label.apply_all_groups"));
+this.applyAutoAnnotationSettings.setState (true);
+var autoAnnMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("label.autocalculated_annotation"));
+this.showGroupConsensus.addItemListener (this);
+this.showGroupConservation.addItemListener (this);
+this.showConsensusHistogram.addItemListener (this);
+this.showSequenceLogo.addItemListener (this);
+this.normSequenceLogo.addItemListener (this);
+this.applyAutoAnnotationSettings.addItemListener (this);
+this.showAlignmentAnnotations =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_all_al_annotations"));
+this.showSequenceAnnotations =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_all_seq_annotations"));
+this.sortAnnBySequence =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.sort_annotations_by_sequence"));
+this.sortAnnByLabel =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.sort_annotations_by_label"));
+this.showAutoFirst =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_first"));
+this.showAutoLast =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.show_last"));
+this.showAlignmentAnnotations.addItemListener (this);
+this.showSequenceAnnotations.addItemListener (this);
+this.sortAnnBySequence.addItemListener (this);
+this.sortAnnByLabel.addItemListener (this);
+this.showAutoFirst.addItemListener (this);
+this.showAutoLast.addItemListener (this);
+this.$font.setLabel (jalview.util.MessageManager.getString ("action.font"));
+this.$font.addActionListener (this);
+this.scaleAbove.setLabel (jalview.util.MessageManager.getString ("action.scale_above"));
+this.scaleAbove.setState (true);
+this.scaleAbove.setEnabled (false);
+this.scaleAbove.addItemListener (this);
+this.scaleLeft.setEnabled (false);
+this.scaleLeft.setState (true);
+this.scaleLeft.setLabel (jalview.util.MessageManager.getString ("action.scale_left"));
+this.scaleLeft.addItemListener (this);
+this.scaleRight.setEnabled (false);
+this.scaleRight.setState (true);
+this.scaleRight.setLabel (jalview.util.MessageManager.getString ("action.scale_right"));
+this.scaleRight.addItemListener (this);
+this.viewBoxesMenuItem.setLabel (jalview.util.MessageManager.getString ("action.boxes"));
+this.viewBoxesMenuItem.setState (true);
+this.viewBoxesMenuItem.addItemListener (this);
+this.viewTextMenuItem.setLabel (jalview.util.MessageManager.getString ("action.text"));
+this.viewTextMenuItem.setState (true);
+this.viewTextMenuItem.addItemListener (this);
+this.colourTextMenuItem.setLabel (jalview.util.MessageManager.getString ("label.colour_text"));
+this.colourTextMenuItem.addItemListener (this);
+this.displayNonconservedMenuItem.setLabel (jalview.util.MessageManager.getString ("label.show_non_conversed"));
+this.displayNonconservedMenuItem.addItemListener (this);
+this.wrapMenuItem.setLabel (jalview.util.MessageManager.getString ("action.wrap"));
+this.wrapMenuItem.addItemListener (this);
+this.renderGapsMenuItem.setLabel (jalview.util.MessageManager.getString ("action.show_gaps"));
+this.renderGapsMenuItem.setState (true);
+this.renderGapsMenuItem.addItemListener (this);
+this.centreColumnLabelFlag.setLabel (jalview.util.MessageManager.getString ("label.centre_column_labels"));
+this.centreColumnLabelFlag.addItemListener (this);
+this.seqLimits.setState (true);
+this.seqLimits.setLabel (jalview.util.MessageManager.getString ("label.show_sequence_limits"));
+this.seqLimits.addItemListener (this);
+this.applyToAllGroups.setLabel (jalview.util.MessageManager.getString ("label.apply_colour_to_all_groups"));
+this.applyToAllGroups.setState (true);
+this.applyToAllGroups.addItemListener (this);
+this.clustalColour.setLabel (jalview.util.MessageManager.getString ("label.clustalx"));
+this.clustalColour.addActionListener (this);
+this.zappoColour.setLabel (jalview.util.MessageManager.getString ("label.zappo"));
+this.zappoColour.addActionListener (this);
+this.taylorColour.setLabel (jalview.util.MessageManager.getString ("label.taylor"));
+this.taylorColour.addActionListener (this);
+this.hydrophobicityColour.setLabel (jalview.util.MessageManager.getString ("label.hydrophobicity"));
+this.hydrophobicityColour.addActionListener (this);
+this.helixColour.setLabel (jalview.util.MessageManager.getString ("label.helix_propensity"));
+this.helixColour.addActionListener (this);
+this.strandColour.setLabel (jalview.util.MessageManager.getString ("label.strand_propensity"));
+this.strandColour.addActionListener (this);
+this.turnColour.setLabel (jalview.util.MessageManager.getString ("label.turn_propensity"));
+this.turnColour.addActionListener (this);
+this.buriedColour.setLabel (jalview.util.MessageManager.getString ("label.buried_index"));
+this.buriedColour.addActionListener (this);
+this.purinePyrimidineColour.setLabel (jalview.util.MessageManager.getString ("label.purine_pyrimidine"));
+this.purinePyrimidineColour.addActionListener (this);
+this.RNAInteractionColour.setLabel (jalview.util.MessageManager.getString ("label.rna_interaction"));
+this.RNAInteractionColour.addActionListener (this);
+this.RNAHelixColour.setLabel (jalview.util.MessageManager.getString ("action.by_rna_helixes"));
+this.RNAHelixColour.addActionListener (this);
+this.userDefinedColour.setLabel (jalview.util.MessageManager.getString ("action.user_defined"));
+this.userDefinedColour.addActionListener (this);
+this.PIDColour.setLabel (jalview.util.MessageManager.getString ("label.percentage_identity"));
+this.PIDColour.addActionListener (this);
+this.BLOSUM62Colour.setLabel (jalview.util.MessageManager.getString ("label.blosum62_score"));
+this.BLOSUM62Colour.addActionListener (this);
+this.tcoffeeColour.setLabel (jalview.util.MessageManager.getString ("label.tcoffee_scores"));
+this.tcoffeeColour.setEnabled (false);
+this.tcoffeeColour.addActionListener (this);
+this.conservationMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_conservation"));
+this.conservationMenuItem.addItemListener (this);
+this.noColourmenuItem.setLabel (jalview.util.MessageManager.getString ("label.none"));
+this.noColourmenuItem.addActionListener (this);
+this.abovePIDThreshold.setLabel (jalview.util.MessageManager.getString ("label.above_identity_threshold"));
+this.abovePIDThreshold.addItemListener (this);
+this.nucleotideColour.setLabel (jalview.util.MessageManager.getString ("label.nucleotide"));
+this.nucleotideColour.addActionListener (this);
+this.modifyPID.setLabel (jalview.util.MessageManager.getString ("label.modify_identity_thereshold"));
+this.modifyPID.addActionListener (this);
+this.modifyConservation.setLabel (jalview.util.MessageManager.getString ("label.modify_conservation_thereshold"));
+this.modifyConservation.addActionListener (this);
+this.annotationColour.setLabel (jalview.util.MessageManager.getString ("action.by_annotation"));
+this.annotationColour.addActionListener (this);
+this.sortPairwiseMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_pairwise_id"));
+this.sortPairwiseMenuItem.addActionListener (this);
+this.sortIDMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_id"));
+this.sortIDMenuItem.addActionListener (this);
+this.sortLengthMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_length"));
+this.sortLengthMenuItem.addActionListener (this);
+this.sortGroupMenuItem.setLabel (jalview.util.MessageManager.getString ("action.by_group"));
+this.sortGroupMenuItem.addActionListener (this);
+this.pairwiseAlignmentMenuItem.setLabel (jalview.util.MessageManager.getString ("action.pairwise_alignment"));
+this.pairwiseAlignmentMenuItem.addActionListener (this);
+this.PCAMenuItem.setLabel (jalview.util.MessageManager.getString ("label.principal_component_analysis"));
+this.PCAMenuItem.addActionListener (this);
+this.autoCalculate =  new awt2swing.CheckboxMenuItem (jalview.util.MessageManager.getString ("label.autocalculate_consensus"), true);
+this.averageDistanceTreeMenuItem.setLabel (jalview.util.MessageManager.getString ("label.average_distance_identity"));
+this.averageDistanceTreeMenuItem.addActionListener (this);
+this.neighbourTreeMenuItem.setLabel (jalview.util.MessageManager.getString ("label.neighbour_joining_identity"));
+this.neighbourTreeMenuItem.addActionListener (this);
+this.avDistanceTreeBlosumMenuItem.setLabel (jalview.util.MessageManager.getString ("label.average_distance_bloslum62"));
+this.avDistanceTreeBlosumMenuItem.addActionListener (this);
+this.njTreeBlosumMenuItem.setLabel (jalview.util.MessageManager.getString ("label.neighbour_blosum62"));
+this.njTreeBlosumMenuItem.addActionListener (this);
+this.sortByTreeMenu.setLabel (jalview.util.MessageManager.getString ("action.by_tree_order"));
+var sortMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.sort"));
+var calculateTreeMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.calculate_tree"));
+this.autoCalculate.addItemListener (this);
+this.$sortByTree.addItemListener (this);
+var helpMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.help"));
+this.documentation.setLabel (jalview.util.MessageManager.getString ("label.documentation"));
+this.documentation.addActionListener (this);
+this.about.setLabel (jalview.util.MessageManager.getString ("label.about"));
+this.about.addActionListener (this);
+this.alignFrameMenuBar.add (this.fileMenu);
+var editMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.edit"));
+this.alignFrameMenuBar.add (editMenu);
+var selectMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.select"));
+this.alignFrameMenuBar.add (selectMenu);
+var viewMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.view"));
+this.alignFrameMenuBar.add (viewMenu);
+var annotationsMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.annotations"));
+this.alignFrameMenuBar.add (annotationsMenu);
+var formatMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.format"));
+this.alignFrameMenuBar.add (formatMenu);
+var colourMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.colour"));
+this.alignFrameMenuBar.add (colourMenu);
+var calculateMenu =  new awt2swing.Menu (jalview.util.MessageManager.getString ("action.calculate"));
+this.alignFrameMenuBar.add (calculateMenu);
+this.alignFrameMenuBar.add (helpMenu);
+this.fileMenu.add (this.inputText);
+this.fileMenu.add (this.$loadTree);
+this.fileMenu.add (this.$loadAnnotations);
+this.fileMenu.addSeparator ();
+this.fileMenu.add (outputTextboxMenu);
+this.fileMenu.add (this.$outputFeatures);
+this.fileMenu.add (this.$outputAnnotations);
+if (this.jalviewServletURL != null) {
+this.fileMenu.add (this.loadApplication);
+}this.fileMenu.addSeparator ();
+this.fileMenu.add (this.closeMenuItem);
+editMenu.add (this.undoMenuItem);
+editMenu.add (this.redoMenuItem);
+editMenu.add (this.cut);
+editMenu.add (this.copy);
+this.pasteMenu.add (this.pasteNew);
+this.pasteMenu.add (this.pasteThis);
+editMenu.add (this.pasteMenu);
+editMenu.add (this.$delete);
+editMenu.addSeparator ();
+editMenu.add (this.remove2LeftMenuItem);
+editMenu.add (this.remove2RightMenuItem);
+editMenu.add (this.removeGappedColumnMenuItem);
+editMenu.add (this.removeAllGapsMenuItem);
+editMenu.add (this.removeRedundancyMenuItem);
+selectMenu.add (this.findMenuItem);
+selectMenu.addSeparator ();
+selectMenu.add (this.selectAllSequenceMenuItem);
+selectMenu.add (this.deselectAllSequenceMenuItem);
+selectMenu.add (this.invertSequenceMenuItem);
+selectMenu.add (this.invertColSel);
+selectMenu.add (this.createGroup);
+selectMenu.add (this.unGroup);
+selectMenu.add (this.grpsFromSelection);
+selectMenu.add (this.deleteGroups);
+selectMenu.add (this.annotationColumnSelection);
+viewMenu.add (this.$newView);
+viewMenu.addSeparator ();
+showMenu.add (this.showColumns);
+showMenu.add (this.showSeqs);
+showMenu.add (this.showAllHidden);
+viewMenu.add (showMenu);
+hideMenu.add (this.hideColumns);
+hideMenu.add (this.hideSequences);
+hideMenu.add (this.hideAllSelection);
+hideMenu.add (this.hideAllButSelection);
+viewMenu.add (hideMenu);
+viewMenu.addSeparator ();
+viewMenu.add (this.followMouseOverFlag);
+viewMenu.addSeparator ();
+viewMenu.add (this.sequenceFeatures);
+viewMenu.add (this.featureSettings);
+viewMenu.addSeparator ();
+viewMenu.add (this.alProperties);
+viewMenu.addSeparator ();
+viewMenu.add (this.overviewMenuItem);
+annotationsMenu.add (this.annotationPanelMenuItem);
+annotationsMenu.addSeparator ();
+annotationsMenu.add (this.showAlignmentAnnotations);
+annotationsMenu.add (this.showSequenceAnnotations);
+annotationsMenu.add (this.sortAnnBySequence);
+annotationsMenu.add (this.sortAnnByLabel);
+annotationsMenu.addSeparator ();
+autoAnnMenu.add (this.showAutoFirst);
+autoAnnMenu.add (this.showAutoLast);
+autoAnnMenu.addSeparator ();
+autoAnnMenu.add (this.applyAutoAnnotationSettings);
+autoAnnMenu.add (this.showConsensusHistogram);
+autoAnnMenu.add (this.showSequenceLogo);
+autoAnnMenu.add (this.normSequenceLogo);
+autoAnnMenu.addSeparator ();
+autoAnnMenu.add (this.showGroupConservation);
+autoAnnMenu.add (this.showGroupConsensus);
+annotationsMenu.add (autoAnnMenu);
+formatMenu.add (this.$font);
+formatMenu.add (this.seqLimits);
+formatMenu.add (this.wrapMenuItem);
+formatMenu.add (this.scaleAbove);
+formatMenu.add (this.scaleLeft);
+formatMenu.add (this.scaleRight);
+formatMenu.add (this.viewBoxesMenuItem);
+formatMenu.add (this.viewTextMenuItem);
+formatMenu.add (this.colourTextMenuItem);
+formatMenu.add (this.displayNonconservedMenuItem);
+formatMenu.add (this.renderGapsMenuItem);
+formatMenu.add (this.centreColumnLabelFlag);
+colourMenu.add (this.applyToAllGroups);
+colourMenu.addSeparator ();
+colourMenu.add (this.noColourmenuItem);
+colourMenu.add (this.clustalColour);
+colourMenu.add (this.BLOSUM62Colour);
+colourMenu.add (this.PIDColour);
+colourMenu.add (this.zappoColour);
+colourMenu.add (this.taylorColour);
+colourMenu.add (this.hydrophobicityColour);
+colourMenu.add (this.helixColour);
+colourMenu.add (this.strandColour);
+colourMenu.add (this.turnColour);
+colourMenu.add (this.buriedColour);
+colourMenu.add (this.nucleotideColour);
+colourMenu.add (this.purinePyrimidineColour);
+colourMenu.add (this.tcoffeeColour);
+colourMenu.add (this.userDefinedColour);
+colourMenu.addSeparator ();
+colourMenu.add (this.conservationMenuItem);
+colourMenu.add (this.modifyConservation);
+colourMenu.add (this.abovePIDThreshold);
+colourMenu.add (this.modifyPID);
+colourMenu.add (this.annotationColour);
+colourMenu.add (this.RNAHelixColour);
+sortMenu.add (this.sortIDMenuItem);
+sortMenu.add (this.sortLengthMenuItem);
+sortMenu.add (this.sortByTreeMenu);
+sortMenu.add (this.sortGroupMenuItem);
+sortMenu.add (this.sortPairwiseMenuItem);
+calculateMenu.add (sortMenu);
+calculateTreeMenu.add (this.averageDistanceTreeMenuItem);
+calculateTreeMenu.add (this.neighbourTreeMenuItem);
+calculateTreeMenu.add (this.avDistanceTreeBlosumMenuItem);
+calculateTreeMenu.add (this.njTreeBlosumMenuItem);
+calculateMenu.add (calculateTreeMenu);
+calculateMenu.addSeparator ();
+calculateMenu.add (this.pairwiseAlignmentMenuItem);
+calculateMenu.add (this.PCAMenuItem);
+calculateMenu.add (this.autoCalculate);
+calculateMenu.add (this.$sortByTree);
+helpMenu.add (this.documentation);
+helpMenu.add (this.about);
+this.statusBar.setBackground (java.awt.Color.white);
+this.statusBar.setFont ( new java.awt.Font ("Verdana", 0, 11));
+this.setStatus (jalview.util.MessageManager.getString ("label.status_bar"));
+this.add (this.statusBar, "South");
+});
+Clazz.overrideMethod (c$, "setStatus", 
+function (string) {
+this.statusBar.setText (string);
+}, "~S");
+Clazz.defineMethod (c$, "createAlignFrameWindow", 
+function (reallyEmbedded) {
+if (reallyEmbedded) {
+this.embedAlignFrameInApplet (this.viewport.applet);
+} else {
+if (this.embedMenuIfNeeded (this.alignPanel)) {
+this.alignPanel.setSize (this.getSize ().width, this.getSize ().height - this.statusBar.getHeight ());
+}this.add (this.statusBar, "South");
+this.add (this.alignPanel, "Center");
+jalview.bin.JalviewLite.addFrame (this, this.getTitle (), this.frameWidth, this.frameHeight);
+}}, "~B");
+Clazz.defineMethod (c$, "embedAlignFrameInApplet", 
+function (theApplet) {
+this.fileMenu.remove (this.closeMenuItem);
+this.fileMenu.remove (3);
+this.embeddedMenu = this.makeEmbeddedPopupMenu (this.alignFrameMenuBar, false, false);
+theApplet.setLayout ( new java.awt.BorderLayout ());
+theApplet.add (this.embeddedMenu, "North");
+theApplet.add (this.statusBar, "South");
+this.alignPanel.setSize (theApplet.getSize ().width, theApplet.getSize ().height - this.embeddedMenu.getHeight () - this.statusBar.getHeight ());
+theApplet.add (this.alignPanel, "Center");
+var me = this;
+theApplet.addFocusListener (((Clazz.isClassDefined ("jalview.appletgui.AlignFrame$5") ? 0 : jalview.appletgui.AlignFrame.$AlignFrame$5$ ()), Clazz.innerTypeInstance (jalview.appletgui.AlignFrame$5, this, Clazz.cloneFinals ("theApplet", theApplet, "me", me))));
+theApplet.validate ();
+}, "jalview.bin.JalviewLite");
+Clazz.defineMethod (c$, "addStructureViewInstance", 
+function (jmolviewer, sequenceIds) {
+return null;
+}, "~O,~A");
+Clazz.defineMethod (c$, "addPdbFile", 
+function (sequenceId, pdbEntryString, pdbFile) {
+var toaddpdb = this.viewport.getAlignment ().findName (sequenceId);
+var needtoadd = false;
+if (toaddpdb != null) {
+var pdbe = toaddpdb.getPDBId ();
+var pdbentry = null;
+if (pdbe != null && pdbe.size () > 0) {
+for (var pe = 0, peSize = pdbe.size (); pe < peSize; pe++) {
+pdbentry = pdbe.elementAt (pe);
+if (!pdbentry.getId ().equals (pdbEntryString) && !pdbentry.getFile ().equals (pdbFile)) {
+pdbentry = null;
+} else {
+continue;
+}}
+}if (pdbentry == null) {
+pdbentry =  new jalview.datamodel.PDBEntry ();
+pdbentry.setId (pdbEntryString);
+pdbentry.setFile (pdbFile);
+needtoadd = true;
+}var protocol = jalview.io.AppletFormatAdapter.resolveProtocol (pdbFile, "PDB");
+if (protocol == null) {
+return false;
+}if (needtoadd) {
+if (pdbentry.getProperty () == null) {
+pdbentry.setProperty ( new java.util.Hashtable ());
+}pdbentry.getProperty ().put ("protocol", protocol);
+toaddpdb.addPDBId (pdbentry);
+this.alignPanel.getStructureSelectionManager ().registerPDBEntry (pdbentry);
+}}return true;
+}, "~S,~S,~S");
+Clazz.defineMethod (c$, "cleanSeqChainArrays", 
+ function (seqs, chains) {
+if (seqs != null) {
+var sequences =  new java.util.Vector ();
+for (var i = 0; i < seqs.length; i++) {
+if (seqs[i] != null) {
+sequences.addElement ( Clazz.newArray (-1, [seqs[i], (chains != null) ? chains[i] : null]));
+}}
+seqs =  new Array (sequences.size ());
+chains =  new Array (sequences.size ());
+for (var i = 0, isize = sequences.size (); i < isize; i++) {
+var oj = sequences.elementAt (i);
+seqs[i] = oj[0];
+chains[i] = oj[1];
+}
+}return  Clazz.newArray (-1, [seqs, chains]);
+}, "~A,~A");
+Clazz.defineMethod (c$, "newStructureView", 
+function (applet, pdb, seqs, chains, protocol) {
+var sqch = this.cleanSeqChainArrays (seqs, chains);
+seqs = sqch[0];
+chains = sqch[1];
+if (seqs == null || seqs.length == 0) {
+System.err.println ("JalviewLite.AlignFrame:newStructureView: No sequence to bind structure to.");
+}if (protocol == null || protocol.trim ().length == 0 || protocol.equals ("null")) {
+protocol = pdb.getProperty ().get ("protocol");
+if (protocol == null) {
+System.err.println ("Couldn't work out protocol to open structure: " + pdb.getId ());
+return;
+}}if (applet.useXtrnalSviewer) {
+if (jalview.structure.StructureSelectionManager.getStructureSelectionManager (applet).setMapping (seqs, chains, pdb.getFile (), protocol) == null) {
+System.err.println ("Failed to map " + pdb.getFile () + " (" + protocol + ") to any sequences");
+}return;
+}if (applet.isAlignPdbStructures () && applet.jmolAvailable) {
+var ajm = null;
+var tajm;
+var jmols = applet.getAppletWindow (jalview.appletgui.AppletJmol);
+for (var i = 0, iSize = jmols.size (); i < iSize; i++) {
+tajm = jmols.elementAt (i);
+if (tajm.ap.alignFrame === this) {
+ajm = tajm;
+break;
+}}
+if (ajm != null) {
+System.err.println ("Incremental adding and aligning structure to existing Jmol view not yet implemented.");
+ajm = null;
+}} new jalview.appletgui.AppletJmol (pdb, seqs, chains, this.alignPanel, protocol);
+jalview.bin.JalviewLite.lastFrameX += 40;
+jalview.bin.JalviewLite.lastFrameY += 40;
+}, "jalview.bin.JalviewLite,jalview.datamodel.PDBEntry,~A,~A,~S");
+Clazz.defineMethod (c$, "alignedStructureView", 
+function (applet, pdb, seqs, chains, protocols) {
+System.err.println ("Aligned Structure View: Not yet implemented.");
+}, "jalview.bin.JalviewLite,~A,~A,~A,~A");
+Clazz.defineMethod (c$, "select", 
+function (sel, csel) {
+this.alignPanel.seqPanel.selection (sel, csel, null);
+}, "jalview.datamodel.SequenceGroup,jalview.datamodel.ColumnSelection");
+Clazz.defineMethod (c$, "scrollTo", 
+function (row, column) {
+this.alignPanel.seqPanel.scrollTo (row, column);
+}, "~N,~N");
+Clazz.defineMethod (c$, "scrollToRow", 
+function (row) {
+this.alignPanel.seqPanel.scrollToRow (row);
+}, "~N");
+Clazz.defineMethod (c$, "scrollToColumn", 
+function (column) {
+this.alignPanel.seqPanel.scrollToColumn (column);
+}, "~N");
+Clazz.defineMethod (c$, "getSequenceSetId", 
+function () {
+return this.viewport.getSequenceSetId ();
+});
+Clazz.defineMethod (c$, "loadScoreFile", 
+function (inFile) {
+var file = jalview.jsdev.GenericFileAdapter.getFile ("TCoffeeScoreFile", [inFile, jalview.io.AppletFormatAdapter.checkProtocol (inFile)]);
+if (!file.isValid ()) {
+System.err.println ("Problems parsing T-Coffee scores: " + file.getWarningMessage ());
+System.err.println ("Origin was:\n" + inFile);
+return false;
+}var aln;
+if ((aln = this.viewport.getAlignment ()) != null && (aln.getHeight () != file.getHeight () || aln.getWidth () != file.getWidth ())) {
+System.err.println ("The scores matrix does not match the alignment dimensions");
+}if (file.annotateAlignment (this.alignPanel.getAlignment (), false)) {
+this.alignPanel.fontChanged ();
+this.tcoffeeColour.setEnabled (true);
+this.changeColour ( new jalview.schemes.TCoffeeColourScheme (this.alignPanel.getAlignment ()));
+return true;
+} else {
+System.err.println ("Problems resolving T-Coffee scores:");
+if (file.getWarningMessage () != null) {
+System.err.println (file.getWarningMessage ());
+}}return false;
+}, "~S");
+Clazz.defineMethod (c$, "getSplitFrame", 
+function () {
+return this.splitFrame;
+});
+Clazz.defineMethod (c$, "setSplitFrame", 
+function (sf) {
+this.splitFrame = sf;
+}, "jalview.appletgui.SplitFrame");
+Clazz.overrideMethod (c$, "setShowSeqFeatures", 
+function (b) {
+this.viewport.setShowSequenceFeatures (b);
+}, "~B");
+Clazz.overrideMethod (c$, "setMenusForViewport", 
+function () {
+});
+Clazz.overrideMethod (c$, "refreshFeatureUI", 
+function (enableIfNecessary) {
+if (enableIfNecessary) {
+this.sequenceFeatures.setState (true);
+this.alignPanel.av.setShowSequenceFeatures (true);
+}}, "~B");
+Clazz.overrideMethod (c$, "getFeatureSettingsUI", 
+function () {
+return this.alignPanel.av.featureSettings;
+});
+c$.$AlignFrame$1$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$1", java.awt.event.WindowAdapter);
+Clazz.overrideMethod (c$, "windowClosing", 
+function (e) {
+if (this.f$.ap != null) {
+this.f$.ap.setOverviewPanel (null);
+}}, "java.awt.event.WindowEvent");
+c$ = Clazz.p0p ();
+};
+c$.$AlignFrame$2$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$2", null, java.awt.event.ActionListener);
+Clazz.overrideMethod (c$, "actionPerformed", 
+function (evt) {
+this.b$["jalview.appletgui.AlignFrame"].sortByTree (this.f$.treePanel, this.f$.title);
+}, "java.awt.event.ActionEvent");
+c$ = Clazz.p0p ();
+};
+c$.$AlignFrame$3$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$3", java.awt.event.WindowAdapter);
+Clazz.defineMethod (c$, "windowOpened", 
+function (e) {
+if (this.b$["jalview.appletgui.AlignFrame"].viewport.sortByTree) {
+this.b$["jalview.appletgui.AlignFrame"].sortByTree (this.f$.treePanel, this.f$.title);
+}Clazz.superCall (this, jalview.appletgui.AlignFrame$3, "windowOpened", [e]);
+}, "java.awt.event.WindowEvent");
+Clazz.overrideMethod (c$, "windowClosing", 
+function (e) {
+this.b$["jalview.appletgui.AlignFrame"].sortByTreeMenu.remove (this.f$.item);
+}, "java.awt.event.WindowEvent");
+c$ = Clazz.p0p ();
+};
+c$.$AlignFrame$1AboutPanel$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.version = null;
+this.builddate = null;
+Clazz.instantialize (this, arguments);
+}, jalview.appletgui, "AlignFrame$1AboutPanel", awt2swing.Canvas);
+Clazz.makeConstructor (c$, 
+function (a, b) {
+Clazz.superConstructor (this, jalview.appletgui.AlignFrame$1AboutPanel, []);
+this.version = a;
+this.builddate = b;
+}, "~S,~S");
+Clazz.overrideMethod (c$, "paintComponent", 
+function (a) {
+a.setColor (java.awt.Color.white);
+a.fillRect (0, 0, this.getSize ().width, this.getSize ().height);
+a.setFont ( new java.awt.Font ("Helvetica", 0, 12));
+var b = a.getFontMetrics ();
+var c = b.getHeight ();
+var d = 5;
+var e = 7;
+a.setColor (java.awt.Color.black);
+a.setFont ( new java.awt.Font ("Helvetica", 1, 14));
+a.drawString (jalview.util.MessageManager.formatMessage ("label.jalviewLite_release",  Clazz.newArray (-1, [this.version])), e, d += c);
+a.setFont ( new java.awt.Font ("Helvetica", 1, 12));
+a.drawString (jalview.util.MessageManager.formatMessage ("label.jaview_build_date",  Clazz.newArray (-1, [this.builddate])), e, d += c);
+a.setFont ( new java.awt.Font ("Helvetica", 0, 12));
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_authors_1"), e, d += c * 1.5);
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_authors_2"), e + 50, d += c + 8);
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_dev_managers"), e, d += c);
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_distribution_lists"), e, d += c);
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_please_cite"), e, d += c + 8);
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_authors"), e, d += c);
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_title"), e, d += c);
+a.drawString (jalview.util.MessageManager.getString ("label.jalview_cite_1_ref"), e, d += c);
+}, "java.awt.Graphics");
+c$ = Clazz.p0p ();
+};
+c$.$AlignFrame$4$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$4", null, java.awt.event.ActionListener);
+Clazz.overrideMethod (c$, "actionPerformed", 
+function (e) {
+this.b$["jalview.appletgui.AlignFrame"].outputText_actionPerformed (e);
+}, "java.awt.event.ActionEvent");
+c$ = Clazz.p0p ();
+};
+c$.$AlignFrame$5$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (jalview.appletgui, "AlignFrame$5", null, java.awt.event.FocusListener);
+Clazz.overrideMethod (c$, "focusLost", 
+function (e) {
+if (this.f$.theApplet.currentAlignFrame === this.f$.me) {
+this.f$.theApplet.currentAlignFrame = null;
+}}, "java.awt.event.FocusEvent");
+Clazz.overrideMethod (c$, "focusGained", 
+function (e) {
+this.f$.theApplet.currentAlignFrame = this.f$.me;
+}, "java.awt.event.FocusEvent");
+c$ = Clazz.p0p ();
+};
+Clazz.defineStatics (c$,
+"copiedSequences", null,
+"copiedHiddenColumns", null);
+});