     @ctx.font="14px Courier New"
     #@ctx.font="14px Lucida Console"
 
+    x = - @g.zoomer.get "_alignmentScrollLeft"
+    # skip unneeded blocks at the beginning
+    start = Math.max 0, - Math.ceil(x / rectWidth)
     x = 0
-    x = - @g.zoomer.get "_alignmentScrollLeft"
-    for j in [0.. seq.length - 1] by 1
+
+    selection = @_getSelection data.model
+    console.log selection
+
+    for j in [start.. seq.length - 1] by 1
       c = seq[j]
       c = c.toUpperCase()
       color = @color[c]

     paddingLeft += @g.zoomer.get "metaWidth" if @g.vis.get "metacell"
     return paddingLeft

  _adjustWidth: ->
    if @el.parentNode?
      parentWidth = @el.parentNode.offsetWidth


    #@el.setAttribute 'width', 300
    #@el.style.width = 300

    @manageEvents()

  manageEvents: ->
    events = {}
    if @g.config.get "registerMouseClicks"
      events.click = "_onclick"
    if @g.config.get "registerMouseHover"
      events.mousein = "_onmousein"
      events.mouseout = "_onmouseout"
    @delegateEvents events

    # listen for changes
    @listenTo @g.config, "change:registerMouseHover", @manageEvents
    @listenTo @g.config, "change:registerMouseClick", @manageEvents

  draw: ->
    @removeViews()
