コード例 #1
0
 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
コード例 #2
0
 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 
コード例 #3
0
    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))
コード例 #4
0
    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))
コード例 #5
0
    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))
コード例 #6
0
    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()
コード例 #7
0
ファイル: genomebrowser.py プロジェクト: xysheep/compbio
    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()
コード例 #8
0
 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))
コード例 #9
0
 def func():
     x, y = win.get_mouse_pos()
     print "pos=%s age=%f" % (util.int2pretty(int(x)), y)
コード例 #10
0
ファイル: argvis.py プロジェクト: xysheep/compbio
 def func():
     x, y = win.get_mouse_pos()
     print "pos=%s age=%f" % (util.int2pretty(int(x)), y)
コード例 #11
0
ファイル: test_util.py プロジェクト: xysheep/compbio
    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)
コード例 #12
0
    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)