for (int anrow = 0; anrow < rows; anrow++)
{
Annotation[] anns = new Annotation[width];
+ long rmax = 0;
/*
- * add non-zero counts as annotations
+ * add counts as annotations. zeros are needed since select-by-annotation ignores empty annotation positions
*/
for (int i = 0; i < counts.length; i++)
{
int count = counts[i][anrow];
- if (count > 0)
- {
- Color color = ColorUtils.getGraduatedColour(count, 0, minColour,
- max[anrow], maxColour);
- String str = String.valueOf(count);
- anns[i] = new Annotation(str, str, '0', count, color);
- }
+
+ Color color = ColorUtils.getGraduatedColour(count, 0, minColour,
+ max[anrow], maxColour);
+ String str = String.valueOf(count);
+ anns[i] = new Annotation(str, str, '0', count, color);
+ rmax = Math.max(count, rmax);
}
/*
ann.scaleColLabel = true;
ann.graph = AlignmentAnnotation.BAR_GRAPH;
ann.annotations = anns;
- setGraphMinMax(ann, anns);
+ ann.graphMin = 0f; // minimum always zero count
+ ann.graphMax = rmax; // maximum count from loop over feature columns
ann.validateRangeAndDisplay();
if (!ourAnnots.contains(ann))
{
*
* @param alignment
* @param col
+ * (0..)
* @param row
* @param fr
*/
{
return null;
}
- int pos = seq.findPosition(col);
/*
* compute a count for any displayed features at residue
*/
- // NB have to adjust pos if using AlignmentView.getVisibleAlignment
// see JAL-2075
- List<SequenceFeature> features = fr.findFeaturesAtRes(seq, pos);
+ List<SequenceFeature> features = fr.findFeaturesAtColumn(seq, col + 1);
int[] count = this.counter.count(String.valueOf(res), features);
return count;
}