def add_region(self, region): """ Add region to the class. """ # Parse the region length if region not in self.region_lens: chrom, start, end, strand = utils.parse_coords(region) region_len = end - start + 1 # Record region length self.region_lens[region] = region_len # Record number of counts per region self.region_counts[region] += 1
def get_3p_to_5p(self): """ Get 3' UTR to 5' UTR ratio: Computed at the transcript level. """ for transcript in self.region_counts_by_transcript: transcript_info = self.region_counts_by_transcript[transcript] # Skip transcripts that don't have 3p / 5p UTR reads if (len(transcript_info["3p_utr"]) == 0) or (len(transcript_info["5p_utr"]) == 0): continue # Take sum of 3p UTR reads and their length sum_reads_3p = 0 sum_lens_3p = 0 for region in transcript_info["3p_utr"]: chrom, start, end, strand = utils.parse_coords(region) num_reads = transcript_info["3p_utr"][region] curr_len = end - start + 1 sum_reads_3p += num_reads sum_lens_3p += curr_len # Take sum of 5p UTR reads and their lengths sum_reads_3p = [transcript_info["3p_utr"][r] for r in transcript_info["3p_utr"]] return 0
def get_3p_to_5p(self): """ Get 3' UTR to 5' UTR ratio: Computed at the transcript level. """ for transcript in self.region_counts_by_transcript: transcript_info = \ self.region_counts_by_transcript[transcript] # Skip transcripts that don't have 3p / 5p UTR reads if (len(transcript_info["3p_utr"]) == 0) or \ (len(transcript_info["5p_utr"]) == 0): continue # Take sum of 3p UTR reads and their length sum_reads_3p = 0 sum_lens_3p = 0 for region in transcript_info["3p_utr"]: chrom, start, end, strand = utils.parse_coords(region) num_reads = transcript_info["3p_utr"][region] curr_len = end - start + 1 sum_reads_3p += num_reads sum_lens_3p += curr_len # Take sum of 5p UTR reads and their lengths sum_reads_3p = [transcript_info["3p_utr"][r] \ for r in transcript_info["3p_utr"]] return 0