if (aa != null)
{
ContactMatrixI cm = av.getContactMatrix(aa);
+ // generally, we assume cm has 1:1 mapping to annotation row - probably wrong
+ // but.. if
if (cm instanceof MappableContactMatrixI)
{
+ int[] pos;
+ // use the mappable's mapping - always the case for PAE Matrices so good
+ // for 2.11.3
MappableContactMatrixI mcm = (MappableContactMatrixI) cm;
- int pos[]=mcm.getMappedPositionsFor(rseq, colm);
- if (pos!=null)
+ pos = mcm.getMappedPositionsFor(rseq, colm + 1);
+ // finally, look up the position of the column
+ if (pos != null)
{
- offp=rseq.findIndex(pos[0])-1;
- } else {
- offp=-2;
+ offp = rseq.findIndex(pos[0]);
}
+ } else {
+ offp = colm;
}
}
- if (offp==-1)
+ if (offp<=0)
{
- // assume a direct mapping to reference or column number
- offp = (rseq != null) ? rseq.findIndex(rseq.getStart() + colm)
- : colm;
+ return false;
}
+ offp-=2;
if (!av.hasHiddenColumns())
{
return cs.contains(offp);
}
- if (hc.isVisible(offp - 1))
+ if (hc.isVisible(offp))
{
- return cs.contains(offp - 1);
+ return cs.contains(offp);
// return cs.contains(hc.absoluteToVisibleColumn(offp));
}
return false;
}
}
}
+ PaintRefresher.Refresh(tp, av.getSequenceSetId());
}
public void createSeqGroupFor(AlignmentPanel[] aps, Vector<BinaryNode> l,