def test_no_stack_at_all(self): seq = self.genome["chrI"] annots = {} annots["a"] = pygr_draw.Annotation("a", "chrI", 0, 50) map = pygr_draw.create_annotation_map(annots, self.genome) slots = pygr_draw.stack_annotations(seq, map) assert slots["a"] == 0 # should be on level 0
def test_stack_two(self): seq = self.genome["chrI"] annots = {} annots["a"] = pygr_draw.Annotation("a", "chrI", 0, 50) annots["b"] = pygr_draw.Annotation("b", "chrI", 35, 100) map = pygr_draw.create_annotation_map(annots, self.genome) slots = pygr_draw.stack_annotations(seq, map) assert slots["a"] == 1 # the short annot should be on level 1 assert slots["b"] == 0
def test_stack_many(self): seq = self.genome["chrI"] annots = {} length = len(seq) for i in range(0, length, 100): name = "annot%d" % (i,) annots[name] = pygr_draw.Annotation(name, "chrI", i, length) map = pygr_draw.create_annotation_map(annots, self.genome) slots = pygr_draw.stack_annotations(seq, map) assert max(slots.values()) == len(annots) - 1
from pygr import seqdb genome = seqdb.BlastDB('example.fa') sequence_name = 'chrI' import pygr_draw from pygr_draw import AnnotationGroup, Annotation picture_class = pygr_draw.BitmapSequencePicture colors = picture_class.colors annotations2 = {} annotations2['blip'] = Annotation('blip', sequence_name, 25, 75, color=colors.green) annotations2['gene1'] = AnnotationGroup('gene1', sequence_name, ((50, 100), (200, 300), (500, 1500)),color=colors.red) annotations2['gene2'] = AnnotationGroup('gene2', sequence_name, ((100, 300), (1500, 2000), (3000, 3750)),color=colors.blue) annotations2['gene3'] = AnnotationGroup('gene3', sequence_name, ((3800, 4000), ( 4500, 5000)),color=colors.blue) annotations_map = pygr_draw.create_annotation_map(annotations2, genome) p = pygr_draw.draw_annotation_maps(genome[sequence_name][:4000],(annotations_map,),picture_class=picture_class) image = p.finalize() filename = 'group-example.png' open(filename, 'w').write(image) print 'Output in', filename