Mercurial > repos > scottx611x > cooler_convert
diff recursive_agg_onefile.py @ 19:70d6350f982d draft
planemo upload commit 9e980862c8b763cf3dd0209be49f0d2d75a90614-dirty
| author | scottx611x |
|---|---|
| date | Mon, 21 Nov 2016 10:45:17 -0500 |
| parents | e539ccf221fd |
| children | 797818b4e2f6 |
line wrap: on
line diff
--- a/recursive_agg_onefile.py Mon Nov 21 10:39:27 2016 -0500 +++ b/recursive_agg_onefile.py Mon Nov 21 10:45:17 2016 -0500 @@ -36,7 +36,7 @@ try: zoomLevel = str(n_zooms) src.copy('/', dest, zoomLevel) - except Exception as e: + except RuntimeWarning as e: print("Error: %s" % e) print(zoomLevel, file=sys.stderr) @@ -49,37 +49,39 @@ for i in range(n_zooms - 1, -1, -1): zoomLevel = str(i) - - # aggregate - new_binsize = binsize * FACTOR - new_bins = cooler.util.binnify(chromsizes, new_binsize) + + try: + # aggregate + new_binsize = binsize * FACTOR + new_bins = cooler.util.binnify(chromsizes, new_binsize) - reader = CoolerAggregator(c, new_bins, chunksize) - - grp = f.create_group(zoomLevel) - f.attrs[zoomLevel] = new_binsize - cooler.io.create(grp, chroms, lengths, new_bins, reader) + reader = CoolerAggregator(c, new_bins, chunksize) + + grp = f.create_group(zoomLevel) + f.attrs[zoomLevel] = new_binsize + cooler.io.create(grp, chroms, lengths, new_bins, reader) - # balance - #with Pool(N_CPU) as pool: - too_close = 20000 # for HindIII - ignore_diags = max(int(np.ceil(too_close / new_binsize)), 3) + # balance + #with Pool(N_CPU) as pool: + too_close = 20000 # for HindIII + ignore_diags = max(int(np.ceil(too_close / new_binsize)), 3) - bias = cooler.ice.iterative_correction( - f, zoomLevel, - chunksize=chunksize, - min_nnz=10, - mad_max=3, - ignore_diags=ignore_diags, - map=map) - h5opts = dict(compression='gzip', compression_opts=6) - grp['bins'].create_dataset('weight', data=bias, **h5opts) + bias = cooler.ice.iterative_correction( + f, zoomLevel, + chunksize=chunksize, + min_nnz=10, + mad_max=3, + ignore_diags=ignore_diags, + map=map) + h5opts = dict(compression='gzip', compression_opts=6) + grp['bins'].create_dataset('weight', data=bias, **h5opts) - print(zoomLevel, file=sys.stderr) + print(zoomLevel, file=sys.stderr) - c = cooler.Cooler(grp) - binsize = new_binsize - + c = cooler.Cooler(grp) + binsize = new_binsize + except RuntimeWarning: + pass if __name__ == '__main__': parser = argparse.ArgumentParser(
