JAL-1957 enabled multi-chain mapping and highlight for Chimera viewer
[jalview.git] / src / jalview / ext / rbvi / chimera / ChimeraCommands.java
index fa1b7e2..a551ca2 100644 (file)
@@ -67,8 +67,7 @@ public class ChimeraCommands
             ChimeraCommands.class, null,
             colourCommands.toArray(new String[0]));
 
-    return new StructureMappingcommandSet[]
-    { cs };
+    return new StructureMappingcommandSet[] { cs };
   }
 
   /**
@@ -79,7 +78,7 @@ public class ChimeraCommands
    * <blockquote> color colorname #modelnumber:range.chain e.g. color #00ff00
    * #0:2.B,4.B,9-12.B|#1:1.A,2-6.A,...
    * 
-   * @see http
+   * @see http 
    *      ://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/frameatom_spec
    *      .html </pre>
    * 
@@ -107,7 +106,8 @@ public class ChimeraCommands
       sb.append("color ").append(colourCode).append(" ");
       firstColour = false;
       boolean firstModelForColour = true;
-      final Map<Integer, Map<String, List<int[]>>> colourData = colourMap.get(colour);
+      final Map<Integer, Map<String, List<int[]>>> colourData = colourMap
+              .get(colour);
       for (Integer model : colourData.keySet())
       {
         boolean firstPositionForModel = true;
@@ -121,6 +121,7 @@ public class ChimeraCommands
         final Map<String, List<int[]>> modelData = colourData.get(model);
         for (String chain : modelData.keySet())
         {
+          boolean hasChain = !"".equals(chain.trim());
           for (int[] range : modelData.get(chain))
           {
             if (!firstPositionForModel)
@@ -135,7 +136,10 @@ public class ChimeraCommands
             {
               sb.append(range[0]).append("-").append(range[1]);
             }
-            sb.append(".").append(chain);
+            if (hasChain)
+            {
+              sb.append(".").append(chain);
+            }
             firstPositionForModel = false;
           }
         }
@@ -228,7 +232,7 @@ public class ChimeraCommands
               addColourRange(colourMap, lastColour, pdbfnum, startPos,
                       lastPos, lastChain);
             }
-            break;
+            // break;
           }
         }
       }
@@ -283,8 +287,7 @@ public class ChimeraCommands
     /*
      * Add the start/end positions
      */
-    chainData.add(new int[]
-    { startPos, endPos });
+    chainData.add(new int[] { startPos, endPos });
   }
 
 }