Store Sequence sequence location in a shared_ptr class
[mussa.git] / py / gl.py
index 4f9ca0d1e0c7dd647d1aea2132a6851dd6f3e024..d1e5645fd6506dd9e4cf981b8947ac8959c78ca5 100644 (file)
--- a/py/gl.py
+++ b/py/gl.py
@@ -9,26 +9,36 @@ import mussa
   
 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()