def print_gene(self, gene): print "%s %s:%s:%s-%s (%s)" % ( gene.data["ID"], gene.species, gene.seqname, util.int2pretty(gene.start), util.int2pretty( gene.end), util.int2pretty(gene.length())) print ";".join("%s=%s" % (a, b) for a, b in gene.data.items()) print
def print_gene(self, gene): print "%s %s:%s:%s-%s (%s)" % ( gene.data["ID"], gene.species, gene.seqname, util.int2pretty(gene.start), util.int2pretty(gene.end), util.int2pretty(gene.length())) print ";".join("%s=%s" % (a, b) for a,b in gene.data.items()) print
def frag_click(self, frag): x, y = self.win.get_mouse_pos("world") if frag.direction == 1: pos = int(frag.start + x - frag.x) else: pos = int(frag.end - (x - frag.x)) print "%s:%s:%s" % (frag.genome, frag.chrom, util.int2pretty(pos))
def on_click(self, clickx, clicky): # determine regions that have been clicked self.selgenes1 = self.get_regions_by_pos(self.layout1, clickx) self.selgenes2 = self.get_regions_by_pos(self.layout2, clicky) print for gene in self.selgenes1: if "ID" not in gene.data: continue print "X %10s (%s %s:%s-%s)" % ( gene.data["ID"], gene.species, gene.seqname, util.int2pretty(gene.start), util.int2pretty(gene.end)) for gene in self.selgenes2: if "ID" not in gene.data: continue print "Y %10s (%s %s:%s-%s)" % ( gene.data["ID"], gene.species, gene.seqname, util.int2pretty(gene.start), util.int2pretty(gene.end))
def on_select(self, pos1, pos2): """Callback for region selections""" # determine selected chrom chrom = self.pos2chrom(*pos1) chrom2 = self.pos2chrom(*pos2) if chrom == None: print "no chromosome selected" return if chrom != chrom2: print "please select only one chromosome" return x1 = pos1[0] x2 = pos2[0] if x1 > x2: x1, x2 = x2, x1 chrom_pos = self.chrom_pos[chrom][0] newchrom = Region(chrom.species, chrom.seqname, chrom.feature, int(max(chrom.start + x1 - chrom_pos, 0)), int(min(chrom.start + x2 - chrom_pos, chrom.end))) print "displaying region: %s:%s:%s-%s:%s" % \ (newchrom.species, newchrom.seqname, util.int2pretty(newchrom.start), util.int2pretty(newchrom.end), ["+", "+", "-"][newchrom.strand]) # create sub-browser subbrowser = GenomeOverview([newchrom], winpos=self.win.get_position(), winsize=self.win.get_size()) for track_class, offset, args, kargs, tracks in self.metatracks: subbrowser.add_track(track_class, offset, *args, **kargs) subbrowser.show()
def on_click(self, clickx, clicky): # determine regions that have been clicked self.selgenes1 = self.get_regions_by_pos(self.layout1, clickx) self.selgenes2 = self.get_regions_by_pos(self.layout2, clicky) print for gene in self.selgenes1: if "ID" not in gene.data: continue print "X %10s (%s %s:%s-%s)" % (gene.data["ID"], gene.species, gene.seqname, util.int2pretty(gene.start), util.int2pretty(gene.end)) for gene in self.selgenes2: if "ID" not in gene.data: continue print "Y %10s (%s %s:%s-%s)" % (gene.data["ID"], gene.species, gene.seqname, util.int2pretty(gene.start), util.int2pretty(gene.end))
def func(): x, y = win.get_mouse_pos() print "pos=%s age=%f" % (util.int2pretty(int(x)), y)
def test_pretty_int(self): self.assertEqual(util.int2pretty(0), '0') self.assertEqual(util.int2pretty(1), '1') self.assertEqual(util.int2pretty(10), '10') self.assertEqual(util.int2pretty(100), '100') self.assertEqual(util.int2pretty(1000), '1,000') self.assertEqual(util.int2pretty(10000), '10,000') self.assertEqual(util.int2pretty(100000), '100,000') self.assertEqual(util.int2pretty(1000000), '1,000,000') self.assertEqual(util.int2pretty(-1), '-1') self.assertEqual(util.int2pretty(-10), '-10') self.assertEqual(util.int2pretty(-100), '-100') self.assertEqual(util.int2pretty(-1000), '-1,000') self.assertEqual(util.int2pretty(-10000), '-10,000') self.assertEqual(util.int2pretty(-100000), '-100,000') self.assertEqual(util.int2pretty(-1000000), '-1,000,000') self.assertEqual(util.pretty2int('0'), 0) self.assertEqual(util.pretty2int('1'), 1) self.assertEqual(util.pretty2int('10'), 10) self.assertEqual(util.pretty2int('100'), 100) self.assertEqual(util.pretty2int('1,000'), 1000) self.assertEqual(util.pretty2int('10,000'), 10000) self.assertEqual(util.pretty2int('100,000'), 100000) self.assertEqual(util.pretty2int('1,000,000'), 1000000) self.assertEqual(util.pretty2int('-1'), -1) self.assertEqual(util.pretty2int('-10'), -10) self.assertEqual(util.pretty2int('-100'), -100) self.assertEqual(util.pretty2int('-1,000'), -1000) self.assertEqual(util.pretty2int('-10,000'), -10000) self.assertEqual(util.pretty2int('-100,000'), -100000) self.assertEqual(util.pretty2int('-1,000,000'), -1000000)
def test_pretty_int(self): self.assertEqual(util.int2pretty(0), "0") self.assertEqual(util.int2pretty(1), "1") self.assertEqual(util.int2pretty(10), "10") self.assertEqual(util.int2pretty(100), "100") self.assertEqual(util.int2pretty(1000), "1,000") self.assertEqual(util.int2pretty(10000), "10,000") self.assertEqual(util.int2pretty(100000), "100,000") self.assertEqual(util.int2pretty(1000000), "1,000,000") self.assertEqual(util.int2pretty(-1), "-1") self.assertEqual(util.int2pretty(-10), "-10") self.assertEqual(util.int2pretty(-100), "-100") self.assertEqual(util.int2pretty(-1000), "-1,000") self.assertEqual(util.int2pretty(-10000), "-10,000") self.assertEqual(util.int2pretty(-100000), "-100,000") self.assertEqual(util.int2pretty(-1000000), "-1,000,000") self.assertEqual(util.pretty2int("0"), 0) self.assertEqual(util.pretty2int("1"), 1) self.assertEqual(util.pretty2int("10"), 10) self.assertEqual(util.pretty2int("100"), 100) self.assertEqual(util.pretty2int("1,000"), 1000) self.assertEqual(util.pretty2int("10,000"), 10000) self.assertEqual(util.pretty2int("100,000"), 100000) self.assertEqual(util.pretty2int("1,000,000"), 1000000) self.assertEqual(util.pretty2int("-1"), -1) self.assertEqual(util.pretty2int("-10"), -10) self.assertEqual(util.pretty2int("-100"), -100) self.assertEqual(util.pretty2int("-1,000"), -1000) self.assertEqual(util.pretty2int("-10,000"), -10000) self.assertEqual(util.pretty2int("-100,000"), -100000) self.assertEqual(util.pretty2int("-1,000,000"), -1000000)