JAL-4020 Added search for PyMOLWinWithConsole.bat (and PyMOLWin.exe) in likely places...
[jalview.git] / src / ext / edu / ucsf / rbvi / strucviz2 / ChimUtils.java
index 95221d2..1b0285c 100644 (file)
@@ -1,9 +1,42 @@
+/* vim: set ts=2: */
+/**
+ * Copyright (c) 2006 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *   1. Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions, and the following disclaimer.
+ *   2. Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions, and the following
+ *      disclaimer in the documentation and/or other materials provided
+ *      with the distribution.
+ *   3. Redistributions must acknowledge that this software was
+ *      originally developed by the UCSF Computer Graphics Laboratory
+ *      under support by the NIH National Center for Research Resources,
+ *      grant P41-RR01081.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
 package ext.edu.ucsf.rbvi.strucviz2;
 
 import java.awt.Color;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import org.slf4j.Logger;
@@ -43,8 +76,8 @@ public abstract class ChimUtils
     {
       if (decimal > 0)
       {
-        subModelNumber = Integer.parseInt(inputLine.substring(decimal
-                + hash + 2, space));
+        subModelNumber = Integer
+                .parseInt(inputLine.substring(decimal + hash + 2, space));
         space = decimal + hash + 1;
       }
       modelNumber = Integer.parseInt(inputLine.substring(hash + 1, space));
@@ -87,8 +120,8 @@ public abstract class ChimUtils
     {
       if (decimal > 0)
       {
-        subModelNumber = Integer.parseInt(inputLine.substring(decimal
-                + hash + 2, space));
+        subModelNumber = Integer
+                .parseInt(inputLine.substring(decimal + hash + 2, space));
         space = decimal + hash + 1;
       }
       modelNumber = Integer.parseInt(inputLine.substring(hash + 1, space));
@@ -141,7 +174,7 @@ public abstract class ChimUtils
       float[] rgbValues = new float[4];
       for (int i = 0; i < rgbStrings.length; i++)
       {
-        Float f = new Float(rgbStrings[i]);
+        Float f = Float.valueOf(rgbStrings[i]);
         rgbValues[i] = f.floatValue();
       }
       if (rgbStrings.length == 4)
@@ -171,7 +204,7 @@ public abstract class ChimUtils
    */
   public static Integer makeModelKey(int model, int subModel)
   {
-    return new Integer(model * MAX_SUB_MODELS + subModel);
+    return Integer.valueOf(model * MAX_SUB_MODELS + subModel);
   }
 
   // invoked by the getResdiue (parseConnectivityReplies in
@@ -295,11 +328,11 @@ public abstract class ChimUtils
     String resType = "";
     if (split.length == 2)
     {
-      resType = split[0].trim().toUpperCase();
+      resType = split[0].trim().toUpperCase(Locale.ROOT);
     }
     else if (split.length == 3)
     {
-      resType = split[1].trim().toUpperCase();
+      resType = split[1].trim().toUpperCase(Locale.ROOT);
     }
     if (resType.equalsIgnoreCase("HOH") || resType.equalsIgnoreCase("WAT"))
     {
@@ -589,8 +622,8 @@ public abstract class ChimUtils
         {
           try
           {
-            chimeraModel = chimeraManager.getChimeraModel(
-                    Integer.valueOf(model), 0);
+            chimeraModel = chimeraManager
+                    .getChimeraModel(Integer.valueOf(model), 0);
           } catch (NumberFormatException ex)
           {
             // ignore
@@ -666,8 +699,8 @@ public abstract class ChimUtils
       if (modelIDNoResChain[0] != null)
       {
         String modelID = modelIDNoResChain[0];
-        List<ChimeraModel> models = chimeraManager.getChimeraModels(
-                modelID, ModelType.PDB_MODEL);
+        List<ChimeraModel> models = chimeraManager.getChimeraModels(modelID,
+                ModelType.PDB_MODEL);
         if (models.size() == 1)
         { // usual case with only one model
           chimeraModel = models.get(0);
@@ -696,8 +729,8 @@ public abstract class ChimUtils
           // TODO: [Optional] What is this doing?
           try
           {
-            chimeraModel = chimeraManager.getChimeraModel(
-                    Integer.valueOf(modelID), 0);
+            chimeraModel = chimeraManager
+                    .getChimeraModel(Integer.valueOf(modelID), 0);
           } catch (NumberFormatException ex)
           {
             // ignore
@@ -736,8 +769,8 @@ public abstract class ChimUtils
         }
         else if (chimeraModel.getChainCount() == 1)
         {
-          chimeraResidue = chimeraModel.getResidue(chimeraModel
-                  .getChainNames().iterator().next(), residue);
+          chimeraResidue = chimeraModel.getResidue(
+                  chimeraModel.getChainNames().iterator().next(), residue);
         }
         // System.out.println("ChimeraResidue = " + chimeraResidue);
       }
@@ -913,7 +946,8 @@ public abstract class ChimUtils
     aaNames.put("LYS", "K Lys Lysine N[C@](CCCCN)([H])C(O)=O");
     aaNames.put("DLY", "K Dly D-Lysine NCCCC[C@@H](N)C(O)=O");
     aaNames.put("MET", "M Met Methionine N[C@](CCSC)([H])C(O)=O");
-    aaNames.put("PHE", "F Phe Phenylalanine N[C@](CC1=CC=CC=C1)([H])C(O)=O");
+    aaNames.put("PHE",
+            "F Phe Phenylalanine N[C@](CC1=CC=CC=C1)([H])C(O)=O");
     aaNames.put("PRO", "P Pro Proline OC([C@@]1([H])NCCC1)=O");
     aaNames.put("SER", "S Ser Serine OC[C@](C(O)=O)([H])N");
     aaNames.put("THR", "T Thr Threonine O[C@H](C)[C@](C(O)=O)([H])N");