Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/file/ee2c10aa74b8/sandbox/wx-dc.py
Дата изменения: Unknown
Дата индексирования: Mon Feb 4 06:05:12 2013
Кодировка:
allpy: ee2c10aa74b8 sandbox/wx-dc.py

allpy

view sandbox/wx-dc.py @ 610:ee2c10aa74b8

paired_cores/score.py: change method of score evaluation Boundary positions of blocks are not considered. Columns represented with one sequence or pure gap columns are not considered. Calculate weighted average of number of connected components in columns. Weight of column = l / sum(l) (l = number of sequnces representing column)
author boris (kodomo) <bnagaev@gmail.com>
date Tue, 05 Apr 2011 23:11:41 +0400
parents
children 61e5d8e146c7
line source
1 #!/usr/bin/python
3 import wx
4 import bufferedcanvas
5 import common
7 class Text(bufferedcanvas.BufferedCanvas):
9 def __init__(self, seqs, *args, **kw):
10 self.seqs = seqs
11 self.font = wx.FFont(12, wx.FONTFAMILY_MODERN)
12 bufferedcanvas.BufferedCanvas.__init__(self, *args, **kw)
14 dc = wx.ClientDC(self)
15 dc.SetFont(self.font)
16 w = (len(seqs[0][1])+1) * dc.GetCharWidth()
17 h = (len(seqs)+1) * (dc.GetCharHeight() + 1)
18 self.size = w, h
19 self.SetVirtualSize(self.size)
21 self.Bind(wx.EVT_SCROLL, self.onPaint)
23 self.SetupScrolling()
25 def draw(self, dc):
26 dc.SetBackground(wx.Brush("White"))
27 dc.Clear()
28 dc.SetFont(self.font)
30 w = dc.GetCharWidth()
31 h = dc.GetCharHeight()
32 for i, (name, body, ids, colors) in enumerate(self.seqs):
33 for j in xrange(len(body)):
34 x = j * w
35 y = i * (h + 1)
36 dc.SetBrush(wx.Brush(colors[j]))
37 dc.SetPen(wx.Pen(colors[j]))
38 dc.DrawRectangle(x, y, x + w, y + h)
39 dc.SetPen(wx.Pen("Black"))
40 dc.DrawText(body[j], x, y)
42 if hasattr(self, 'size'):
43 self.SetVirtualSize(self.size)
45 seqs = common.autoload('data/small.fasta')
47 app = wx.App(False)
48 top = wx.Frame(None, title='Example', size=(500, 500))
49 text = Text(seqs, top)
50 top.Show(True)
52 app.MainLoop()