X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=700c2293a736a45c82b5c53937d6b80600e846c2;hb=b57a02c25e335d033c97f8a6bacd6b54f62bd2b6;hp=bcb518f08a4c8b74e9935f6c485043efba6fe543;hpb=1cc81e06ac2faa5ee4b8879e9fa019956e34259f;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index bcb518f..700c229 100644 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -92,7 +92,8 @@ import java.util.List; import java.util.StringTokenizer; import java.util.Vector; -public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemListener, KeyListener +public class AlignFrame extends EmbmenuFrame implements ActionListener, + ItemListener, KeyListener { public AlignmentPanel alignPanel; @@ -104,8 +105,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis String jalviewServletURL; - - public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet, String title, boolean embedded) + public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet, + String title, boolean embedded) { if (applet != null) { @@ -197,10 +198,13 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis { RNAHelixColour.setEnabled(true); } - else { + else + { RNAHelixColour.setEnabled(false); } - } else { + } + else + { RNAHelixColour.setEnabled(false); purinePyrimidineColour.setEnabled(false); } @@ -234,9 +238,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * Load a features file onto the alignment - * - * @param file file URL, content, or other resolvable path - * @param type is protocol for accessing data referred to by file + * + * @param file + * file URL, content, or other resolvable path + * @param type + * is protocol for accessing data referred to by file */ public boolean parseFeaturesFile(String file, String type) @@ -246,24 +252,31 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * Load a features file onto the alignment - * - * @param file file URL, content, or other resolvable path - * @param type is protocol for accessing data referred to by file - * @param autoenabledisplay when true, display features flag will be automatically enabled if features are loaded + * + * @param file + * file URL, content, or other resolvable path + * @param type + * is protocol for accessing data referred to by file + * @param autoenabledisplay + * when true, display features flag will be automatically enabled if + * features are loaded * @return true if data parsed as a features file */ - public boolean parseFeaturesFile(String file, String type, boolean autoenabledisplay) + public boolean parseFeaturesFile(String file, String type, + boolean autoenabledisplay) { - // TODO: test if importing a features file onto an alignment which already has features with links overwrites the original links. + // TODO: test if importing a features file onto an alignment which already + // has features with links overwrites the original links. Hashtable featureLinks = new Hashtable(); boolean featuresFile = false; try { featuresFile = new jalview.io.FeaturesFile(file, type) - .parse(viewport.getAlignment(), - alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureColours, - featureLinks, true, viewport.applet.getDefaultParameter("relaxedidmatch", false)); + .parse(viewport.getAlignment(), alignPanel.seqPanel.seqCanvas + .getFeatureRenderer().featureColours, featureLinks, + true, viewport.applet.getDefaultParameter( + "relaxedidmatch", false)); } catch (Exception ex) { ex.printStackTrace(); @@ -552,7 +565,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * called by key handler and the hide all/show all menu items - * + * * @param toggleSeqs * @param toggleCols */ @@ -565,8 +578,9 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis // Hide everything by the current selection - this is a hack - we do the // invert and then hide // first check that there will be visible columns after the invert. - if ((viewport.getColumnSelection() != null && viewport.getColumnSelection().getSelected() != null && viewport.getColumnSelection() - .getSelected().size() > 0) + if ((viewport.getColumnSelection() != null + && viewport.getColumnSelection().getSelected() != null && viewport + .getColumnSelection().getSelected().size() > 0) || (sg != null && sg.getSize() > 0 && sg.getStartRes() <= sg .getEndRes())) { @@ -594,7 +608,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis hide = true; viewport.hideAllSelectedSeqs(); } - else if (!(toggleCols && viewport.getColumnSelection().getSelected().size() > 0)) + else if (!(toggleCols && viewport.getColumnSelection().getSelected() + .size() > 0)) { viewport.showAllHiddenSeqs(); } @@ -972,7 +987,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis else if (source == clustalColour) { abovePIDThreshold.setState(false); - changeColour(new ClustalxColourScheme(viewport.getAlignment(),null)); + changeColour(new ClustalxColourScheme(viewport.getAlignment(), null)); } else if (source == zappoColour) { @@ -1034,8 +1049,9 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis { changeColour(new Blosum62ColourScheme()); } - else if (source == tcoffeeColour) { - changeColour(new TCoffeeColourScheme(alignPanel.getAlignment())); + else if (source == tcoffeeColour) + { + changeColour(new TCoffeeColourScheme(alignPanel.getAlignment())); } else if (source == annotationColour) { @@ -1131,9 +1147,9 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis { String annotation = new AnnotationFile().printAnnotations( viewport.showAnnotation ? viewport.getAlignment() - .getAlignmentAnnotation() : null, viewport.getAlignment() - .getGroups(), - ((Alignment) viewport.getAlignment()).alignmentProperties); + .getAlignmentAnnotation() : null, viewport + .getAlignment().getGroups(), ((Alignment) viewport + .getAlignment()).alignmentProperties); if (displayTextbox) { @@ -1149,7 +1165,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis private Hashtable getDisplayedFeatureCols() { - if (alignPanel.getFeatureRenderer() != null && viewport.featuresDisplayed!=null) + if (alignPanel.getFeatureRenderer() != null + && viewport.featuresDisplayed != null) { FeatureRenderer fr = alignPanel.getFeatureRenderer(); Hashtable fcols = new Hashtable(); @@ -1169,24 +1186,23 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis String features; if (format.equalsIgnoreCase("Jalview")) { - features = new FeaturesFile().printJalviewFormat( - viewport.getAlignment().getSequencesArray(), + features = new FeaturesFile().printJalviewFormat(viewport + .getAlignment().getSequencesArray(), getDisplayedFeatureCols()); } else { - features = new FeaturesFile().printGFFFormat( - viewport.getAlignment().getSequencesArray(), - getDisplayedFeatureCols()); + features = new FeaturesFile().printGFFFormat(viewport.getAlignment() + .getSequencesArray(), getDisplayedFeatureCols()); } if (displayTextbox) { - boolean frimport=false; - if (features==null || features.equals("No Features Visible")) + boolean frimport = false; + if (features == null || features.equals("No Features Visible")) { features = "# No features visible - paste some and import them here."; - frimport=true; + frimport = true; } CutAndPasteTransfer cap = new CutAndPasteTransfer(frimport, this); @@ -1198,8 +1214,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis frame.add(cap); jalview.bin.JalviewLite.addFrame(frame, "Features", 600, 500); cap.setText(features); - } else { - if (features==null) + } + else + { + if (features == null) features = ""; } @@ -1300,18 +1318,22 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis public void closeMenuItem_actionPerformed() { PaintRefresher.RemoveComponent(alignPanel); - if (alignPanel.seqPanel!=null && alignPanel.seqPanel.seqCanvas!=null) + if (alignPanel.seqPanel != null + && alignPanel.seqPanel.seqCanvas != null) { PaintRefresher.RemoveComponent(alignPanel.seqPanel.seqCanvas); } - if (alignPanel.idPanel!=null && alignPanel.idPanel.idCanvas!=null) { + if (alignPanel.idPanel != null && alignPanel.idPanel.idCanvas != null) + { PaintRefresher.RemoveComponent(alignPanel.idPanel.idCanvas); } if (PaintRefresher.components.size() == 0 && viewport.applet == null) { System.exit(0); - } else { + } + else + { } viewport = null; alignPanel = null; @@ -1365,9 +1387,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis } /** - * TODO: JAL-1104 - * DOCUMENT ME! - * + * TODO: JAL-1104 DOCUMENT ME! + * * @param e * DOCUMENT ME! */ @@ -1384,19 +1405,22 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis AlignViewport originalSource = getOriginatingSource(command); // JBPNote Test - if (originalSource!=viewport) { - System.err.println("Warning: Viewport object mismatch whilst undoing"); + if (originalSource != viewport) + { + System.err + .println("Warning: Viewport object mismatch whilst undoing"); } - originalSource.updateHiddenColumns(); // originalSource.hasHiddenColumns = viewport.getColumnSelection().getHiddenColumns() != null; + originalSource.updateHiddenColumns(); // originalSource.hasHiddenColumns = + // viewport.getColumnSelection().getHiddenColumns() + // != null; updateEditMenuBar(); - originalSource.firePropertyChange("alignment", null, - originalSource.getAlignment().getSequences()); + originalSource.firePropertyChange("alignment", null, originalSource + .getAlignment().getSequences()); } /** - * TODO: JAL-1104 - * DOCUMENT ME! - * + * TODO: JAL-1104 DOCUMENT ME! + * * @param e * DOCUMENT ME! */ @@ -1413,14 +1437,18 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis AlignViewport originalSource = getOriginatingSource(command); // JBPNote Test - if (originalSource!=viewport) { - System.err.println("Warning: Viewport object mismatch whilst re-doing"); + if (originalSource != viewport) + { + System.err + .println("Warning: Viewport object mismatch whilst re-doing"); } - originalSource.updateHiddenColumns(); //sethasHiddenColumns(); = viewport.getColumnSelection().getHiddenColumns() != null; + originalSource.updateHiddenColumns(); // sethasHiddenColumns(); = + // viewport.getColumnSelection().getHiddenColumns() + // != null; updateEditMenuBar(); - originalSource.firePropertyChange("alignment", null, - originalSource.getAlignment().getSequences()); + originalSource.firePropertyChange("alignment", null, originalSource + .getAlignment().getSequences()); } AlignViewport getOriginatingSource(CommandI command) @@ -1471,21 +1499,22 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis { return; } - viewport.getAlignment().moveSelectedSequencesByOne(sg, up ? null : viewport.getHiddenRepSequences(), up); + viewport.getAlignment().moveSelectedSequencesByOne(sg, + up ? null : viewport.getHiddenRepSequences(), up); alignPanel.paintAlignment(true); } synchronized void slideSequences(boolean right, int size) { - Listsg = new Vector(); + List sg = new Vector(); if (viewport.cursorMode) { - sg.add(viewport.getAlignment() - .getSequenceAt(alignPanel.seqPanel.seqCanvas.cursorY)); + sg.add(viewport.getAlignment().getSequenceAt( + alignPanel.seqPanel.seqCanvas.cursorY)); } else if (viewport.getSelectionGroup() != null - && viewport.getSelectionGroup().getSize() != viewport.getAlignment() - .getHeight()) + && viewport.getSelectionGroup().getSize() != viewport + .getAlignment().getHeight()) { sg = viewport.getSelectionGroup().getSequences( viewport.getHiddenRepSequences()); @@ -1506,7 +1535,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis SequenceI[] seqs1 = sg.toArray(new SequenceI[sg.size()]); - SequenceI[] seqs2 = invertGroup.toArray(new SequenceI[invertGroup.size()]); + SequenceI[] seqs2 = invertGroup.toArray(new SequenceI[invertGroup + .size()]); for (int i = 0; i < invertGroup.size(); i++) seqs2[i] = invertGroup.elementAt(i); @@ -1733,12 +1763,13 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis // !newAlignment addHistoryItem(new EditCommand("Add sequences", EditCommand.PASTE, - seqs, 0, viewport.getAlignment().getWidth(), viewport.getAlignment())); + seqs, 0, viewport.getAlignment().getWidth(), + viewport.getAlignment())); viewport.setEndSeq(viewport.getAlignment().getHeight()); viewport.getAlignment().getWidth(); - viewport.firePropertyChange("alignment", null, - viewport.getAlignment().getSequences()); + viewport.firePropertyChange("alignment", null, viewport.getAlignment() + .getSequences()); } @@ -1800,7 +1831,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * group consensus toggled - * + * */ protected void showGroupConsensus_actionPerformed() { @@ -1820,7 +1851,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /* * (non-Javadoc) - * + * * @see * jalview.jbgui.GAlignFrame#showConsensusHistogram_actionPerformed(java.awt * .event.ActionEvent) @@ -1830,9 +1861,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis viewport.setShowConsensusHistogram(showConsensusHistogram.getState()); alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState()); } + /* * (non-Javadoc) - * + * * @see * jalview.jbgui.GAlignFrame#showConsensusProfile_actionPerformed(java.awt * .event.ActionEvent) @@ -1842,6 +1874,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis viewport.setShowSequenceLogo(showSequenceLogo.getState()); alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState()); } + protected void normSequenceLogo_actionPerformed() { showSequenceLogo.setState(true); @@ -1862,8 +1895,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis SequenceGroup[] gps = jalview.analysis.Grouping.makeGroupsFrom( viewport.getSequenceSelection(), viewport.getAlignmentView(true).getSequenceStrings( - viewport.getGapCharacter()), - viewport.getAlignment().getGroups()); + viewport.getGapCharacter()), viewport.getAlignment() + .getGroups()); viewport.getAlignment().deleteAllGroups(); viewport.sequenceColours = null; viewport.setSelectionGroup(null); @@ -1877,9 +1910,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis (int) (Math.random() * 255), (int) (Math.random() * 255)); col = col.brighter(); for (SequenceI sq : gps[g].getSequences(null)) - viewport.setSequenceColour( - sq, col) - ; + viewport.setSequenceColour(sq, col); } PaintRefresher.Refresh(this, viewport.getSequenceSetId()); alignPanel.updateAnnotation(); @@ -1995,9 +2026,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis addHistoryItem(trimRegion); - - - for (SequenceGroup sg:viewport.getAlignment().getGroups()) + for (SequenceGroup sg : viewport.getAlignment().getGroups()) { if ((trimLeft && !sg.adjustForRemoveLeft(column)) || (!trimLeft && !sg.adjustForRemoveRight(column))) @@ -2029,7 +2058,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis } RemoveGapColCommand removeGapCols = new RemoveGapColCommand( - "Remove Gapped Columns", seqs, start, end, viewport.getAlignment()); + "Remove Gapped Columns", seqs, start, end, + viewport.getAlignment()); addHistoryItem(removeGapCols); @@ -2090,7 +2120,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * create a new view derived from the current view - * + * * @param viewtitle * @return frame for the new view */ @@ -2113,7 +2143,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis { if (!viewport.getAlignment().getAlignmentAnnotation()[i].autoCalculated) { - newal.addAnnotation(viewport.getAlignment().getAlignmentAnnotation()[i]); + newal.addAnnotation(viewport.getAlignment() + .getAlignmentAnnotation()[i]); } } } @@ -2163,7 +2194,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis } /** - * + * * @return list of feature groups on the view */ public String[] getFeatureGroups() @@ -2179,7 +2210,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * get sequence feature groups that are hidden or shown - * + * * @param visible * true is visible * @return list @@ -2197,7 +2228,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * Change the display state for the given feature groups - * + * * @param groups * list of group strings * @param state @@ -2265,13 +2296,14 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis overview.getPreferredSize().height + 50); frame.pack(); - final AlignmentPanel ap=alignPanel; + final AlignmentPanel ap = alignPanel; frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { - if (ap!=null) { + if (ap != null) + { ap.setOverviewPanel(null); } }; @@ -2328,15 +2360,14 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis } viewport.setGlobalColourScheme(cs); - if (alignPanel.getOverviewPanel() != null) { alignPanel.getOverviewPanel().updateOverviewImage(); } jalview.structure.StructureSelectionManager - .getStructureSelectionManager(viewport.applet).sequenceColoursChanged( - alignPanel); + .getStructureSelectionManager(viewport.applet) + .sequenceColoursChanged(alignPanel); alignPanel.paintAlignment(true); } @@ -2402,7 +2433,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis { SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray(); AlignmentSorter.sortByID(viewport.getAlignment()); - addHistoryItem(new OrderCommand("ID Sort", oldOrder, viewport.getAlignment())); + addHistoryItem(new OrderCommand("ID Sort", oldOrder, + viewport.getAlignment())); alignPanel.paintAlignment(true); } @@ -2522,8 +2554,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis if ((viewport.getSelectionGroup() != null && viewport .getSelectionGroup().getSize() > 1) - || (viewport.getAlignment() - .getHeight() > 1)) + || (viewport.getAlignment().getHeight() > 1)) { final TreePanel tp = new TreePanel(alignPanel, type, pwType); @@ -2552,7 +2583,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * sort the alignment using the given treePanel - * + * * @param treePanel * tree used to sort view * @param title @@ -2573,7 +2604,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis /** * Do any automatic reordering of the alignment and add the necessary bits to * the menu structure for the new tree - * + * * @param treePanel * @param title */ @@ -2610,18 +2641,20 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis }; }); } + public boolean sortBy(AlignmentOrder alorder, String undoname) { - SequenceI[] oldOrder = viewport.getAlignment() - .getSequencesArray(); + SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray(); if (viewport.applet.debug) { - System.err.println("Sorting "+alorder.getOrder().size()+" in alignment '"+getTitle()+"'"); + System.err.println("Sorting " + alorder.getOrder().size() + + " in alignment '" + getTitle() + "'"); } AlignmentSorter.sortBy(viewport.getAlignment(), alorder); - if (undoname!=null) + if (undoname != null) { - addHistoryItem(new OrderCommand(undoname, oldOrder, viewport.getAlignment())); + addHistoryItem(new OrderCommand(undoname, oldOrder, + viewport.getAlignment())); } alignPanel.paintAlignment(true); return true; @@ -2791,6 +2824,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis MenuItem buriedColour = new MenuItem(); MenuItem purinePyrimidineColour = new MenuItem(); + MenuItem RNAHelixColour = new MenuItem(); MenuItem userDefinedColour = new MenuItem(); @@ -2888,12 +2922,19 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis CheckboxMenuItem centreColumnLabelFlag = new CheckboxMenuItem(); CheckboxMenuItem followMouseOverFlag = new CheckboxMenuItem(); - Menu autoAnnMenu=new Menu(); - CheckboxMenuItem showSequenceLogo= new CheckboxMenuItem(); + + Menu autoAnnMenu = new Menu(); + + CheckboxMenuItem showSequenceLogo = new CheckboxMenuItem(); + CheckboxMenuItem applyAutoAnnotationSettings = new CheckboxMenuItem(); + CheckboxMenuItem showConsensusHistogram = new CheckboxMenuItem(); + CheckboxMenuItem showGroupConsensus = new CheckboxMenuItem(); + CheckboxMenuItem showGroupConservation = new CheckboxMenuItem(); + CheckboxMenuItem normSequenceLogo = new CheckboxMenuItem(); private void jbInit() throws Exception @@ -2996,9 +3037,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis BLOSUM62Colour.setLabel("BLOSUM62 Score"); BLOSUM62Colour.addActionListener(this); tcoffeeColour.setLabel("T-Coffee Scores"); - tcoffeeColour.setEnabled(false); // it will enabled only if a score file is provided + tcoffeeColour.setEnabled(false); // it will enabled only if a score file is + // provided tcoffeeColour.addActionListener(this); - avDistanceTreeBlosumMenuItem .setLabel("Average Distance Using BLOSUM62"); + avDistanceTreeBlosumMenuItem + .setLabel("Average Distance Using BLOSUM62"); avDistanceTreeBlosumMenuItem.addActionListener(this); njTreeBlosumMenuItem.setLabel("Neighbour Joining Using BLOSUM62"); njTreeBlosumMenuItem.addActionListener(this); @@ -3128,7 +3171,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis showConsensusHistogram.addItemListener(this); showSequenceLogo.addItemListener(this); normSequenceLogo.addItemListener(this); - + applyAutoAnnotationSettings.addItemListener(this); formatMenu.setLabel("Format"); selectMenu.setLabel("Select"); @@ -3305,7 +3348,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis * Attach the alignFrame panels after embedding menus, if necessary. This used * to be called setEmbedded, but is now creates the dropdown menus in a * platform independent manner to avoid OSX/Mac menu appendage daftness. - * + * * @param reallyEmbedded * true to attach the view to the applet area on the page rather than * in a new window @@ -3337,9 +3380,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis @Override public void focusLost(FocusEvent e) { - if (me.viewport.applet.currentAlignFrame==me) { - me.viewport.applet.currentAlignFrame = null; - }} + if (me.viewport.applet.currentAlignFrame == me) + { + me.viewport.applet.currentAlignFrame = null; + } + } @Override public void focusGained(FocusEvent e) @@ -3375,7 +3420,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis * structures in the original jmol window. Note This method doesn't work * without an additional javascript library to exchange messages between the * distinct applets. See http://issues.jalview.org/browse/JAL-621 - * + * * @param viewer * JmolViewer instance * @param sequenceIds @@ -3433,14 +3478,16 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis // TODO: search for a jmv that involves viewer if (jmv == null) { // create a new viewer/jalview binding. - jmv = new ExtJmol(viewer, alignPanel, new SequenceI[][] {seqs}); + jmv = new ExtJmol(viewer, alignPanel, new SequenceI[][] + { seqs }); } return jmv; } + /** * bind a pdb file to a sequence in the current view - * + * * @param sequenceId * - sequenceId within the dataset. * @param pdbEntryString @@ -3558,8 +3605,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis if (applet.useXtrnalSviewer) { // register the association(s) and quit, don't create any windows. - if (StructureSelectionManager.getStructureSelectionManager(applet).setMapping(seqs, chains, pdb.getFile(), protocol)==null) { - System.err.println("Failed to map "+pdb.getFile()+" ("+protocol+") to any sequences"); + if (StructureSelectionManager.getStructureSelectionManager(applet) + .setMapping(seqs, chains, pdb.getFile(), protocol) == null) + { + System.err.println("Failed to map " + pdb.getFile() + " (" + + protocol + ") to any sequences"); } return; } @@ -3611,9 +3661,13 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis } /** - * modify the current selection, providing the user has not made a selection already. - * @param sel - sequences from this alignment - * @param csel - columns to be selected on the alignment + * modify the current selection, providing the user has not made a selection + * already. + * + * @param sel + * - sequences from this alignment + * @param csel + * - columns to be selected on the alignment */ public void select(SequenceGroup sel, ColumnSelection csel) { @@ -3624,65 +3678,79 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, ItemLis { alignPanel.seqPanel.scrollTo(row, column); } + public void scrollToRow(int row) { alignPanel.seqPanel.scrollToRow(row); } + public void scrollToColumn(int column) { alignPanel.seqPanel.scrollToColumn(column); } + /** * @return the alignments unique ID. */ - public String getSequenceSetId() { + public String getSequenceSetId() + { return viewport.getSequenceSetId(); } - /** * Load the (T-Coffee) score file from the specified url - * - * @param source File/URL/T-COFFEE score file contents + * + * @param source + * File/URL/T-COFFEE score file contents * @throws IOException * @return true if alignment was annotated with data from source */ - public boolean loadScoreFile( String source ) throws IOException { - - TCoffeeScoreFile file = new TCoffeeScoreFile(source, AppletFormatAdapter.checkProtocol(source)); - if( !file.isValid()) { - // TODO: raise dialog for gui - System.err.println("Problems parsing T-Coffee scores: "+file.getWarningMessage()); - System.err.println("Origin was:\n"+source); - return false; - } - - /* - * check that the score matrix matches the alignment dimensions - */ - AlignmentI aln; - if( (aln=viewport.getAlignment()) != null && (aln.getHeight() != file.getHeight() || aln.getWidth() != file.getWidth()) ) { - // TODO: raise a dialog box here rather than bomb out. - System.err.println("The scores matrix does not match the alignment dimensions"); - - } - - // TODO add parameter to indicate if matching should be done - if (file.annotateAlignment(alignPanel.getAlignment(), false)) - { - alignPanel.fontChanged(); - tcoffeeColour.setEnabled(true); - // switch to this color - changeColour(new TCoffeeColourScheme(alignPanel.getAlignment())); - return true; - } else { - System.err.println("Problems resolving T-Coffee scores:"); - if (file.getWarningMessage()!=null) { - System.err.println(file.getWarningMessage()); - } - } - return false; - } + public boolean loadScoreFile(String source) throws IOException + { + TCoffeeScoreFile file = new TCoffeeScoreFile(source, + AppletFormatAdapter.checkProtocol(source)); + if (!file.isValid()) + { + // TODO: raise dialog for gui + System.err.println("Problems parsing T-Coffee scores: " + + file.getWarningMessage()); + System.err.println("Origin was:\n" + source); + return false; + } + + /* + * check that the score matrix matches the alignment dimensions + */ + AlignmentI aln; + if ((aln = viewport.getAlignment()) != null + && (aln.getHeight() != file.getHeight() || aln.getWidth() != file + .getWidth())) + { + // TODO: raise a dialog box here rather than bomb out. + System.err + .println("The scores matrix does not match the alignment dimensions"); + + } + + // TODO add parameter to indicate if matching should be done + if (file.annotateAlignment(alignPanel.getAlignment(), false)) + { + alignPanel.fontChanged(); + tcoffeeColour.setEnabled(true); + // switch to this color + changeColour(new TCoffeeColourScheme(alignPanel.getAlignment())); + return true; + } + else + { + System.err.println("Problems resolving T-Coffee scores:"); + if (file.getWarningMessage() != null) + { + System.err.println(file.getWarningMessage()); + } + } + return false; + } }