// JBPNote - this method needs to be refactored to become independent of
// viewmodel package
this.clear();
+
+ if (ann_row.graph == AlignmentAnnotation.CUSTOMRENDERER && (filterParams
+ .getThresholdType() == AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD
+ || filterParams
+ .getThresholdType() == AnnotationFilterParameter.ThresholdType.BELOW_THRESHOLD))
+ {
+ float tVal = filterParams.getThresholdValue();
+ if (ann_row.sequenceRef != null)
+ {
+ // TODO - get ContactList from AlignmentView for non-seq-ref associatd
+ for (int column = 0; column < annotations.length; column++)
+ {
+ if (ann_row.annotations[column] == null)
+ {
+ continue;
+ }
+
+ int cpos = ann_row.sequenceRef.findPosition(column) - 1;
+ ContactListI clist = ann_row.sequenceRef
+ .getContactListFor(ann_row, cpos);
+ for (int row = column + 8,
+ rowEnd = clist.getContactHeight(); row < rowEnd; row++)
+ {
+ if (filterParams
+ .getThresholdType() == AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD
+ ? (clist.getContactAt(row) > tVal)
+ : (clist.getContactAt(row) < tVal))
+ {
+ addElement(column);
+ break;
+ // int column_forrowpos = ann_row.sequenceRef.findIndex(row + 1);
+ // addElement(column_forrowpos);
+ }
+ }
+ }
+ }
+ return selection.size();
+ }
+
int addedCount = 0;
int column = 0;
do
* filter may have multiple conditions -
* these are or'd until a match is found
*/
- if (ann_row.graph == AlignmentAnnotation.CUSTOMRENDERER)
- {
- if (ann_row.sequenceRef != null)
- {
- int cpos = ann_row.sequenceRef.findPosition(column) - 1;
- ContactListI clist = ann_row.sequenceRef
- .getContactListFor(ann_row, cpos);
- ContactRange crange = clist.getRangeFor(0,
- clist.getContactHeight());
- value = (float) crange.getMean();
- }
- }
-
if (filterParams
.getThresholdType() == AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD
&& value > filterParams.getThresholdValue())