X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=d992233ce52d93580dd71bbe150e21d8cddca11b;hb=8134bbf710c92115deebb3649ecd21b5cb620ec7;hp=d11bd3109ebaa5452e92f78c658a1c660560ec6e;hpb=b7004ae04f0cdd9d134ec6f24bdb2e63686e0ed3;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index d11bd31..d992233 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -1,5 +1,5 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. @@ -20,6 +20,7 @@ package jalview.gui; import jalview.analysis.AAFrequency; import jalview.analysis.AlignmentSorter; +import jalview.analysis.AlignmentUtils; import jalview.analysis.Conservation; import jalview.analysis.CrossRef; import jalview.analysis.NJTree; @@ -27,6 +28,7 @@ import jalview.analysis.ParseProperties; import jalview.analysis.SequenceIdMatcher; import jalview.api.AlignViewControllerGuiI; import jalview.api.AlignViewControllerI; +import jalview.api.analysis.ScoreModelI; import jalview.bin.Cache; import jalview.commands.CommandI; import jalview.commands.EditCommand; @@ -85,7 +87,6 @@ import jalview.ws.jws2.jabaws2.Jws2Instance; import jalview.ws.seqfetcher.DbSourceProxy; import java.awt.BorderLayout; -import java.awt.Color; import java.awt.Component; import java.awt.GridLayout; import java.awt.Rectangle; @@ -117,6 +118,7 @@ import java.util.List; import java.util.Vector; import javax.swing.JButton; +import javax.swing.JCheckBoxMenuItem; import javax.swing.JEditorPane; import javax.swing.JInternalFrame; import javax.swing.JLabel; @@ -327,6 +329,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, setMenusFromViewport(viewport); buildSortByAnnotationScoresMenu(); + buildTreeMenu(); if (viewport.wrapAlignment) { wrapMenuItem_actionPerformed(null); @@ -2060,7 +2063,59 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } + @Override + protected void expand_newalign(ActionEvent e) + { + try { + AlignmentI alignment = AlignmentUtils.expandContext(getViewport().getAlignment(), -1); + AlignFrame af = new AlignFrame(alignment, DEFAULT_WIDTH, + DEFAULT_HEIGHT); + String newtitle = new String("Flanking alignment"); + + if (Desktop.jalviewClipboard != null + && Desktop.jalviewClipboard[2] != null) + { + Vector hc = (Vector) Desktop.jalviewClipboard[2]; + for (int i = 0; i < hc.size(); i++) + { + int[] region = (int[]) hc.elementAt(i); + af.viewport.hideColumns(region[0], region[1]); + } + } + + // >>>This is a fix for the moment, until a better solution is + // found!!<<< + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer() + .transferSettings( + alignPanel.seqPanel.seqCanvas.getFeatureRenderer()); + // TODO: maintain provenance of an alignment, rather than just make the + // title a concatenation of operations. + { + if (title.startsWith("Copied sequences")) + { + newtitle = title; + } + else + { + newtitle = newtitle.concat("- from " + title); + } + } + + Desktop.addInternalFrame(af, newtitle, DEFAULT_WIDTH, + DEFAULT_HEIGHT); + + } catch (Exception ex) + { + ex.printStackTrace(); + System.out.println("Exception whilst pasting: " + ex); + // could be anything being pasted in here + } + catch (OutOfMemoryError oom) + { + new OOMWarning("Viewing flanking region of alignment", oom); + } + } /** * DOCUMENT ME! * @@ -3180,10 +3235,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { threshold = SliderPanel.setPIDSliderSource(alignPanel, cs, "Background"); - cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus()); - - viewport.setGlobalColourScheme(cs); } else { @@ -3888,6 +3940,35 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void buildTreeMenu() { + calculateTree.removeAll(); + // build the calculate menu + + for (final String type:new String[] {"NJ", "AV"}) + { + String treecalcnm = MessageManager.getString("label.tree_calc_"+type.toLowerCase()); + for (final Object pwtype: ResidueProperties.scoreMatrices.keySet()) + { + JMenuItem tm = new JMenuItem(); + ScoreModelI sm = ResidueProperties.scoreMatrices.get(pwtype); + if (sm.isProtein()==!viewport.getAlignment().isNucleotide()) + { + String smn = MessageManager.getStringOrReturn( + "label.score_model_", sm.getName()); + final String title = MessageManager.formatMessage( + "label.treecalc_title", treecalcnm, smn); + tm.setText(title);// + tm.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + NewTreePanel(type, (String) pwtype, title); + } + }); + calculateTree.add(tm); + } + + } + } sortByTreeMenu.removeAll(); Vector comps = (Vector) PaintRefresher.components.get(viewport @@ -4340,12 +4421,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, JvSwingUtils.findOrCreateMenu(webService, client.getAction()), this); } - - if (Cache.getDefault("SHOW_ENFIN_SERVICES", true)) - { - jalview.ws.EnfinEnvision2OneWay.getInstance().attachWSMenuEntry( - webService, this); - } } /* @@ -5122,6 +5197,17 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, rfetch.setToolTipText(MessageManager.getString("label.retrieve_parse_sequence_database_records_alignment_or_selected_sequences")); webService.add(rfetch); + final JCheckBoxMenuItem trimrs = new JCheckBoxMenuItem(MessageManager.getString("option.trim_retrieved_seqs")); + trimrs.setToolTipText(MessageManager.getString("label.trim_retrieved_sequences")); + trimrs.setSelected(Cache.getDefault("TRIM_FETCHED_DATASET_SEQS", true)); + trimrs.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) { + trimrs.setSelected(trimrs.isSelected()); + Cache.setProperty("TRIM_FETCHED_DATASET_SEQS", Boolean.valueOf(trimrs.isSelected()).toString()); + }; + }); + rfetch.add(trimrs); JMenuItem fetchr = new JMenuItem(MessageManager.getString("label.standard_databases")); fetchr.setToolTipText(MessageManager.getString("label.fetch_embl_uniprot")); fetchr.addActionListener(new ActionListener()