JAL-1807 still testing
[jalviewjs.git] / bin / jalview / appletgui / AlignFrame.js
index f3c3d8e..7221f66 100644 (file)
-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", 
-($fz = 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 ();
-}}}, $fz.isPrivate = true, $fz), "~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", 
-($fz = 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 ();
-}, $fz.isPrivate = true, $fz));
-Clazz.defineMethod (c$, "setAnnotationSortOrder", 
-($fz = function (order) {
-this.annotationSortOrder = order;
-}, $fz.isPrivate = true, $fz), "jalview.analysis.AnnotationSorter.SequenceAnnotationOrder");
-Clazz.defineMethod (c$, "setViewportAnnotationOrder", 
-($fz = function () {
-this.alignPanel.av.setSortAnnotationsBy (this.annotationSortOrder);
-this.alignPanel.av.setShowAutocalculatedAbove (this.showAutoCalculatedAbove);
-}, $fz.isPrivate = true, $fz));
-Clazz.defineMethod (c$, "setShowAutoCalculatedAbove", 
-($fz = function (showAbove) {
-this.showAutoCalculatedAbove = showAbove;
-}, $fz.isPrivate = true, $fz), "~B");
-Clazz.defineMethod (c$, "mouseOverFlag_stateChanged", 
-($fz = function () {
-this.viewport.setFollowHighlight (this.followMouseOverFlag.getState ());
-}, $fz.isPrivate = true, $fz));
-Clazz.defineMethod (c$, "centreColumnLabelFlag_stateChanged", 
-($fz = function () {
-this.viewport.centreColumnLabels = this.centreColumnLabelFlag.getState ();
-this.alignPanel.annotationPanel.repaint ();
-}, $fz.isPrivate = true, $fz));
-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", 
-($fz = function () {
-if (this.alignPanel.getFeatureRenderer () != null && this.viewport.getFeaturesDisplayed () != null) {
-return this.alignPanel.getFeatureRenderer ().getDisplayedFeatureCols ();
-}return null;
-}, $fz.isPrivate = true, $fz));
-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", 
-($fz = 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");
-}, $fz.isPrivate = true, $fz));
-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", 
-($fz = 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]);
-}, $fz.isPrivate = true, $fz), "~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 ();
-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 ();
-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 ();
-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 ();
-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 ();
-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 ();
-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);
-});
+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
+($fz = 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
+}}}, $fz.isPrivate = true, $fz), "~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
+($fz = 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
+}, $fz.isPrivate = true, $fz));\r
+Clazz.defineMethod (c$, "setAnnotationSortOrder", \r
+($fz = function (order) {\r
+this.annotationSortOrder = order;\r
+}, $fz.isPrivate = true, $fz), "jalview.analysis.AnnotationSorter.SequenceAnnotationOrder");\r
+Clazz.defineMethod (c$, "setViewportAnnotationOrder", \r
+($fz = function () {\r
+this.alignPanel.av.setSortAnnotationsBy (this.annotationSortOrder);\r
+this.alignPanel.av.setShowAutocalculatedAbove (this.showAutoCalculatedAbove);\r
+}, $fz.isPrivate = true, $fz));\r
+Clazz.defineMethod (c$, "setShowAutoCalculatedAbove", \r
+($fz = function (showAbove) {\r
+this.showAutoCalculatedAbove = showAbove;\r
+}, $fz.isPrivate = true, $fz), "~B");\r
+Clazz.defineMethod (c$, "mouseOverFlag_stateChanged", \r
+($fz = function () {\r
+this.viewport.setFollowHighlight (this.followMouseOverFlag.getState ());\r
+}, $fz.isPrivate = true, $fz));\r
+Clazz.defineMethod (c$, "centreColumnLabelFlag_stateChanged", \r
+($fz = function () {\r
+this.viewport.centreColumnLabels = this.centreColumnLabelFlag.getState ();\r
+this.alignPanel.annotationPanel.repaint ();\r
+}, $fz.isPrivate = true, $fz));\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
+($fz = function () {\r
+if (this.alignPanel.getFeatureRenderer () != null && this.viewport.getFeaturesDisplayed () != null) {\r
+return this.alignPanel.getFeatureRenderer ().getDisplayedFeatureCols ();\r
+}return null;\r
+}, $fz.isPrivate = true, $fz));\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
+($fz = 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
+}, $fz.isPrivate = true, $fz));\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
+($fz = 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
+}, $fz.isPrivate = true, $fz), "~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 ();\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 ();\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 ();\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 ();\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 ();\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 ();\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