- String str = (String) contents.getTransferData(DataFlavor.stringFlavor);\r
- StringTokenizer st = new StringTokenizer(str);\r
- ArrayList seqs = new ArrayList();\r
-\r
- while (st.hasMoreElements())\r
- {\r
- String name = st.nextToken();\r
- int start = Integer.parseInt(st.nextToken());\r
- int end = Integer.parseInt(st.nextToken());\r
- Sequence sequence = new Sequence(name, st.nextToken(), start,\r
- end);\r
-\r
- if (!newAlignment)\r
- {\r
- viewport.alignment.addSequence(sequence);\r
- }\r
- else\r
- {\r
- seqs.add(sequence);\r
- }\r
- }\r
-\r
- if (newAlignment)\r
- {\r
- SequenceI[] newSeqs = new SequenceI[seqs.size()];\r
- seqs.toArray(newSeqs);\r
-\r
- AlignFrame af = new AlignFrame(new Alignment(newSeqs));\r
- String newtitle = new String("Copied sequences");\r
-\r
- if (title.startsWith("Copied sequences"))\r
- {\r
- newtitle = title;\r
- }\r
- else\r
- {\r
- newtitle = newtitle.concat("- from " + title);\r
- }\r
-\r
- Desktop.addInternalFrame(af, newtitle, NEW_WINDOW_WIDTH,\r
- NEW_WINDOW_HEIGHT);\r
- }\r
- else\r
- {\r
- viewport.firePropertyChange("alignment", null,\r
- viewport.getAlignment().getSequences());\r
- viewport.setEndSeq(viewport.alignment.getHeight());\r
- viewport.alignment.getWidth();\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- alignPanel.repaint();\r
- }\r
- }\r
- catch (Exception ex)\r
- {\r
- }\r
-\r
- // could be anything being pasted in here\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void cut_actionPerformed(ActionEvent e)\r
- {\r
- copy_actionPerformed(null);\r
- delete_actionPerformed(null);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void delete_actionPerformed(ActionEvent e)\r
- {\r
- boolean seqsdeleted = false;\r
-\r
- if (viewport.getSelectionGroup() == null)\r
- {\r
- return;\r
- }\r
-\r
- addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment,\r
- HistoryItem.HIDE));\r
-\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
- boolean allSequences = false;\r
- if(sg.sequences.size()==viewport.alignment.getHeight())\r
- allSequences = true;\r
-\r
- for (int i = 0; i < sg.sequences.size(); i++)\r
- {\r
- SequenceI seq = sg.getSequenceAt(i);\r
- int index = viewport.getAlignment().findIndex(seq);\r
- seq.deleteChars(sg.getStartRes(), sg.getEndRes() + 1);\r
-\r
- // If the cut affects all sequences, remove highlighted columns\r
- if(allSequences)\r
- {\r
- viewport.getColumnSelection().removeElements(sg.getStartRes(), sg.getEndRes()+1);\r
- }\r
-\r
-\r
- if (seq.getSequence().length() < 1)\r
- {\r
- seqsdeleted = true;\r
- viewport.getAlignment().deleteSequence(seq);\r
- }\r
- else\r
- {\r
- viewport.getAlignment().getSequences().setElementAt(seq, index);\r
- }\r
- }\r
-\r
- viewport.setSelectionGroup(null);\r
- viewport.alignment.deleteGroup(sg);\r
-\r
- if (seqsdeleted)\r
- {\r
- viewport.firePropertyChange("alignment", null,\r
- viewport.getAlignment().getSequences());\r
- }\r
-\r
- viewport.resetSeqLimits(alignPanel.seqPanel.seqCanvas.getHeight());\r
-\r
- if (viewport.getAlignment().getHeight() < 1)\r
- {\r
- try\r
- {\r
- this.setClosed(true);\r
- }\r
- catch (Exception ex)\r
- {\r
- }\r
- }\r
-\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void deleteGroups_actionPerformed(ActionEvent e)\r
- {\r
- viewport.alignment.deleteAllGroups();\r
- viewport.setSelectionGroup(null);\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceGroup sg = new SequenceGroup();\r
-\r
- for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
- i++)\r
- {\r
- sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);\r
- }\r
-\r
- sg.setEndRes(viewport.alignment.getWidth()-1);\r
- viewport.setSelectionGroup(sg);\r
- PaintRefresher.Refresh(null, viewport.alignment);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setSelectionGroup(null);\r
- viewport.getColumnSelection().clear();\r
- viewport.setSelectionGroup(null);\r
- alignPanel.annotationPanel.activeRes = null;\r
- PaintRefresher.Refresh(null, viewport.alignment);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
-\r
- if (sg == null)\r
- {\r
- selectAllSequenceMenuItem_actionPerformed(null);\r
-\r
- return;\r
- }\r
-\r
- for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
- i++)\r
- {\r
- sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);\r
- }\r
-\r
- PaintRefresher.Refresh(null, viewport.alignment);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- ColumnSelection colSel = viewport.getColumnSelection();\r
-\r
- if (colSel.size() > 0)\r
- {\r
- addHistoryItem(new HistoryItem("Remove Left", viewport.alignment,\r
- HistoryItem.HIDE));\r
-\r
- int min = colSel.getMin();\r
- viewport.getAlignment().trimLeft(min);\r
- colSel.compensateForEdit(0, min);\r
-\r
- if (viewport.getSelectionGroup() != null)\r
- {\r
- viewport.getSelectionGroup().adjustForRemoveLeft(min);\r
- }\r
-\r
- Vector groups = viewport.alignment.getGroups();\r
-\r
- for (int i = 0; i < groups.size(); i++)\r
- {\r
- SequenceGroup sg = (SequenceGroup) groups.get(i);\r
-\r
- if (!sg.adjustForRemoveLeft(min))\r
- {\r
- viewport.alignment.deleteGroup(sg);\r
- }\r
- }\r
-\r
- alignPanel.repaint();\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- ColumnSelection colSel = viewport.getColumnSelection();\r
-\r
- if (colSel.size() > 0)\r
- {\r
- addHistoryItem(new HistoryItem("Remove Right", viewport.alignment,\r
- HistoryItem.HIDE));\r
-\r
- int max = colSel.getMax();\r
- viewport.getAlignment().trimRight(max);\r
-\r
- if (viewport.getSelectionGroup() != null)\r
- {\r
- viewport.getSelectionGroup().adjustForRemoveRight(max);\r
- }\r
-\r
- Vector groups = viewport.alignment.getGroups();\r
-\r
- for (int i = 0; i < groups.size(); i++)\r
- {\r
- SequenceGroup sg = (SequenceGroup) groups.get(i);\r
-\r
- if (!sg.adjustForRemoveRight(max))\r
- {\r
- viewport.alignment.deleteGroup(sg);\r
- }\r
- }\r
-\r
- alignPanel.repaint();\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- addHistoryItem(new HistoryItem("Remove Gapped Columns",\r
- viewport.alignment, HistoryItem.HIDE));\r
-\r
- viewport.getAlignment().removeGaps();\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- addHistoryItem(new HistoryItem("Remove Gaps", viewport.alignment,\r
- HistoryItem.HIDE));\r
-\r
- SequenceI current;\r
- int jSize;\r
-\r
- Vector seqs = null;\r
-\r
- int start = 0;\r
- int end = viewport.alignment.getWidth();\r
-\r
-\r
- if (viewport.getSelectionGroup() != null\r
- && viewport.getSelectionGroup().sequences != null\r
- && viewport.getSelectionGroup().sequences.size()>0)\r
- {\r
- seqs = viewport.getSelectionGroup().sequences;\r
- start = viewport.getSelectionGroup().getStartRes();\r
- end = viewport.getSelectionGroup().getEndRes();\r
- }\r
- else\r
- {\r
- seqs = viewport.alignment.getSequences();\r
- }\r
-\r
- for (int i = 0; i < seqs.size(); i++)\r
- {\r
- current = (SequenceI) seqs.elementAt(i);\r
- jSize = current.getLength();\r
-\r
- int j = start;\r
-\r
- do\r
- {\r
- if (jalview.util.Comparison.isGap(current.getCharAt(j)))\r
- {\r
- current.deleteCharAt(j);\r
- j--;\r
- jSize--;\r
- }\r
-\r
- j++;\r
- }\r
- while (j < end && j < jSize);\r
- }\r
-\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void padGapsMenuitem_actionPerformed(ActionEvent e)\r
- {\r
- addHistoryItem(new HistoryItem("Pad Gaps", viewport.alignment,\r
- HistoryItem.HIDE));\r
-\r
- SequenceI current;\r
- int Width = viewport.getAlignment().getWidth();\r
-\r
- for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
- i++)\r
- {\r
- current = viewport.getAlignment().getSequenceAt(i);\r
-\r
- if (current.getLength() < Width)\r
- {\r
- current.insertCharAt(Width - 1, viewport.getGapCharacter());\r
- }\r
- }\r
-\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void findMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- JInternalFrame frame = new JInternalFrame();\r
- Finder finder = new Finder(viewport, alignPanel, frame);\r
- frame.setContentPane(finder);\r
- Desktop.addInternalFrame(frame, "Find", 340, 110);\r
- frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void font_actionPerformed(ActionEvent e)\r
- {\r
- FontChooser fc = new FontChooser(alignPanel);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void fullSeqId_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowFullId(fullSeqId.isSelected());\r
-\r
- alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel.calculateIdWidth());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setColourText(colourTextMenuItem.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void wrapMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setWrapAlignment(wrapMenuItem.isSelected());\r
- alignPanel.setWrapAlignment(wrapMenuItem.isSelected());\r
- scaleAbove.setVisible(wrapMenuItem.isSelected());\r
- scaleLeft.setVisible(wrapMenuItem.isSelected());\r
- scaleRight.setVisible(wrapMenuItem.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void scaleAbove_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setScaleAboveWrapped(scaleAbove.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void scaleLeft_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setScaleLeftWrapped(scaleLeft.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void scaleRight_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setScaleRightWrapped(scaleRight.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowBoxes(viewBoxesMenuItem.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void viewTextMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowText(viewTextMenuItem.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setRenderGaps(renderGapsMenuItem.isSelected());\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param evt DOCUMENT ME!\r
- */\r
- public void sequenceFeatures_actionPerformed(ActionEvent evt)\r
- {\r
- viewport.showSequenceFeatures(sequenceFeatures.isSelected());\r
-\r
- if (viewport.showSequenceFeatures &&\r
- !((Alignment) viewport.alignment).featuresAdded)\r
- {\r
- SequenceFeatureFetcher sft = new SequenceFeatureFetcher(viewport.alignment,\r
- alignPanel);\r
- ((Alignment) viewport.alignment).featuresAdded = true;\r
- }\r
-\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if (annotationPanelMenuItem.isSelected() &&\r
- viewport.getWrapAlignment())\r
- {\r
- annotationPanelMenuItem.setSelected(false);\r
-\r
- return;\r
- }\r
-\r
- viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());\r
- alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void overviewMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if (alignPanel.overviewPanel != null)\r
- {\r
- return;\r
- }\r
-\r
- JInternalFrame frame = new JInternalFrame();\r
- OverviewPanel overview = new OverviewPanel(alignPanel);\r
- frame.setContentPane(overview);\r
- Desktop.addInternalFrame(frame, "Overview " + this.getTitle(),\r
- frame.getWidth(), frame.getHeight());\r
- frame.pack();\r
- frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
- frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()\r
- {\r
- public void internalFrameClosed(\r
- javax.swing.event.InternalFrameEvent evt)\r
- {\r
- alignPanel.setOverviewPanel(null);\r
- }\r
- ;\r
- });\r
-\r
- alignPanel.setOverviewPanel(overview);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(null);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void clustalColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new ClustalxColourScheme(\r
- viewport.alignment.getSequences(), viewport.alignment.getWidth()));\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void zappoColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new ZappoColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void taylorColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new TaylorColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void hydrophobicityColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new HydrophobicColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void helixColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new HelixColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void strandColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new StrandColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void turnColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new TurnColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void buriedColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new BuriedColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- public void nucleotideColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new NucleotideColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setColourAppliesToAllGroups(applyToAllGroups.isSelected());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param cs DOCUMENT ME!\r
- */\r
- void changeColour(ColourSchemeI cs)\r
- {\r
- int threshold = 0;\r
-\r
- if (viewport.getAbovePIDThreshold())\r
- {\r
- threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,\r
- "Background");\r
-\r
- if (cs instanceof ResidueColourScheme)\r
- {\r
- ((ResidueColourScheme) cs).setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
- }\r
- else if (cs instanceof ScoreColourScheme)\r
- {\r
- ((ScoreColourScheme) cs).setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
- }\r
-\r
- viewport.setGlobalColourScheme(cs);\r
- }\r
- else if (cs instanceof ResidueColourScheme)\r
- {\r
- ((ResidueColourScheme) cs).setThreshold(0, viewport.getIgnoreGapsConsensus());\r
- }\r
- else if (cs instanceof ScoreColourScheme)\r
- {\r
- ((ScoreColourScheme) cs).setThreshold(0, viewport.getIgnoreGapsConsensus());\r
- }\r
-\r
- if (viewport.getConservationSelected())\r
- {\r
- ConservationColourScheme ccs = null;\r
-\r
- Alignment al = (Alignment) viewport.alignment;\r
- Conservation c = new Conservation("All",\r
- ResidueProperties.propHash, 3, al.getSequences(), 0,\r
- al.getWidth() - 1);\r
-\r
- c.calculate();\r
- c.verdict(false, viewport.ConsPercGaps);\r
-\r
- ccs = new ConservationColourScheme(c, cs);\r
-\r
-\r
- viewport.setGlobalColourScheme(ccs);\r
-\r
- ccs.inc = SliderPanel.setConservationSlider(alignPanel, ccs,\r
- "Background");\r
- }\r
- else\r
- {\r
- // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
- if (cs != null)\r
- {\r
- cs.setConsensus(viewport.vconsensus);\r
- }\r
-\r
- viewport.setGlobalColourScheme(cs);\r
- }\r
-\r
- if (viewport.getColourAppliesToAllGroups())\r
- {\r
- Vector groups = viewport.alignment.getGroups();\r
-\r
- for (int i = 0; i < groups.size(); i++)\r
- {\r
- SequenceGroup sg = (SequenceGroup) groups.elementAt(i);\r
-\r
- if (cs == null)\r
- {\r
- sg.cs = null;\r
- }\r
- else if (cs instanceof ClustalxColourScheme)\r
- {\r
- sg.cs = new ClustalxColourScheme(sg.sequences, sg.getWidth());\r
- }\r
- else if (cs instanceof UserColourScheme)\r
- {\r
- sg.cs = new UserColourScheme(((UserColourScheme) cs).getColours());\r
- }\r
- else\r
- {\r
- try\r
- {\r
- sg.cs = (ColourSchemeI) cs.getClass().newInstance();\r
- }\r
- catch (Exception ex)\r
- {\r
- }\r
- }\r
-\r
- if (viewport.getAbovePIDThreshold())\r
- {\r
- if (sg.cs instanceof ResidueColourScheme)\r
- {\r
- ((ResidueColourScheme) sg.cs).setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
- }\r
- else if (sg.cs instanceof ScoreColourScheme)\r
- {\r
- ((ScoreColourScheme) sg.cs).setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
- }\r
-\r
- sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0,\r
- sg.getWidth()));\r
- }\r
-\r
- if (viewport.getConservationSelected())\r
- {\r
- Conservation c = new Conservation("Group",\r
- ResidueProperties.propHash, 3, sg.sequences, 0,\r
- viewport.alignment.getWidth() - 1);\r
- c.calculate();\r
- c.verdict(false, viewport.ConsPercGaps);\r
-\r
- ConservationColourScheme ccs = new ConservationColourScheme(c,\r
- sg.cs);\r
-\r
- // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
- ccs.setConsensus(AAFrequency.calculate(sg.sequences, 0,\r
- sg.getWidth()));\r
- sg.cs = ccs;\r
- }\r
- else if (cs != null)\r
- {\r
- // MUST NOTIFY THE COLOURSCHEME OF CONSENSUS!\r
- sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0,\r
- sg.getWidth()));\r
- }\r
- }\r
- }\r
-\r
- if (alignPanel.getOverviewPanel() != null)\r
- {\r
- alignPanel.getOverviewPanel().updateOverviewImage();\r
- }\r
-\r
- alignPanel.repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void modifyPID_actionPerformed(ActionEvent e)\r
- {\r
- if (viewport.getAbovePIDThreshold())\r
- {\r
- SliderPanel.setPIDSliderSource(alignPanel,\r
- viewport.getGlobalColourScheme(), "Background");\r
- SliderPanel.showPIDSlider();\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param e DOCUMENT ME!\r
- */\r
- protected void modifyConservation_actionPerformed(ActionEvent e)\r
- {\r
- if (viewport.getConservationSelected())\r