예제 #1
0
 def df_as_bins(cls, df, gap_file):
     '''
     converts a already scored df to an object
     containing a dict of bins per chromosome, separated by gaps.
     '''
     chromd = collections.defaultdict(list)
     for _, x in df.iterrows():
         b = util.bed(x['chrom'], x['start'], x['end'],
                 x['score'])
         chromd[b.chrom].append(b)
     return cls.with_unalignable_regions_masked(chromd, gap_file)
예제 #2
0
 def scale_neg_scores(self, scale):
     return GenomeBins(
         {k:[util.bed(x.chrom, x.start, x.end,
                      x.score if x.score > 0 else x.score * scale)
             for x in xs]
          for k, xs in self.chrom_bins.items()})
예제 #3
0
 def chrom_max(chrom):
     xs = max_segments(self.chrom_scores[chrom])
     bins = self.chrom_bins[chrom]
     return [util.bed(bins[x.from_idx].chrom, bins[x.from_idx].start,
                 bins[x.to_idx].end, x.score) for x in xs]