class pyMussaGL:
def __init__(self):
- seq = mussa.Sequence()
- s = "AAGGCCTTAAGGCCTT" * 100
- seq = mussa.Sequence(s)
- assert len(s) == seq.size() == len(seq)
- self.glseq = mussa.GlSequence(seq)
+ """Initalize our data and our glut window"""
+ # make up a simple sequence
+ self.s = "AAGGCCTT" * 5
+ self.seq = mussa.Sequence(self.s)
+ # add our annotation
+ annot = mussa.annot(0, 5, "name", "type")
+ self.seq.add_annotation(annot)
+
+ # AnnotationColors is required, even though it'd be nice
+ # if it were optional
+ self.glseq = mussa.GlSequence(self.seq, mussa.AnnotationColors())
+ assert len(self.s) == self.glseq.size
+
+ # set up opengl buffer
glutInit(sys.argv)
glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH )
glutCreateWindow('mussa')
glClearColor(1,1,1,0)
- glOrtho(-50, len(seq)+50, -50, 50, -50, 50)
+ glOrtho(-10, len(self.s)+10, -50, 50, -50, 50)
glutDisplayFunc(self.display)
print "init done"
def display(self):
+ """Update showing buffer"""
glClear(GL_COLOR_BUFFER_BIT)
- self.glseq.draw()
- glutSwapBuffers()
+ self.glseq.draw(-50, self.glseq.size+50)
+ #glutSwapBuffers()
if __name__ == "__main__":
p = pyMussaGL()