def test_bw(): b = BigWig("libBigWig/test/test.bw") assert repr(b) == "BigWig('libBigWig/test/test.bw')" intervals = list(b("1", 0, 99)) assert intervals[0] == Interval(chrom='1', start=0, end=1, value=0.10000000149011612) assert intervals[1] == Interval(chrom='1', start=1, end=2, value=0.20000000298023224) assert intervals[2] == Interval(chrom='1', start=2, end=3, value=0.30000001192092896) # default is to include all values vals = b.values("1", 0, 9) exp = array('f', [0.10000000149011612, 0.20000000298023224, 0.30000001192092896, nan, nan, nan, nan, nan, nan]) arr_equal(vals, exp) vals = b.values("1", 0, 9, False) exp = array('f', [0.10000000149011612, 0.20000000298023224, 0.30000001192092896]) arr_equal(vals, exp) v = b.stats("1", 0, 9) assert v == 0.2000000054637591 v = b.stats("1", 0, 9, stat="stdev") assert v == 0.10000000521540645 v = b.stats("1", 0, 4, stat="coverage") assert v == 0.75 v = b.stats("1", 0, 4, stat="coverage", nBins=2) assert v == array('d', [1.0, 0.5]) b.close()
def test_bw(): b = BigWig("libBigWig/test/test.bw") assert repr(b) == "BigWig('libBigWig/test/test.bw')" intervals = list(b("1", 0, 99)) assert intervals[0] == Interval(chrom='1', start=0, end=1, value=0.10000000149011612) assert intervals[1] == Interval(chrom='1', start=1, end=2, value=0.20000000298023224) assert intervals[2] == Interval(chrom='1', start=2, end=3, value=0.30000001192092896) # default is to include all values vals = b.values("1", 0, 9) exp = array('f', [ 0.10000000149011612, 0.20000000298023224, 0.30000001192092896, nan, nan, nan, nan, nan, nan ]) arr_equal(vals, exp) vals = b.values("1", 0, 9, False) exp = array( 'f', [0.10000000149011612, 0.20000000298023224, 0.30000001192092896]) arr_equal(vals, exp) v = b.stats("1", 0, 9) assert v == 0.2000000054637591 v = b.stats("1", 0, 9, stat="stdev") assert v == 0.10000000521540645 v = b.stats("1", 0, 4, stat="coverage") assert v == 0.75 v = b.stats("1", 0, 4, stat="coverage", nBins=2) assert v == array('d', [1.0, 0.5]) b.close()
def build_dnase_fc_scores(self): path=DNASE_FOLD_COV_DIR scores = np.zeros((len(self), len(self.samples)), dtype=float) for sample_i, sample_name in enumerate(self.samples): fname = "DNASE.{}.fc.signal.bigwig".format(sample_name) b = BigWig(os.path.join(path, fname)) for region_i, region in enumerate(self.iter_regions()): if region_i%1000000 == 0: print "Sample %i/%i, row %i/%i" % ( sample_i+1, len(self.samples), region_i, len(self)) scores[region_i, sample_i] = b.stats( region.contig, region.start, region.stop, 'mean') b.close() return pd.DataFrame( np.nan_to_num(scores), columns=self.samples, index=self.data.index)
def build_dnase_fc_scores(self): path = DNASE_FOLD_COV_DIR scores = np.zeros((len(self), len(self.samples)), dtype=float) for sample_i, sample_name in enumerate(self.samples): fname = "DNASE.{}.fc.signal.bigwig".format(sample_name) b = BigWig(os.path.join(path, fname)) for region_i, region in enumerate(self.iter_regions()): if region_i % 1000000 == 0: print "Sample %i/%i, row %i/%i" % ( sample_i + 1, len(self.samples), region_i, len(self)) scores[region_i, sample_i] = b.stats(region.contig, region.start, region.stop, 'mean') b.close() return pd.DataFrame(np.nan_to_num(scores), columns=self.samples, index=self.data.index)
def test_bad_chr(): b = BigWig("libBigWig/test/test.bw") assert b.stats("chr1", 0, 10) is None v = b.values("chr1", 0, 10) assert len(v) == 0, v