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
Example #2
0
    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