git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Addred GapChar string for convenient regex construction
[jalview.git]
/
src
/
jalview
/
util
/
Comparison.java
diff --git
a/src/jalview/util/Comparison.java
b/src/jalview/util/Comparison.java
index
72fb1d1
..
0366430
100755
(executable)
--- a/
src/jalview/util/Comparison.java
+++ b/
src/jalview/util/Comparison.java
@@
-13,32
+13,17
@@
public class Comparison {
String si = ii.getSequence();
\r
String sj = jj.getSequence();
\r
\r
String si = ii.getSequence();
\r
String sj = jj.getSequence();
\r
\r
- 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
+ int ilen = si.length()-1;
\r
+ int jlen = sj.length()-1;
\r
\r
\r
+ while (jalview.util.Comparison.isGap(si.charAt(start + ilen)))
\r
+ {
\r
ilen--;
\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
- ilen--;
\r
- }
\r
}
\r
\r
}
\r
\r
- if ( sj.substring(start + jlen).equals("-") ||
\r
- sj.substring(start + jlen).equals(".") ||
\r
- sj.substring(start + jlen).equals(" ")) {
\r
+ while (jalview.util.Comparison.isGap(sj.charAt(start + jlen)))
\r
+ {
\r
jlen--;
\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
- jlen--;
\r
- }
\r
}
\r
\r
int count = 0;
\r
}
\r
\r
int count = 0;
\r
@@
-68,47
+53,47
@@
public class Comparison {
}
\r
\r
/** */
\r
}
\r
\r
/** */
\r
- public static float PID(Sequence s1 , Sequence s2) {
\r
- int res = 0;
\r
+ public static float PID(SequenceI s1 , SequenceI s2)
\r
+ {
\r
int len;
\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
len = s1.getSequence().length();
\r
- } else {
\r
+ else
\r
len = s2.getSequence().length();
\r
len = s2.getSequence().length();
\r
- }
\r
+
\r
\r
int bad = 0;
\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
\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
\r
- if (i < s2.getSequence().length()) {
\r
- str2 = s2.getSequence().substring(i,i+1);
\r
- } else {
\r
- str2 = ".";
\r
- }
\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
+
\r
+ if (!(jalview.util.Comparison.isGap( chr1 )) && !(jalview.util.Comparison.isGap( chr2 )))
\r
+ {
\r
+ if (chr1!=chr2)
\r
bad++;
\r
bad++;
\r
- }
\r
}
\r
}
\r
\r
return (float)100*(len-bad)/len;
\r
}
\r
}
\r
}
\r
\r
return (float)100*(len-bad)/len;
\r
}
\r
+ public static String GapChars = " .-";
\r
+ public static boolean isGap(char c)
\r
+ {
\r
+ return (c != '.' && c != '-' && c != ' ') ? false : true;
\r
+ }
\r
}
\r
}
\r