def loaded_events_to_genes(self, single_event_name=None, read_len=None, overhang_len=None): """ Parse the loaded set of events into gene structures. Map events to genes. """ if len(self.events) == 0: raise Exception, "Must load events first before they can be converted to genes." events_to_genes = {} t1 = time.time() if single_event_name: # If given an event name, only parse that event event_names = [single_event_name] else: event_names = self.events.keys() for event_name in event_names: event = self.events[event_name] if self.event_type == 'SE' or self.event_type == 'RI': gene = Gene.se_event_to_gene(event.up_part_len, event.len, event.dn_part_len, event.chrom, label=event.label) elif self.event_type == 'TandemUTR': gene = Gene.tandem_utr_event_to_gene(event.core_len, event.ext_len, event.chrom, label=event.label) elif (self.event_type == 'AFE' or self.event_type == 'ALE'): gene = Gene.afe_ale_event_to_gene(event.proximal_exons, event.distal_exons, self.event_type, event.chrom, label=event.label, read_len=read_len, overhang_len=overhang_len) else: raise Exception, "Unsupported event type: %s" % ( self.event_type) events_to_genes[event_name] = gene t2 = time.time() print "Parsing of events to genes took %.2f seconds." % (t2 - t1) return events_to_genes
def loaded_events_to_genes(self, single_event_name=None, read_len=None, overhang_len=None): """ Parse the loaded set of events into gene structures. Map events to genes. """ if len(self.events) == 0: raise Exception, "Must load events first before they can be converted to genes." events_to_genes = {} t1 = time.time() if single_event_name: # If given an event name, only parse that event event_names = [single_event_name] else: event_names = self.events.keys() for event_name in event_names: event = self.events[event_name] if self.event_type == 'SE' or self.event_type == 'RI': gene = Gene.se_event_to_gene(event.up_part_len, event.len, event.dn_part_len, event.chrom, label=event.label) elif self.event_type == 'TandemUTR': gene = Gene.tandem_utr_event_to_gene(event.core_len, event.ext_len, event.chrom, label=event.label) elif (self.event_type == 'AFE' or self.event_type == 'ALE'): gene = Gene.afe_ale_event_to_gene(event.proximal_exons, event.distal_exons, self.event_type, event.chrom, label=event.label, read_len=read_len, overhang_len=overhang_len) else: raise Exception, "Unsupported event type: %s" %(self.event_type) events_to_genes[event_name] = gene t2 = time.time() print "Parsing of events to genes took %.2f seconds." %(t2 - t1) return events_to_genes