JAL-1517 source formatting
[jalview.git] / src / jalview / datamodel / AlignmentAnnotation.java
index ea13922..989d62a 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;
@@ -52,8 +57,8 @@ public class AlignmentAnnotation
 
   /** DOCUMENT ME!! */
   public Annotation[] annotations;
-  
-  
+
+  public ArrayList<SimpleBP> bps = null;
 
   /**
    * RNA secondary structure contact positions
@@ -76,9 +81,11 @@ public class AlignmentAnnotation
     try
     {
       _rnasecstr = Rna.GetBasePairs(RNAannot);
+      bps = Rna.GetModeleBP(RNAannot);
       invalidrnastruc = -1;
     } catch (WUSSParseException px)
     {
+      // DEBUG System.out.println(px);
       invalidrnastruc = px.getProblemPos();
     }
     if (invalidrnastruc > -1)
@@ -198,6 +205,12 @@ public class AlignmentAnnotation
     }
   }
 
+  // JBPNote: what does this do ?
+  public void ConcenStru(CharSequence RNAannot) throws WUSSParseException
+  {
+    bps = Rna.GetModeleBP(RNAannot);
+  }
+
   /**
    * Creates a new AlignmentAnnotation object.
    * 
@@ -245,37 +258,37 @@ public class AlignmentAnnotation
       else
       // Check for RNA secondary structure
       {
-         //System.out.println(annotations[i].secondaryStructure);
+        // System.out.println(annotations[i].secondaryStructure);
         if (annotations[i].secondaryStructure == '('
-                       || annotations[i].secondaryStructure == '['
-                       || annotations[i].secondaryStructure == '<'
-                       || annotations[i].secondaryStructure == '{'
-                       || annotations[i].secondaryStructure == 'A'
-                       || annotations[i].secondaryStructure == 'B'
-                       || annotations[i].secondaryStructure == 'C'
-                       || annotations[i].secondaryStructure == 'D'
-                       || annotations[i].secondaryStructure == '1'
-                       || annotations[i].secondaryStructure == 'F'
-                       || annotations[i].secondaryStructure == 'G'
-                       || annotations[i].secondaryStructure == '2'
-                       || annotations[i].secondaryStructure == 'I'
-                       || annotations[i].secondaryStructure == 'J'
-                       || annotations[i].secondaryStructure == 'K'
-                       || annotations[i].secondaryStructure == 'L'
-                       || annotations[i].secondaryStructure == 'M'
-                       || annotations[i].secondaryStructure == 'N'
-                       || annotations[i].secondaryStructure == 'O'
-                       || annotations[i].secondaryStructure == 'P'
-                       || annotations[i].secondaryStructure == 'Q'
-                       || annotations[i].secondaryStructure == 'R'
-                       || annotations[i].secondaryStructure == 'S'
-                       || annotations[i].secondaryStructure == 'T'
-                       || annotations[i].secondaryStructure == 'U'
-                       || annotations[i].secondaryStructure == 'V'
-                       || annotations[i].secondaryStructure == 'W'
-                       || annotations[i].secondaryStructure == 'X'
-                       || annotations[i].secondaryStructure == 'Y'
-                       || annotations[i].secondaryStructure == 'Z')
+                || annotations[i].secondaryStructure == '['
+                || annotations[i].secondaryStructure == '<'
+                || annotations[i].secondaryStructure == '{'
+                || annotations[i].secondaryStructure == 'A'
+                || annotations[i].secondaryStructure == 'B'
+                || annotations[i].secondaryStructure == 'C'
+                || annotations[i].secondaryStructure == 'D'
+                || annotations[i].secondaryStructure == 'E'
+                || annotations[i].secondaryStructure == 'F'
+                || annotations[i].secondaryStructure == 'G'
+                || annotations[i].secondaryStructure == 'H'
+                || annotations[i].secondaryStructure == 'I'
+                || annotations[i].secondaryStructure == 'J'
+                || annotations[i].secondaryStructure == 'K'
+                || annotations[i].secondaryStructure == 'L'
+                || annotations[i].secondaryStructure == 'M'
+                || annotations[i].secondaryStructure == 'N'
+                || annotations[i].secondaryStructure == 'O'
+                || annotations[i].secondaryStructure == 'P'
+                || annotations[i].secondaryStructure == 'Q'
+                || annotations[i].secondaryStructure == 'R'
+                || annotations[i].secondaryStructure == 'S'
+                || annotations[i].secondaryStructure == 'T'
+                || annotations[i].secondaryStructure == 'U'
+                || annotations[i].secondaryStructure == 'V'
+                || annotations[i].secondaryStructure == 'W'
+                || annotations[i].secondaryStructure == 'X'
+                || annotations[i].secondaryStructure == 'Y'
+                || annotations[i].secondaryStructure == 'Z')
         {
           hasIcons |= true;
           isrna |= true;
@@ -306,8 +319,10 @@ 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 +331,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'
@@ -1037,7 +1052,7 @@ public class AlignmentAnnotation
       {
         if (annotations[i] == null)
           annotations[i] = new Annotation(String.valueOf(gapchar), null,
-                  ' ', 0f,null);
+                  ' ', 0f, null);
         else if (annotations[i].displayCharacter == null
                 || annotations[i].displayCharacter.equals(" "))
           annotations[i].displayCharacter = String.valueOf(gapchar);