{\r
return Comparison.compare(ii,jj,0,ii.getLength()-1);\r
}\r
+ /**\r
+ * this was supposed to be an ungapped pid calculation\r
+ * @param ii SequenceI\r
+ * @param jj SequenceI\r
+ * @param start int\r
+ * @param end int\r
+ * @return float\r
+ */\r
public static float compare(SequenceI ii, SequenceI jj, int start, int end) {\r
\r
String si = ii.getSequence();\r
String sj = jj.getSequence();\r
\r
- int ilen = end-start;\r
- int jlen = end-start;\r
+ int ilen = si.length()-1;\r
+ int jlen = sj.length()-1;\r
\r
- if ( jalview.util.Comparison.isGap( si.charAt(start+ilen)) )\r
- {\r
+ while (jalview.util.Comparison.isGap(si.charAt(start + ilen)))\r
+ {\r
ilen--;\r
-\r
- while (jalview.util.Comparison.isGap( si.charAt(start+ilen)))\r
- {\r
- ilen--;\r
- }\r
}\r
\r
- if ( jalview.util.Comparison.isGap( sj.charAt(start+jlen)) )\r
+ while (jalview.util.Comparison.isGap(sj.charAt(start + jlen)))\r
{\r
jlen--;\r
-\r
- while (jalview.util.Comparison.isGap( sj.charAt(start+jlen)))\r
- {\r
- jlen--;\r
- }\r
}\r
\r
int count = 0;\r
return pid;\r
}\r
\r
- /** */\r
- public static float PID(Sequence s1 , Sequence s2)\r
+ /**\r
+ * this is a gapped PID calculation\r
+ *\r
+ * @param s1 SequenceI\r
+ * @param s2 SequenceI\r
+ * @return float\r
+ */\r
+ public static float PID(SequenceI s1 , SequenceI s2)\r
{\r
int len;\r
\r
\r
return (float)100*(len-bad)/len;\r
}\r
-\r
+ public static String GapChars = " .-";\r
public static boolean isGap(char c)\r
{\r
return (c != '.' && c != '-' && c != ' ') ? false : true;\r