def create_genome_map(self,phages): self.c = db_conf.db_conf(username=self.username,password=self.password,server=self.server,db=self.database).get_cursor() self.db = pham.db(c = self.c) lengths = [] for phage in phages: length = phamerator_manage_db.get_length_of_genome(self.c,phage["PhageID"]) lengths.append(length) length = max(lengths) self.canvas = goocanvas.Canvas() canvasInterface = cartographer.CanvasInterface(self.c, self.canvas) self.canvas.set_root_item_model(canvasInterface.create_canvas_model(phages, length)) zoomFactor = 20.0 self.canvas.set_bounds(0,0,length/zoomFactor, 100000) needs_new = True while needs_new == True: name = "/tmp/phageSOAP/tmp" + str(hash(str(random.randint(1,64563))+str(hash(self.canvas)))) if os.path.exists(name): needs_new = True else: needs_new = False self.current_genome_map = name surface = cairo.SVGSurface (self.current_genome_map, (length/zoomFactor)+72, 5*72*len(phages)) cr = cairo.Context (surface) cr.translate (36, 130) self.canvas.render (cr, None, 0.1) cr.show_page () print "\n>genome map generated\n" return "genome map generated\n"
def get_length_of_genome(self, PhageID): self.c = db_conf.db_conf(username=self.username, password=self.password, server=self.server, db=self.database).get_cursor() self.db = pham.db(c=self.c) return phamerator_manage_db.get_length_of_genome(self.c, PhageID)
def create_genome_map(self, phages): self.c = db_conf.db_conf(username=self.username, password=self.password, server=self.server, db=self.database).get_cursor() self.db = pham.db(c=self.c) lengths = [] for phage in phages: length = phamerator_manage_db.get_length_of_genome( self.c, phage["PhageID"]) lengths.append(length) length = max(lengths) self.canvas = goocanvas.Canvas() canvasInterface = cartographer.CanvasInterface(self.c, self.canvas) self.canvas.set_root_item_model( canvasInterface.create_canvas_model(phages, length)) zoomFactor = 20.0 self.canvas.set_bounds(0, 0, length / zoomFactor, 100000) needs_new = True while needs_new == True: name = "/tmp/phageSOAP/tmp" + str( hash(str(random.randint(1, 64563)) + str(hash(self.canvas)))) if os.path.exists(name): needs_new = True else: needs_new = False self.current_genome_map = name surface = cairo.SVGSurface(self.current_genome_map, (length / zoomFactor) + 72, 5 * 72 * len(phages)) cr = cairo.Context(surface) cr.translate(36, 130) self.canvas.render(cr, None, 0.1) cr.show_page() print "\n>genome map generated\n" return "genome map generated\n"
def get_length_of_genome(self,PhageID): self.c = db_conf.db_conf(username=self.username,password=self.password,server=self.server,db=self.database).get_cursor() self.db = pham.db(c = self.c) return phamerator_manage_db.get_length_of_genome(self.c,PhageID)