def phamerated_phage_report(self): phage_phams, seq_length = find_phams_of_a_phage(self.db, self.name) for gene_name, pham_no in phage_phams: gene_number = utils.get_gene_number(gene_name) gene_id = self.name +'_' + str(gene_number) gene = GeneReport(gene_number, self.name, self.is_phamerated, is_all=True) self.genes[gene_number] = (gene, pham_no) return self.phage_report(seq_length)
def phamerated_phage_report(self): phage_phams, seq_length = find_phams_of_a_phage(self.db, self.name) for gene_name, pham_no in phage_phams: gene_number = utils.get_gene_number(gene_name) gene_id = self.name + '_' + str(gene_number) gene = GeneReport(gene_number, self.name, self.is_phamerated, is_all=True) self.genes[gene_number] = (gene, pham_no) return self.phage_report(seq_length)
def make_report(self): if self.is_phamerated: print 'before phams found' phams = self.phage.get_phams() seq_length = self.phage.length() print 'after phams found' for gene_name, pham_no in phams: if self.gui: if self.event.is_set(): print 'stopped in make_report' sys.exit(0) gene_number = utils.get_gene_number(gene_name) # gene_id = self.name +'_' + str(gene_number) gene = genes.Gene(gene_number, self.name, self.is_phamerated, self.config, self.db, is_all=True) self.genes[gene_number] = (gene, pham_no) return self.phage_report(seq_length) else: if self.gui: print 'in unphamerated pham' if self.event.is_set(): sys.exit(0) self.gui.update('Finished Making Unphamerated Genes.', .02) for gene_number in self.genes: if self.gui: if self.event.is_set(): sys.exit(0) gene = self.genes[gene_number][0] pham_no = self.genes[gene_number][1] if pham_no == None: pass else: if pham_no not in self.unphamerated_genes: self.unphamerated_genes[pham_no] = [] self.unphamerated_genes[pham_no].append(gene) return self.phage_report(seq_length)
def phage_report(self, seq_length): phams_done = [] pham_genes = {} self.total_phams = len(set(self.genes.values())) for gene_number in self.genes: if self.gui and self.event.is_set(): sys.exit(0) self.current_pham[0] += 1 gene = self.genes[gene_number][0] pham_no = self.genes[gene_number][1] self.current_pham[1] = pham_no if pham_no not in phams_done and pham_no is not None: if not self.is_phamerated: unphamerated_genes = self.unphamerated_genes[pham_no] else: unphamerated_genes = None if self.gui: if self.event.is_set(): sys.exit(0) self.gui.update( 'Aligning and Graphing Pham %s (Gene %s) \n' % (pham_no, gene_number) + 'Pham %d of %d' % (self.current_pham[0], self.total_phams), (float(self.current_pham[0]) / self.total_phams) - .05) pham = gene.make_report(genes=unphamerated_genes) for gene_record in pham.phage_gene: gene_num = utils.get_gene_number(gene_record.id) suggested_start = pham.suggest_start_site_coord( gene_record.id) gene_record.annotations[ 'suggested_start'] = suggested_start pham_genes[gene_num] = gene_record, gene.pham_no phams_done.append(pham_no) if self.gui: if self.event.is_set(): sys.exit(0) self.gui.update('Making Final Report', .97) self.make_pham_genome(pham_genes, seq_length) self.make_suggested_starts_page(pham_genes) return self.make_phage_report(pham_genes, seq_length)
def phage_report(self, seq_length): phams_done = [] pham_genes = {} self.total_phams = len(set(self.genes.values())) for gene_number in self.genes: if self.gui and self.event.is_set(): sys.exit(0) self.current_pham[0] += 1 gene = self.genes[gene_number][0] pham_no = self.genes[gene_number][1] self.current_pham[1] = pham_no if pham_no not in phams_done and pham_no is not None: if not self.is_phamerated: unphamerated_genes = self.unphamerated_genes[pham_no] else: unphamerated_genes = None if self.gui: if self.event.is_set(): sys.exit(0) self.gui.update('Aligning and Graphing Pham %s (Gene %s) \n' % (pham_no, gene_number) + 'Pham %d of %d' % (self.current_pham[0], self.total_phams) , (float(self.current_pham[0])/ self.total_phams) - .05 ) pham = gene.make_report(genes=unphamerated_genes) for gene_record in pham.phage_gene: gene_num = utils.get_gene_number(gene_record.id) suggested_start = pham.suggest_start_site_coord(gene_record.id) gene_record.annotations['suggested_start'] = suggested_start pham_genes[gene_num] = gene_record, gene.pham_no phams_done.append(pham_no) if self.gui: if self.event.is_set(): sys.exit(0) self.gui.update('Making Final Report', .97) self.make_pham_genome(pham_genes, seq_length) self.make_suggested_starts_page(pham_genes) return self.make_phage_report(pham_genes, seq_length)