public void setPos(int x, int y) {
   /* after much to-ing and fro-ing it has
      become apparent that pos(itions) within
      a row's seqwrapper are 0-based (Not
      1-based as the sequence is
   */
   this.tier = baseEditorPanel.getTierForPixelPosition(y); // method of SeqAlignPanel
   this.pos = calculatePosition(x, y);
 }
  /**
   * makes cursor hand if at the end of an exon using mouses position, does not change pos or tier
   * variable
   */
  public void mouseMoved(MouseEvent e) {
    // setPos sets the pos variable to the mouse position, cant do this
    // because on right click menu want to preserve the pos clicked on
    // and setPos here changes pos if user moves mouse after right click
    // setPos (e.getX(), e.getY());

    // moveMouseTier and moveMousePos can differ from this.tier and pos
    int mouseMoveTier = baseEditorPanel.getTierForPixelPosition(e.getY()); // SeqAlignPanel
    int mouseMovePos = calculatePosition(e.getX(), e.getY());

    // make the cursor a hand if it is at the end of a feature
    int type = baseEditorPanel.getBoundaryType(mouseMovePos, mouseMoveTier);
    if (type == baseEditorPanel.NO_BOUNDARY) baseEditorPanel.setCursor(Cursor.getDefaultCursor());
    else baseEditorPanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
  }