int ilen = end-start+1;\r
int jlen = end-start+1;\r
\r
- if ( si.substring(start + ilen).equals("-") ||\r
- si.substring(start + ilen).equals(".") ||\r
- si.substring(start + ilen).equals(" ")) {\r
-\r
+ if ( jalview.util.Comparison.isGap( si.charAt(start+ilen)) )\r
+ {\r
ilen--;\r
\r
- while (si.substring(start + ilen,start + ilen+1).equals("-") ||\r
- si.substring(start + ilen,start + ilen+1).equals(".") ||\r
- si.substring(start + ilen,start + ilen+1).equals(" ")) {\r
+ while (jalview.util.Comparison.isGap( si.charAt(start+ilen)))\r
+ {\r
ilen--;\r
}\r
}\r
\r
- if ( sj.substring(start + jlen).equals("-") ||\r
- sj.substring(start + jlen).equals(".") ||\r
- sj.substring(start + jlen).equals(" ")) {\r
+ if ( jalview.util.Comparison.isGap( sj.charAt(start+jlen)) )\r
+ {\r
jlen--;\r
\r
- while (sj.substring(start + jlen,start + jlen+1).equals("-") ||\r
- sj.substring(start + jlen,start + jlen+1).equals(".") ||\r
- sj.substring(start + jlen,start + jlen+1).equals(" ")) {\r
+ while (jalview.util.Comparison.isGap( sj.charAt(start+jlen)))\r
+ {\r
jlen--;\r
}\r
}\r
}\r
\r
/** */\r
- public static float PID(Sequence s1 , Sequence s2) {\r
- int res = 0;\r
+ public static float PID(Sequence s1 , Sequence s2)\r
+ {\r
int len;\r
\r
- if (s1.getSequence().length() > s2.getSequence().length()) {\r
+ if (s1.getSequence().length() > s2.getSequence().length())\r
len = s1.getSequence().length();\r
- } else {\r
+ else\r
len = s2.getSequence().length();\r
- }\r
+\r
\r
int bad = 0;\r
\r
- for (int i = 0; i < len; i++) {\r
- String str1 = "";\r
- String str2 = "";\r
+ for (int i = 0; i < len; i++)\r
+ {\r
+ char chr1;\r
+ char chr2;\r
\r
- if (i < s1.getSequence().length()) {\r
- str1 = s1.getSequence().substring(i,i+1);\r
- } else {\r
- str1 = ".";\r
- }\r
+ if (i < s1.getSequence().length())\r
+ chr1 = s1.getSequence().charAt(i);\r
+ else\r
+ chr1 = '.';\r
\r
- if (i < s2.getSequence().length()) {\r
- str2 = s2.getSequence().substring(i,i+1);\r
- } else {\r
- str2 = ".";\r
- }\r
\r
- if (!(str1.equals(".") ||\r
- str1.equals("-") ||\r
- str1.equals(" ")) &&\r
- !(str2.equals(".") ||\r
- str2.equals("-") ||\r
- str2.equals(" "))) {\r
+ if (i < s2.getSequence().length())\r
+ chr2 = s2.getSequence().charAt(i);\r
+ else\r
+ chr2 = '.';\r
+\r
\r
- if (!str1.equals(str2)) {\r
+ if (!(jalview.util.Comparison.isGap( chr1 )) && !(jalview.util.Comparison.isGap( chr2 )))\r
+ {\r
+ if (chr1!=chr2)\r
bad++;\r
- }\r
}\r
}\r
\r
return (float)100*(len-bad)/len;\r
}\r
+\r
+ public static boolean isGap(char c)\r
+ {\r
+ return (c != '.' && c != '-' && c != ' ') ? false : true;\r
+ }\r
}\r