X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAppVarna.java;h=f047199b4f0bafafaa29e3d4b8a3741d4b0c7657;hb=84684213f7f7c7b31d3c33dc49ca3b377a295438;hp=06de21fbe0233a7e4c083fa11bbfb2657e6f6995;hpb=a98cc981f4aaa91a8684fc551762ed1b5d69f625;p=jalview.git diff --git a/src/jalview/gui/AppVarna.java b/src/jalview/gui/AppVarna.java index 06de21f..f047199 100644 --- a/src/jalview/gui/AppVarna.java +++ b/src/jalview/gui/AppVarna.java @@ -1,19 +1,20 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; @@ -23,24 +24,14 @@ import java.util.regex.Pattern; import java.awt.*; import javax.swing.*; -import javax.swing.event.*; - -import java.awt.event.*; -import java.io.*; -import jalview.api.AlignViewportI; -import jalview.api.AlignmentViewPanel; -import jalview.api.SequenceStructureBinding; import jalview.bin.Cache; import jalview.datamodel.*; -import jalview.gui.ViewSelectionMenu.ViewSetProvider; import jalview.structure.*; -import jalview.io.*; -import jalview.schemes.*; +import jalview.util.MessageManager; import jalview.util.ShiftList; import fr.orsay.lri.varna.VARNAPanel; import fr.orsay.lri.varna.exceptions.ExceptionFileFormatOrSyntax; -import fr.orsay.lri.varna.exceptions.ExceptionNonEqualLength; import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses; import fr.orsay.lri.varna.interfaces.InterfaceVARNAListener; import fr.orsay.lri.varna.interfaces.InterfaceVARNASelectionListener; @@ -48,7 +39,6 @@ import fr.orsay.lri.varna.models.BaseList; import fr.orsay.lri.varna.models.VARNAConfig; import fr.orsay.lri.varna.models.annotations.HighlightRegionAnnotation; import fr.orsay.lri.varna.models.rna.ModeleBase; -import fr.orsay.lri.varna.models.rna.ModeleBaseNucleotide; import fr.orsay.lri.varna.models.rna.RNA; public class AppVarna extends JInternalFrame implements @@ -73,10 +63,10 @@ public class AppVarna extends JInternalFrame implements AlignmentPanel ap; - public AppVarna(SequenceI seq, String strucseq, String struc, - String name, AlignmentPanel ap) + public AppVarna(String sname, SequenceI seq, String strucseq, + String struc, String name, AlignmentPanel ap) { - this.ap=ap; + this.ap = ap; ArrayList rnaList = new ArrayList(); RNA rna1 = new RNA(name); try @@ -89,12 +79,12 @@ public class AppVarna extends JInternalFrame implements { e3.printStackTrace(); } - RNA trim = trimRNA(rna1); + RNA trim = trimRNA(rna1, "trimmed " + sname); rnaList.add(trim); rnaList.add(rna1); rnas.put(seq, rna1); rnas.put(seq, trim); - rna1.setName("consensus_" + rna1.getName()); + rna1.setName(sname + " (with gaps)"); { seqs.put(trim, seq); @@ -110,7 +100,7 @@ public class AppVarna extends JInternalFrame implements vab = new AppVarnaBinding(rnaList); // vab = new AppVarnaBinding(seq,struc); // System.out.println("Hallo: "+name); - this.name = name; + this.name = sname + " trimmed to " + name; initVarna(); ssm = ap.getStructureSelectionManager(); ssm.addStructureViewerListener(this); @@ -129,7 +119,7 @@ public class AppVarna extends JInternalFrame implements // getContentPane().add(vab.getTools(), BorderLayout.NORTH); varnaPanel.addVARNAListener(this); varnaPanel.addSelectionListener(this); - jalview.gui.Desktop.addInternalFrame(this, "VARNA -" + name, + jalview.gui.Desktop.addInternalFrame(this, MessageManager.formatMessage("label.varna_params", new String[]{name}), getBounds().width, getBounds().height); this.pack(); showPanel(true); @@ -145,10 +135,10 @@ public class AppVarna extends JInternalFrame implements return newStr; } - public RNA trimRNA(RNA rna) + public RNA trimRNA(RNA rna, String name) { ShiftList offset = new ShiftList(); - RNA rnaTrim = new RNA("trim_" + rna.getName()); + RNA rnaTrim = new RNA(name); try { rnaTrim.setRNA(rna.getSeq(), replaceOddGaps(rna.getStructDBN())); @@ -190,7 +180,7 @@ public class AppVarna extends JInternalFrame implements { if (ofstart > -1) { - offset.addShift(ofstart, ofstart - i); + offset.addShift(offset.shift(ofstart), ofstart - i); ofstart = -1; } } @@ -198,7 +188,7 @@ public class AppVarna extends JInternalFrame implements // final gap if (ofstart > -1) { - offset.addShift(ofstart, ofstart - sleng); + offset.addShift(offset.shift(ofstart), ofstart - sleng); ofstart = -1; } String newSeq = rnaTrim.getSeq().replace("-", ""); @@ -304,12 +294,13 @@ public class AppVarna extends JInternalFrame implements if (_lastRNAhighlighted != null) { _lastRNAhighlighted.removeHighlightRegion(_lastHighlight); - if (vab!=null) { + if (vab != null) + { vab.updateSelectedRNA(_lastRNAhighlighted); } _lastRNAhighlighted = null; _lastHighlight = null; - + } } } @@ -327,12 +318,14 @@ public class AppVarna extends JInternalFrame implements public void mouseOverSequence(SequenceI sequence, int index) { RNA rna = vab.getSelectedRNA(); - if (rnas.get(sequence) == rna) + if (seqs.get(rna) == sequence) { ShiftList shift = offsets.get(rna); if (shift != null) { + // System.err.print("Orig pos:"+index); index = shift.shift(index); + // System.err.println("\nFinal pos:"+index); } mouseOverHighlighter.highlightRegion(rna, index, index); vab.updateSelectedRNA(rna); @@ -388,9 +381,9 @@ public class AppVarna extends JInternalFrame implements { if (shift != null) { - int i=shift.shift(arg1.getIndex()); - ssm.mouseOverVamsasSequence(seq, - i, this); + int i = shift.shift(arg1.getIndex()); + // System.err.println("shifted "+(arg1.getIndex())+" to "+i); + ssm.mouseOverVamsasSequence(seq, i, this); } else { @@ -402,8 +395,9 @@ public class AppVarna extends JInternalFrame implements @Override public void onSelectionChanged(BaseList arg0, BaseList arg1, BaseList arg2) { - // TODO translate selected regions in VARNA to a selection on the alignpanel. - + // TODO translate selected regions in VARNA to a selection on the + // alignpanel. + } }