X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignViewport.java;h=e4593a305d4c981edae71967a0a8d2cf25ea1326;hb=f18077aa57dea5481ae537162871045f8557e2f0;hp=93d8c19261f9454e541365486d045c835584d05b;hpb=97a31ae1fe3095b9d332f655103e334342ee9a19;p=jalview.git diff --git a/src/jalview/gui/AlignViewport.java b/src/jalview/gui/AlignViewport.java index 93d8c19..e4593a3 100644 --- a/src/jalview/gui/AlignViewport.java +++ b/src/jalview/gui/AlignViewport.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -38,8 +38,19 @@ */ package jalview.gui; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Rectangle; +import java.util.ArrayList; +import java.util.Hashtable; +import java.util.Set; +import java.util.Vector; + +import javax.swing.JInternalFrame; +import javax.swing.JOptionPane; + import jalview.analysis.AlignmentUtils; -import jalview.analysis.AlignmentUtils.MappingResult; import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; import jalview.analysis.NJTree; import jalview.api.AlignViewportI; @@ -64,18 +75,6 @@ import jalview.util.MessageManager; import jalview.viewmodel.AlignmentViewport; import jalview.ws.params.AutoCalcSetting; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.Rectangle; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.Set; -import java.util.Vector; - -import javax.swing.JInternalFrame; -import javax.swing.JOptionPane; - /** * DOCUMENT ME! * @@ -93,9 +92,6 @@ public class AlignViewport extends AlignmentViewport implements int endSeq; - - SequenceAnnotationOrder sortAnnotationsBy = null; - Font font; NJTree currentTree = null; @@ -842,8 +838,6 @@ public class AlignViewport extends AlignmentViewport implements private Hashtable calcIdParams = new Hashtable(); - private boolean showAutocalculatedAbove; - public AutoCalcSetting getCalcIdSettingsFor(String calcId) { return calcIdParams.get(calcId); @@ -862,26 +856,6 @@ public class AlignViewport extends AlignmentViewport implements } } - protected SequenceAnnotationOrder getSortAnnotationsBy() - { - return sortAnnotationsBy; - } - - protected void setSortAnnotationsBy(SequenceAnnotationOrder sortAnnotationsBy) - { - this.sortAnnotationsBy = sortAnnotationsBy; - } - - protected boolean isShowAutocalculatedAbove() - { - return showAutocalculatedAbove; - } - - protected void setShowAutocalculatedAbove(boolean showAutocalculatedAbove) - { - this.showAutocalculatedAbove = showAutocalculatedAbove; - } - /** * Method called when another alignment's edit (or possibly other) command is * broadcast to here. @@ -951,17 +925,11 @@ public class AlignViewport extends AlignmentViewport implements * If one alignment is protein and one nucleotide, with at least one * sequence name in common, offer to open a linked alignment. */ - if (getAlignment().isNucleotide() != al.isNucleotide()) + if (AlignmentUtils.isMappable(al, getAlignment())) { - // TODO: JAL-845 try a bit harder to link up imported sequences - final Set sequenceNames = getAlignment().getSequenceNames(); - sequenceNames.retainAll(al.getSequenceNames()); - if (!sequenceNames.isEmpty()) // at least one sequence name in both + if (openLinkedAlignment(al, title)) { - if (openLinkedAlignment(al, title)) - { - return; - } + return; } } // TODO: JAL-407 regardless of above - identical sequences (based on ID and @@ -1042,21 +1010,11 @@ public class AlignViewport extends AlignmentViewport implements } /* - * Try to find mappings for at least one sequence. Any mappings made will be - * added to the protein alignment. + * Map sequences. At least one should get mapped as we have already passed + * the test for 'mappability'. Any mappings made will be added to the + * protein alignment. */ - MappingResult mapped = AlignmentUtils.mapProteinToCdna(protein, cdna); - if (mapped != MappingResult.Mapped) - { - /* - * No mapping possible - warn the user, but leave window open. - */ - final String msg = JvSwingUtils.wrapTooltip(true, - MessageManager.getString("label.mapping_failed")); - JOptionPane.showInternalMessageDialog(Desktop.desktop, msg, - MessageManager.getString("label.no_mappings"), - JOptionPane.WARNING_MESSAGE); - } + AlignmentUtils.mapProteinToCdna(protein, cdna); try { @@ -1069,8 +1027,8 @@ public class AlignViewport extends AlignmentViewport implements if (openSplitPane) { - protein = openSplitFrame(newAlignFrame, - thisAlignment.getSequencesArray(), protein.getCodonFrames()); + protein = openSplitFrame(newAlignFrame, thisAlignment, + protein.getCodonFrames()); } /* @@ -1090,20 +1048,18 @@ public class AlignViewport extends AlignmentViewport implements * * @param newAlignFrame * containing a new alignment to be shown - * @param seqs - * 'complementary' sequences to show in the other split half + * @param complement + * cdna/protein complement alignment to show in the other split half * @param mappings * @return the protein alignment in the split frame */ protected AlignmentI openSplitFrame(AlignFrame newAlignFrame, - SequenceI[] seqs, Set mappings) + AlignmentI complement, Set mappings) { - AlignmentI complementAlignment = new Alignment(seqs); - // TODO: move this to a factory/controller method ? /* * Open in split pane. DNA sequence above, protein below. */ - AlignFrame copyMe = new AlignFrame(complementAlignment, + AlignFrame copyMe = new AlignFrame(complement, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); copyMe.setTitle(getAlignPanel().alignFrame.getTitle());