JWS-112 Bumping version of ClustalW (src, binaries and windows) to version 2.1.
[jabaws.git] / binaries / src / clustalw / src / general / Utility.cpp
index 619d62a..974a53c 100644 (file)
@@ -281,6 +281,41 @@ bool Utility::blankLine(char *line)
 
 /**
  * 
+ * @param line 
+ * @return 
+ */
+// Utility::blankLine thinks that a line like
+// 2125209         .......... .......... .......... .......... .......... 
+// is blank, causing problems for countSeqs when sequence labels are numeric
+// this function will return false if there's a number and a bunch of dots (not ideal, i know)
+bool Utility::blankLineNumericLabel(char *line)
+{
+    int i;
+    int dots = 0;
+    bool isnumeric = false;
+
+    for (i = 0; line[i] != '\n' && line[i] != EOS; i++)
+    {
+        if (isdigit(line[i]) || isspace(line[i]) || (line[i] == '*') ||
+            (line[i] == ':') || (line[i] == '.'))
+            ;
+        else
+        {
+            return false;
+        }
+        if(line[i] == '.')
+            dots++;
+        if(isdigit(line[i]))
+            isnumeric = true;
+    }
+    if(isnumeric && dots > 10)
+        return false;
+    else
+        return true;
+}
+
+/**
+ * 
  * @param str 
  * @param path 
  */