Merge branch 'develop' into features/JAL-2446NCList
[jalview.git] / src / jalview / datamodel / AlignmentAnnotation.java
index 56bfd74..c464af2 100755 (executable)
@@ -370,49 +370,25 @@ public class AlignmentAnnotation
         firstChar = annotations[i].displayCharacter.charAt(0);
         // check to see if it looks like a sequence or is secondary structure
         // labelling.
-        if (annotations[i].secondaryStructure != ' '
-                && !hasIcons
-                &&
-                // Uncomment to only catch case where
-                // displayCharacter==secondary
-                // Structure
-                // to correctly redisplay SS annotation imported from Stockholm,
-                // exported to JalviewXML and read back in again.
-                // &&
-                // annotations[i].displayCharacter.charAt(0)==annotations[i].secondaryStructure
-                firstChar != ' '
-                && firstChar != '$'
-                && firstChar != 0xCE
-                && firstChar != '('
-                && firstChar != '['
-                && firstChar != '>'
-                && firstChar != '{'
-                && firstChar != 'A'
-                && firstChar != 'B'
-                && firstChar != 'C'
-                && firstChar != 'D'
-                && firstChar != 'E'
-                && firstChar != 'F'
-                && firstChar != 'G'
-                && firstChar != 'H'
-                && firstChar != 'I'
-                && firstChar != 'J'
-                && firstChar != 'K'
-                && firstChar != 'L'
-                && firstChar != 'M'
-                && firstChar != 'N'
-                && firstChar != 'O'
-                && firstChar != 'P'
-                && firstChar != 'Q'
-                && firstChar != 'R'
-                && firstChar != 'S'
-                && firstChar != 'T'
-                && firstChar != 'U'
-                && firstChar != 'V'
-                && firstChar != 'W'
-                && firstChar != 'X'
-                && firstChar != 'Y'
-                && firstChar != 'Z'
+        if (annotations[i].secondaryStructure != ' ' && !hasIcons &&
+        // Uncomment to only catch case where
+        // displayCharacter==secondary
+        // Structure
+        // to correctly redisplay SS annotation imported from Stockholm,
+        // exported to JalviewXML and read back in again.
+        // &&
+        // annotations[i].displayCharacter.charAt(0)==annotations[i].secondaryStructure
+                firstChar != ' ' && firstChar != '$' && firstChar != 0xCE
+                && firstChar != '(' && firstChar != '[' && firstChar != '>'
+                && firstChar != '{' && firstChar != 'A' && firstChar != 'B'
+                && firstChar != 'C' && firstChar != 'D' && firstChar != 'E'
+                && firstChar != 'F' && firstChar != 'G' && firstChar != 'H'
+                && firstChar != 'I' && firstChar != 'J' && firstChar != 'K'
+                && firstChar != 'L' && firstChar != 'M' && firstChar != 'N'
+                && firstChar != 'O' && firstChar != 'P' && firstChar != 'Q'
+                && firstChar != 'R' && firstChar != 'S' && firstChar != 'T'
+                && firstChar != 'U' && firstChar != 'V' && firstChar != 'W'
+                && firstChar != 'X' && firstChar != 'Y' && firstChar != 'Z'
                 && firstChar != '-'
                 && firstChar < jalview.schemes.ResidueProperties.aaIndex.length)
         {
@@ -503,12 +479,17 @@ public class AlignmentAnnotation
     {
       return ((index + offset < 0) || (index + offset) >= max
               || annotations[index + offset] == null
-              || (annotations[index + offset].secondaryStructure <= ' ') ? ' '
-              : annotations[index + offset].displayCharacter == null
-                      || annotations[index + offset].displayCharacter
-                              .length() == 0 ? annotations[index + offset].secondaryStructure
-                      : annotations[index + offset].displayCharacter
-                              .charAt(0));
+              || (annotations[index + offset].secondaryStructure <= ' ')
+                      ? ' '
+                      : annotations[index + offset].displayCharacter == null
+                              || annotations[index
+                                      + offset].displayCharacter
+                                              .length() == 0
+                                                      ? annotations[index
+                                                              + offset].secondaryStructure
+                                                      : annotations[index
+                                                              + offset].displayCharacter
+                                                                      .charAt(0));
     }
 
     @Override
@@ -519,10 +500,15 @@ public class AlignmentAnnotation
 
       for (int i = offset; i < mx; i++)
       {
-        string[i] = (annotations[i] == null || (annotations[i].secondaryStructure <= 32)) ? ' '
-                : (annotations[i].displayCharacter == null
-                        || annotations[i].displayCharacter.length() == 0 ? annotations[i].secondaryStructure
-                        : annotations[i].displayCharacter.charAt(0));
+        string[i] = (annotations[i] == null
+                || (annotations[i].secondaryStructure <= 32))
+                        ? ' '
+                        : (annotations[i].displayCharacter == null
+                                || annotations[i].displayCharacter
+                                        .length() == 0
+                                                ? annotations[i].secondaryStructure
+                                                : annotations[i].displayCharacter
+                                                        .charAt(0));
       }
       return new String(string);
     }
