JAL-1620 version bump and release notes
[jalview.git] / src / jalview / gui / AppVarna.java
index da6c6e5..014e6eb 100644 (file)
@@ -1,46 +1,53 @@
 /*
- * 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.2b1)
+ * 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.
- * 
+ * 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 <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.gui;
 
-import java.util.*;
+import jalview.bin.Cache;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
+import jalview.structure.SecondaryStructureListener;
+import jalview.structure.SelectionListener;
+import jalview.structure.SelectionSource;
+import jalview.structure.StructureSelectionManager;
+import jalview.structure.VamsasSource;
+import jalview.util.ShiftList;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import java.awt.*;
 
-import javax.swing.*;
-import javax.swing.event.*;
+import javax.swing.JInternalFrame;
+import javax.swing.JSplitPane;
 
-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 +55,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,15 +79,26 @@ public class AppVarna extends JInternalFrame implements
 
   AlignmentPanel ap;
 
-  public AppVarna(String sname, SequenceI seq, String strucseq, String struc,
-          String name, AlignmentPanel ap)
+  public AppVarna(String sname, SequenceI seq, String strucseq,
+          String struc, String name, AlignmentPanel ap)
   {
+
+    // System.out.println("1:"+sname);
+    // System.out.println("2:"+seq);
+    // System.out.println("3:"+strucseq);
+    // System.out.println("4:"+struc);
+    // System.out.println("5:"+name);
+    // System.out.println("6:"+ap);
     this.ap = ap;
     ArrayList<RNA> rnaList = new ArrayList<RNA>();
     RNA rna1 = new RNA(name);
     try
     {
+
       rna1.setRNA(strucseq, replaceOddGaps(struc));
+      // System.out.println("The sequence is :"+rna1.getSeq());
+      // System.out.println("The sequence is:"+struc);
+      // System.out.println("The sequence is:"+replaceOddGaps(struc).toString());
     } catch (ExceptionUnmatchedClosingParentheses e2)
     {
       e2.printStackTrace();
@@ -89,12 +106,13 @@ public class AppVarna extends JInternalFrame implements
     {
       e3.printStackTrace();
     }
-    RNA trim = trimRNA(rna1, "trimmed "+sname);
+    RNA trim = trimRNA(rna1, "trimmed " + sname);
     rnaList.add(trim);
     rnaList.add(rna1);
+
     rnas.put(seq, rna1);
     rnas.put(seq, trim);
-    rna1.setName(sname+" (with gaps)");
+    rna1.setName(sname + " (with gaps)");
 
     {
       seqs.put(trim, seq);
@@ -109,16 +127,18 @@ public class AppVarna extends JInternalFrame implements
     }
     vab = new AppVarnaBinding(rnaList);
     // vab = new AppVarnaBinding(seq,struc);
-    // System.out.println("Hallo: "+name);
-    this.name = sname+" trimmed to "+name;
+    this.name = sname + " trimmed to " + name;
     initVarna();
+
     ssm = ap.getStructureSelectionManager();
+    // System.out.println(ssm.toString());
     ssm.addStructureViewerListener(this);
     ssm.addSelectionListener(this);
   }
 
   public void initVarna()
   {
+
     // vab.setFinishedInit(false);
     varnaPanel = vab.get_varnaPanel();
     setBackground(Color.white);
@@ -129,10 +149,12 @@ 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,
-            getBounds().width, getBounds().height);
+    jalview.gui.Desktop.addInternalFrame(this,
+            MessageManager.formatMessage("label.varna_params", new String[]
+            { name }), getBounds().width, getBounds().height);
     this.pack();
     showPanel(true);
+
   }
 
   public String replaceOddGaps(String oldStr)
@@ -148,6 +170,7 @@ public class AppVarna extends JInternalFrame implements
   public RNA trimRNA(RNA rna, String name)
   {
     ShiftList offset = new ShiftList();
+
     RNA rnaTrim = new RNA(name);
     try
     {
@@ -333,9 +356,9 @@ public class AppVarna extends JInternalFrame implements
       ShiftList shift = offsets.get(rna);
       if (shift != null)
       {
-   //      System.err.print("Orig pos:"+index);
-         index = shift.shift(index);
-   //      System.err.println("\nFinal pos:"+index);
+        // System.err.print("Orig pos:"+index);
+        index = shift.shift(index);
+        // System.err.println("\nFinal pos:"+index);
       }
       mouseOverHighlighter.highlightRegion(rna, index, index);
       vab.updateSelectedRNA(rna);
@@ -392,7 +415,7 @@ public class AppVarna extends JInternalFrame implements
       if (shift != null)
       {
         int i = shift.shift(arg1.getIndex());
- //       System.err.println("shifted "+(arg1.getIndex())+" to "+i);
+        // System.err.println("shifted "+(arg1.getIndex())+" to "+i);
         ssm.mouseOverVamsasSequence(seq, i, this);
       }
       else
@@ -410,4 +433,18 @@ public class AppVarna extends JInternalFrame implements
 
   }
 
+  @Override
+  public void onTranslationChanged()
+  {
+    // TODO Auto-generated method stub
+
+  }
+
+  @Override
+  public void onZoomLevelChanged()
+  {
+    // TODO Auto-generated method stub
+
+  }
+
 }