def draw_tick(self, tickpos, ctr, ticklen, track, draw_label):
    ' draw_tick(self, tickpos, ctr, ticklen) -> (element, element)\n\n            o tickpos   Int, position of the tick on the sequence\n\n            o ctr       Float, Y co-ord of the center of the track\n\n            o ticklen   How long to draw the tick\n\n            o track     Track, the track the tick is drawn on\n\n            o draw_label    Boolean, write the tick label?\n\n            Returns a drawing element that is the tick on the scale\n        '
    (tickangle, tickcos, ticksin) = self.canvas_angle(tickpos)
    (x0, y0) = ((self.xcenter + (ctr * ticksin)), (self.ycenter + (ctr * tickcos)))
    (x1, y1) = ((self.xcenter + ((ctr + ticklen) * ticksin)), (self.ycenter + ((ctr + ticklen) * tickcos)))
    tick = Line(x0, y0, x1, y1, strokeColor=track.scale_color)
    if draw_label:
        if (track.scale_format == 'SInt'):
            if (tickpos >= 1000000):
                tickstring = (str((tickpos // 1000000)) + ' Mbp')
            elif (tickpos >= 1000):
                tickstring = (str((tickpos // 1000)) + ' Kbp')
            else:
                tickstring = str(tickpos)
        else:
            tickstring = str(tickpos)
        label = String(0, 0, tickstring, fontName=track.scale_font, fontSize=track.scale_fontsize, fillColor=track.scale_color)
        if (tickangle > pi):
            label.textAnchor = 'end'
        labelgroup = Group(label)
        labelgroup.transform = (1, 0, 0, 1, x1, y1)
    else:
        labelgroup = None
    return (tick, labelgroup)
draw_tick(self, tickpos, ctr, ticklen) -> (element, element)

o tickpos   Int, position of the tick on the sequence

o ctr       Float, Y co-ord of the center of the track

o ticklen   How long to draw the tick

o track     Track, the track the tick is drawn on

o draw_label    Boolean, write the tick label?

Returns a drawing element that is the tick on the scale
def draw_tick(self, tickpos, ctr, ticklen, track, draw_label):
    ' draw_tick(self, tickpos, ctr, ticklen) -> (element, element)\n\n            o tickpos   Int, position of the tick on the sequence\n\n            o ctr       Float, Y co-ord of the center of the track\n\n            o ticklen   How long to draw the tick\n\n            o track     Track, the track the tick is drawn on\n\n            o draw_label    Boolean, write the tick label?\n\n            Returns a drawing element that is the tick on the scale\n        '
    (tickangle, tickcos, ticksin) = self.canvas_angle(tickpos)
    (x0, y0) = ((self.xcenter + (ctr * ticksin)), (self.ycenter + (ctr * tickcos)))
    (x1, y1) = ((self.xcenter + ((ctr + ticklen) * ticksin)), (self.ycenter + ((ctr + ticklen) * tickcos)))
    tick = Line(x0, y0, x1, y1, strokeColor=track.scale_color)
    if draw_label:
        if (track.scale_format == 'SInt'):
            if (tickpos >= 1000000):
                tickstring = (str((tickpos // 1000000)) + ' Mbp')
            elif (tickpos >= 1000):
                tickstring = (str((tickpos // 1000)) + ' Kbp')
            else:
                tickstring = str(tickpos)
        else:
            tickstring = str(tickpos)
        label = String(0, 0, tickstring, fontName=track.scale_font, fontSize=track.scale_fontsize, fillColor=track.scale_color)
        if (tickangle > pi):
            label.textAnchor = 'end'
        labelgroup = Group(label)
        labelgroup.transform = (1, 0, 0, 1, x1, y1)
    else:
        labelgroup = None
    return (tick, labelgroup)