drawableSequence removed
[jalview.git] / src / jalview / analysis / Conservation.java
index db572ac..c5ddd0f 100755 (executable)
@@ -32,16 +32,14 @@ public class Conservation {
 \r
   String consString = "";\r
 \r
-  DrawableSequence consSequence;\r
+  Sequence consSequence;\r
   Hashtable        propHash;\r
   int              threshold;\r
-  Hashtable[]      freqs;\r
 \r
   String name = "";\r
 \r
-  public Conservation(String name,Hashtable[] freqs,Hashtable propHash, int threshold, Vector sequences, int start, int end) {\r
+  public Conservation(String name,Hashtable propHash, int threshold, Vector sequences, int start, int end) {\r
     this.name      = name;\r
-    this.freqs     = freqs;\r
     this.propHash  = propHash;\r
     this.threshold = threshold;\r
     this.sequences = sequences;\r
@@ -64,7 +62,7 @@ public class Conservation {
         if (sequences.elementAt(j) instanceof Sequence) {\r
           Sequence s = (Sequence)sequences.elementAt(j);\r
 \r
-          if (s.getSequence().length() > i) {\r
+          if (s.getLength() > i) {\r
             String res = s.getSequence().substring(i,i+1);\r
 \r
             if (residueHash.containsKey(res)) {\r
@@ -121,14 +119,19 @@ public class Conservation {
     }\r
   }\r
 \r
-  public int countGaps(int j) {\r
+  public int countGaps(int j)\r
+  {\r
     int count = 0;\r
 \r
-    for (int i = 0; i < sequences.size();i++) {\r
-      String tmp = ((Sequence)sequences.elementAt(i)).getSequence().substring(j,j+1);\r
-      if (tmp.equals(" ") || tmp.equals(".") || tmp.equals("-")) {\r
+    for (int i = 0; i < sequences.size();i++)\r
+    {\r
+      if( j+1 > ((Sequence)sequences.elementAt(i)).getSequence().length())\r
+      {  count++; continue;}\r
+\r
+      char c = ((Sequence)sequences.elementAt(i)).getSequence().charAt(j);\r
+      if (jalview.util.Comparison.isGap((c)))\r
         count++;\r
-      }\r
+\r
     }\r
     return count;\r
   }\r
@@ -140,45 +143,49 @@ public class Conservation {
       int totGaps = countGaps(i);\r
       float pgaps = (float)totGaps*100/(float)sequences.size();\r
 \r
-      if (percentageGaps > pgaps) {\r
-        Hashtable resultHash = (Hashtable)total.elementAt(i);\r
+      if (percentageGaps > pgaps)\r
+      {\r
+        Hashtable resultHash = (Hashtable)total.elementAt(i-start);\r
 \r
         //Now find the verdict\r
         int         count = 0;\r
         Enumeration e3    = resultHash.keys();\r
 \r
-        while (e3.hasMoreElements()) {\r
+        while (e3.hasMoreElements())\r
+        {\r
           String type    = (String)e3.nextElement();\r
           Integer result = (Integer)resultHash.get(type);\r
 \r
           //Do we want to count +ve conservation or +ve and -ve cons.?\r
 \r
-          if (consflag) {\r
-            if (result.intValue() == 1) {\r
+          if (consflag)\r
+          {\r
+            if (result.intValue() == 1)\r
               count++;\r
-            }\r
-          } else {\r
-            if (result.intValue() != -1) {\r
+          }\r
+          else\r
+          {\r
+            if (result.intValue() != -1)\r
               count++;\r
-            }\r
           }\r
         }\r
 \r
-        if (count < 10) {\r
+        if (count < 10)\r
           consString = consString + String.valueOf(count);\r
-        } else {\r
+        else\r
           consString = consString + "*";\r
-        }\r
-      } else {\r
+\r
+      }\r
+      else\r
+      {\r
         consString = consString + "-";\r
       }\r
     }\r
 \r
-    consSequence = new DrawableSequence(name,consString,start,end);\r
-\r
+    consSequence = new Sequence(name,consString,start,end);\r
   }\r
 \r
-  public jalview.gui.DrawableSequence getConsSequence() {\r
+  public Sequence getConsSequence() {\r
     return consSequence;\r
   }\r
 \r