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
c&p changed
[jalview.git]
/
src
/
jalview
/
analysis
/
AAFrequency.java
diff --git
a/src/jalview/analysis/AAFrequency.java
b/src/jalview/analysis/AAFrequency.java
index
c61e7ef
..
edcc50f
100755
(executable)
--- a/
src/jalview/analysis/AAFrequency.java
+++ b/
src/jalview/analysis/AAFrequency.java
@@
-20,6
+20,7
@@
public class AAFrequency {
// This class is used extensively in calculating alignment colourschemes
\r
// that depend on the amount of conservation in each alignment column.
\r
\r
// This class is used extensively in calculating alignment colourschemes
\r
// that depend on the amount of conservation in each alignment column.
\r
\r
+
\r
public static Vector calculate(Vector sequences,int start,int end) {
\r
\r
Vector result = new Vector();
\r
public static Vector calculate(Vector sequences,int start,int end) {
\r
\r
Vector result = new Vector();
\r
@@
-45,6
+46,8
@@
public class AAFrequency {
\r
if (!jalview.util.Comparison.isGap(res.charAt(0)))
\r
nongap++;
\r
\r
if (!jalview.util.Comparison.isGap(res.charAt(0)))
\r
nongap++;
\r
+ else
\r
+ res = "-"; // we always use this for gaps in the property vectors
\r
\r
if (residueHash.containsKey(res))
\r
{
\r
\r
if (residueHash.containsKey(res))
\r
{
\r
@@
-133,26
+136,28
@@
public class AAFrequency {
\r
for (int k = winstart; k <= winend; k++) {
\r
String refchar = refseq.getSequence().substring(k,k+1);
\r
\r
for (int k = winstart; k <= winend; k++) {
\r
String refchar = refseq.getSequence().substring(k,k+1);
\r
+ if (jalview.util.Comparison.isGap(refchar.charAt(0)))
\r
+ refchar="-";
\r
+ else {
\r
+ for (int j = 0; j < sequences.size(); j++) {
\r
\r
\r
- for (int j = 0; j < sequences.size(); j++) {
\r
+ Sequence s = (Sequence)sequences.elementAt(j);
\r
\r
\r
- if (refchar.equals("-") == false) {
\r
+ if (s.getSequence().length() > k) {
\r
\r
\r
- Sequence s = (Sequence)sequences.elementAt(j);
\r
+ String res = s.getSequence().substring(k,k+1); // no gapchar test needed
\r
\r
\r
- if (s.getSequence().length() > k) {
\r
+ if (res.equals(refchar)) {
\r
+ int val = ((Integer)values.elementAt(j)).intValue();
\r
+ val++;
\r
+ values.setElementAt(new Integer(val),j);
\r
+ }
\r
+ }
\r
+ }
\r
+ }
\r
\r
\r
- String res = s.getSequence().substring(k,k+1);
\r
+ }
\r
\r
\r
- if (res.equals(refchar)) {
\r
- int val = ((Integer)values.elementAt(j)).intValue();
\r
- val++;
\r
- values.setElementAt(new Integer(val),j);
\r
- }
\r
- }
\r
- }
\r
- }
\r
- }
\r
prev = values;
\r
} else {
\r
int winstart = i-window/2;
\r
prev = values;
\r
} else {
\r
int winstart = i-window/2;
\r
@@
-189,11
+194,13
@@
public class AAFrequency {
\r
// Now substract 1 if the chars at winstart-1 match
\r
\r
\r
// Now substract 1 if the chars at winstart-1 match
\r
\r
- if (pre_refchar.equals("-") == false && pre_char.equals(pre_refchar)) {
\r
+ if (jalview.util.Comparison.isGap(pre_refchar.charAt(0)) == false
\r
+ && pre_char.equals(pre_refchar)) {
\r
val--;
\r
}
\r
\r
val--;
\r
}
\r
\r
- if (pos_refchar.equals("-") == false && pos_char.equals(pos_refchar)) {
\r
+ if (jalview.util.Comparison.isGap(pos_refchar.charAt(0)) == false
\r
+ && pos_char.equals(pos_refchar)) {
\r
val++;
\r
}
\r
\r
val++;
\r
}
\r
\r