*/
public class AAFrequency
{
- public static final String MAXCOUNT = "C";
-
- public static final String MAXRESIDUE = "R";
-
- public static final String PID_GAPS = "G";
-
- public static final String PID_NOGAPS = "N";
-
public static final String PROFILE = "P";
- public static final String ENCODED_CHARS = "E";
-
/*
* Quick look-up of String value of char 'A' to 'Z'
*/
*
* @param sequences
* @param start
+ * start column (inclusive, base zero)
* @param end
+ * end column (exclusive)
* @param result
* array in which to store profile per column
* @param saveFullProfile
else
{
/*
- * here we count a gap if the sequence doesn't
- * reach this column (is that correct?)
+ * count a gap if the sequence doesn't reach this column
*/
residueCounts.addGap();
}
/**
* Derive the consensus annotations to be added to the alignment for display.
* This does not recompute the raw data, but may be called on a change in
- * display options, such as 'show logo', which may in turn result in a change
- * in the derived values.
+ * display options, such as 'ignore gaps', which may in turn result in a
+ * change in the derived values.
*
* @param consensus
* the annotation row to add annotations to
String description = getTooltip(profile, value, showSequenceLogo,
ignoreGaps, dp);
- consensus.annotations[i] = new Annotation(profile.getModalResidue(),
+ String modalResidue = profile.getModalResidue();
+ if ("".equals(modalResidue))
+ {
+ modalResidue = "-";
+ }
+ else if (modalResidue.length() > 1)
+ {
+ modalResidue = "+";
+ }
+ consensus.annotations[i] = new Annotation(modalResidue,
description, ' ', value);
}
// long elapsed = System.currentTimeMillis() - now;
String maxRes = profile.getModalResidue();
if (maxRes.length() > 1)
{
- sb.append("[").append(maxRes).append("] ");
- maxRes = "+";
+ sb.append("[").append(maxRes).append("]");
}
else
{
- sb.append(maxRes).append(" ");
+ sb.append(maxRes);
+ }
+ if (maxRes.length() > 0)
+ {
+ sb.append(" ");
+ Format.appendPercentage(sb, pid, dp);
+ sb.append("%");
}
- Format.appendPercentage(sb, pid, dp);
- sb.append("%");
description = sb.toString();
}
return description;