@@ -798,8 +784,8 @@ public class AlignmentAnnotation
     Annotation[] temp = new Annotation[endRes - startRes + 1];
     if (startRes < annotations.length)
     {
-      System.arraycopy(annotations, startRes, temp, 0, endRes - startRes
-              + 1);
+      System.arraycopy(annotations, startRes, temp, 0,
+              endRes - startRes + 1);
     }
     if (sequenceRef != null)
     {
@@ -1019,8 +1005,8 @@ public class AlignmentAnnotation
       {
         if (i + 1 < iSize)
         {
-          System.arraycopy(annotations, i + 1, annotations, i, iSize - i
-                  - 1);
+          System.arraycopy(annotations, i + 1, annotations, i,
+                  iSize - i - 1);
         }
         iSize--;
       }
@@ -1052,14 +1038,16 @@ public class AlignmentAnnotation
     {
       if (sequenceRef != null)
       {
-        boolean rIsDs = sequenceRef.getDatasetSequence() == null, tIsDs = sequenceI
-                .getDatasetSequence() == null;
+        boolean rIsDs = sequenceRef.getDatasetSequence() == null,
+                tIsDs = sequenceI.getDatasetSequence() == null;
         if (sequenceRef != sequenceI
-                && (rIsDs && !tIsDs && sequenceRef != sequenceI
-                        .getDatasetSequence())
-                && (!rIsDs && tIsDs && sequenceRef.getDatasetSequence() != sequenceI)
-                && (!rIsDs && !tIsDs && sequenceRef.getDatasetSequence() != sequenceI
-                        .getDatasetSequence())
+                && (rIsDs && !tIsDs
+                        && sequenceRef != sequenceI.getDatasetSequence())
+                && (!rIsDs && tIsDs
+                        && sequenceRef.getDatasetSequence() != sequenceI)
+                && (!rIsDs && !tIsDs
+                        && sequenceRef.getDatasetSequence() != sequenceI
+                                .getDatasetSequence())
                 && !sequenceRef.equals(sequenceI))
         {
           // if sequenceRef isn't intersecting with sequenceI
@@ -1254,8 +1242,10 @@ public class AlignmentAnnotation
       throw new Error(
               "liftOver currently not implemented for transfer of annotation between different types of seqeunce");
     }
-    boolean mapIsTo = (sp2sq != null) ? (sp2sq.getTo() == sq || sp2sq
-            .getTo() == sq.getDatasetSequence()) : false;
+    boolean mapIsTo = (sp2sq != null)
+            ? (sp2sq.getTo() == sq
+                    || sp2sq.getTo() == sq.getDatasetSequence())
+            : false;
 
     // TODO build a better annotation element map and get rid of annotations[]
     Map<Integer, Annotation> mapForsq = new HashMap<Integer, Annotation>();
@@ -1265,9 +1255,9 @@ public class AlignmentAnnotation
       {
         for (Entry<Integer, Annotation> ie : sequenceMapping.entrySet())
         {
-          Integer mpos = Integer.valueOf(mapIsTo ? sp2sq
-                  .getMappedPosition(ie.getKey()) : sp2sq.getPosition(ie
-                  .getKey()));
+          Integer mpos = Integer
+                  .valueOf(mapIsTo ? sp2sq.getMappedPosition(ie.getKey())
+                          : sp2sq.getPosition(ie.getKey()));
           if (mpos >= sq.getStart() && mpos <= sq.getEnd())
           {
             mapForsq.put(mpos, ie.getValue());
@@ -1454,8 +1444,8 @@ public class AlignmentAnnotation
        * up to and excluding the target column; if the count is less
        * than 1, the opening bracket is unmatched, so return its match
        */
-      String closer = String.valueOf(Rna
-              .getMatchingClosingParenthesis(symbol));
+      String closer = String
+              .valueOf(Rna.getMatchingClosingParenthesis(symbol));
       String opener = String.valueOf(symbol);
       int count = 0;
       for (int j = col + 1; j < column; j++)