}
/**
- * complete the given consensus and quuality annotation rows
+ * complete the given consensus and quuality annotation rows.
+ * Note: currently this method will enlarge the given annotation row if it is too small, otherwise will leave its length unchanged.
* @param conservation conservation annotation row
* @param quality2 (optional - may be null)
- * @param alWidth extent of consensus
+ * @param istart first column for conservation
+ * @param alWidth extent of conservation
*/
public void completeAnnotations(AlignmentAnnotation conservation,
- AlignmentAnnotation quality2, int alWidth)
+ AlignmentAnnotation quality2, int istart, int alWidth)
{
char[] sequence = getConsSequence().getSequence();
float minR;
char c;
- conservation.annotations = new Annotation[alWidth];
+ if (conservation.annotations !=null && conservation.annotations.length<alWidth)
+ { conservation.annotations = new Annotation[alWidth]; }
+
if (quality2 != null)
{
quality2.graphMax = qualityRange[1].floatValue();
- quality2.annotations = new Annotation[alWidth];
+ if (quality2.annotations!=null && quality2.annotations.length<alWidth) {
+ quality2.annotations = new Annotation[alWidth];
+ }
qmin = qualityRange[0].floatValue();
qmax = qualityRange[1].floatValue();
}