        .attr("cy", top[1])
        .attr("r", bigRad)
        .attr("fill", pink)
-       .attr("stroke", "darkslateblue")
+       .attr("stroke", darkblue)
        .attr("stroke-width", 1)
        .attr("opacity", 1)
+
+  chrindex = {}
+  for c,i in data.chrnames
+    chrindex[c] = i
 
   # circles at eQTL peaks
   peaks = svg.append("g").attr("id", "peaks")

            .datum(data.pmarknames[c])
            .attr("d", lodcurve(c))
            .attr("class", "thickline")
            .attr("stroke", "darkslateblue")
            .style("pointer-events", "none")

    # title

             .attr("cy", (d) -> chrYScale[data.probes[d.probe].chr](data.probes[d.probe].pos_cM))
             .attr("r", peakRad)
             .attr("stroke", "none")
             .attr("fill", (d) ->
                 if (chrindex[d.chr] + chrindex[data.probes[d.probe].chr]) % 2 == 0
                   return darkblue
                 else
                   return darkgreen)
             .attr("opacity", (d) -> Zscale(d.lod))
             .on "mouseover", (d) ->
                 d3.select(this).attr("r", bigRad)
                                .attr("fill", pink)
                                .attr("stroke", darkblue)
                                .attr("stroke-width", 1)
                                .attr("opacity", 1)
                 eqtltip.call(this,d)
             .on "mouseout", (d) ->
                 d3.select(this).attr("r", peakRad)
                                .attr("fill", (d) ->
                                    if (chrindex[d.chr] + chrindex[data.probes[d.probe].chr]) % 2 == 0
                                      return darkblue
                                    else
                                      return darkgreen)
                                .attr("stroke", "none")
                                .attr("opacity", (d) -> Zscale(d.lod))
                 d3.selectAll("#eqtltip").remove()
