Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)