def get_members_of_pham(self, phamName): 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_members_of_pham(self.c, phamName)
def create_pham_circle(self,phamName,alignmentColor,adjustment,radius): 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) filename = str(phamName) + str(alignmentColor) + str(adjustment) + str(radius) filelist = os.listdir(self.cachedir) for item in filelist: if item == filename: self.current_phamCircle = self.cachedir + filename string = "phamCircle " + str(phamName) + " found in cache, using cached version\n" print ">" + string return string self.radius = radius self.alignmentColor = alignmentColor self.threshold = 0.70 self.phamCircleCanvas = goocanvas.Canvas() GeneIDs = phamerator_manage_db.get_members_of_pham(self.c, phamName) memberPhages, self.nonMemberPhages = [], [] for GeneID in GeneIDs: PhageID = phamerator_manage_db.get_PhageID_from_GeneID(self.c, GeneID) if PhageID not in memberPhages: memberPhages.append(PhageID) totalPhages = phamerator_manage_db.get_PhageIDs(self.c) for p in totalPhages: if p not in memberPhages: self.nonMemberPhages.append(phamerator_manage_db.get_phage_name_from_PhageID(self.c, p)) self.l = [] self.genes = [] for a in GeneIDs: for b in GeneIDs: if a != b: for gene in [a, b]: if gene not in self.genes: self.genes.append(gene) clustalwScore, blastScore = phamerator_manage_db.get_scores(self.c, a, b) if clustalwScore >= 0.275: self.l.append((a, b, 'clustalw',clustalwScore)) if blastScore and blastScore <= 0.0001: self.l.append((a, b, 'blast',blastScore)) self.phamCircle = PhamDisplay.PhamCircle(phamName, self.c,verbose=True,radius=self.radius) if self.alignmentColor == True: self.phamCircleCanvas.set_root_item_model(self.phamCircle.create_canvas_model(self.nonMemberPhages, self.genes, self.l,adjustment,self.threshold,blastColor='#ff0000', clustalwColor='#0000ff')) else: phamColorFromDataBase = self.db.select('pham_color','color',name = phamName)[0][0] self.phamCircleCanvas.set_root_item_model(self.phamCircle.create_canvas_model(self.nonMemberPhages, self.genes, self.l,adjustment,self.threshold,allColor = phamColorFromDataBase)) """x, y = (600, 500) self.phamCircleCanvas.set_size_request(x, y) self.defaultPhamCircleCanvasSize = (x, y) self.phamCircleCanvas.show() self.window.window.set_cursor(None) return False""" self.current_phamCircle = self.cachedir + filename self.phamCircleCanvas.set_bounds(0,0, 10000, 10000) surface = cairo.SVGSurface (self.current_phamCircle, 15*72, 15*72) cr = cairo.Context (surface) cr.translate (10, 0) self.phamCircleCanvas.render (cr, None, 0.1) cr.show_page() string = "phamCircle " + str(phamName) + " generated\n" print ">" + string return string
def get_members_of_pham(self, phamName): 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_members_of_pham(self.c, phamName)
def create_pham_circle(self, phamName, alignmentColor, adjustment, radius): 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) filename = str(phamName) + str(alignmentColor) + str(adjustment) + str( radius) filelist = os.listdir(self.cachedir) for item in filelist: if item == filename: self.current_phamCircle = self.cachedir + filename string = "phamCircle " + str( phamName) + " found in cache, using cached version\n" print ">" + string return string self.radius = radius self.alignmentColor = alignmentColor self.threshold = 0.70 self.phamCircleCanvas = goocanvas.Canvas() GeneIDs = phamerator_manage_db.get_members_of_pham(self.c, phamName) memberPhages, self.nonMemberPhages = [], [] for GeneID in GeneIDs: PhageID = phamerator_manage_db.get_PhageID_from_GeneID( self.c, GeneID) if PhageID not in memberPhages: memberPhages.append(PhageID) totalPhages = phamerator_manage_db.get_PhageIDs(self.c) for p in totalPhages: if p not in memberPhages: self.nonMemberPhages.append( phamerator_manage_db.get_phage_name_from_PhageID( self.c, p)) self.l = [] self.genes = [] for a in GeneIDs: for b in GeneIDs: if a != b: for gene in [a, b]: if gene not in self.genes: self.genes.append(gene) clustalwScore, blastScore = phamerator_manage_db.get_scores( self.c, a, b) if clustalwScore >= 0.275: self.l.append((a, b, 'clustalw', clustalwScore)) if blastScore and blastScore <= 0.0001: self.l.append((a, b, 'blast', blastScore)) self.phamCircle = PhamDisplay.PhamCircle(phamName, self.c, verbose=True, radius=self.radius) if self.alignmentColor == True: self.phamCircleCanvas.set_root_item_model( self.phamCircle.create_canvas_model(self.nonMemberPhages, self.genes, self.l, adjustment, self.threshold, blastColor='#ff0000', clustalwColor='#0000ff')) else: phamColorFromDataBase = self.db.select('pham_color', 'color', name=phamName)[0][0] self.phamCircleCanvas.set_root_item_model( self.phamCircle.create_canvas_model( self.nonMemberPhages, self.genes, self.l, adjustment, self.threshold, allColor=phamColorFromDataBase)) """x, y = (600, 500) self.phamCircleCanvas.set_size_request(x, y) self.defaultPhamCircleCanvasSize = (x, y) self.phamCircleCanvas.show() self.window.window.set_cursor(None) return False""" self.current_phamCircle = self.cachedir + filename self.phamCircleCanvas.set_bounds(0, 0, 10000, 10000) surface = cairo.SVGSurface(self.current_phamCircle, 15 * 72, 15 * 72) cr = cairo.Context(surface) cr.translate(10, 0) self.phamCircleCanvas.render(cr, None, 0.1) cr.show_page() string = "phamCircle " + str(phamName) + " generated\n" print ">" + string return string