JAL-1517 fix copyright for 2.8.2
[jalview.git] / src / jalview / datamodel / AlignmentAnnotation.java
index ea13922..4c6e2a5 100755 (executable)
@@ -1,23 +1,28 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * 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.datamodel;
 
 import jalview.analysis.Rna;
+import jalview.analysis.SecStrConsensus.SimpleBP;
+
 import jalview.analysis.WUSSParseException;
 
 import java.util.ArrayList;
@@ -55,6 +60,7 @@ public class AlignmentAnnotation
   
   
 
+  public ArrayList<SimpleBP> bps=null;
   /**
    * RNA secondary structure contact positions
    */
@@ -73,13 +79,15 @@ public class AlignmentAnnotation
    */
   private void _updateRnaSecStr(CharSequence RNAannot)
   {
-    try
-    {
-      _rnasecstr = Rna.GetBasePairs(RNAannot);
-      invalidrnastruc = -1;
-    } catch (WUSSParseException px)
+    try {
+    _rnasecstr = Rna.GetBasePairs(RNAannot);
+    bps = Rna.GetModeleBP(RNAannot);
+    invalidrnastruc=-1;
+    }
+    catch (WUSSParseException px)
     {
-      invalidrnastruc = px.getProblemPos();
+      // DEBUG System.out.println(px);
+      invalidrnastruc=px.getProblemPos();
     }
     if (invalidrnastruc > -1)
     {
@@ -197,7 +205,11 @@ public class AlignmentAnnotation
       return NO_GRAPH;
     }
   }
-
+    // JBPNote: what does this do ?
+  public void ConcenStru(CharSequence RNAannot) throws WUSSParseException
+  {
+         bps = Rna.GetModeleBP(RNAannot);
+  }
   /**
    * Creates a new AlignmentAnnotation object.
    * 
@@ -254,10 +266,10 @@ public class AlignmentAnnotation
                        || annotations[i].secondaryStructure == 'B'
                        || annotations[i].secondaryStructure == 'C'
                        || annotations[i].secondaryStructure == 'D'
-                       || annotations[i].secondaryStructure == '1'
+                       || annotations[i].secondaryStructure == 'E'
                        || annotations[i].secondaryStructure == 'F'
                        || annotations[i].secondaryStructure == 'G'
-                       || annotations[i].secondaryStructure == '2'
+                       || annotations[i].secondaryStructure == 'H'
                        || annotations[i].secondaryStructure == 'I'
                        || annotations[i].secondaryStructure == 'J'
                        || annotations[i].secondaryStructure == 'K'
@@ -306,8 +318,8 @@ public class AlignmentAnnotation
                 // &&
                 // annotations[i].displayCharacter.charAt(0)==annotations[i].secondaryStructure
                 firstChar != ' '
-                && firstChar != 'H'
-                && firstChar != 'E'
+                && firstChar != '$'
+                && firstChar != '�' // JBPNote should explicitly express as unicode number to avoid source code translation problems
                 && firstChar != '('
                 && firstChar != '['
                 && firstChar != '>'
@@ -316,10 +328,10 @@ public class AlignmentAnnotation
                 && firstChar != 'B'
                 && firstChar != 'C'
                 && firstChar != 'D'
-                && firstChar != '1'
+                && firstChar != 'E'
                 && firstChar != 'F'
                 && firstChar != 'G'
-                && firstChar != '2'
+                && firstChar != 'H'
                 && firstChar != 'I'
                 && firstChar != 'J'
                 && firstChar != 'K'