def main(): # Parse command line options, args = doc_optparse.parse( __doc__ ) try: if options.comp: comp_type = options.comp else: comp_type = None score_fname = args[0] out_fname = args[1] except: doc_optparse.exit() scores = BinnedArray() ## last_chrom = None for i, ( chrom, pos, val ) in enumerate( bx.wiggle.Reader( misc.open_compressed( score_fname ) ) ): #if last_chrom is None: # last_chrom = chrom #else: # assert chrom == last_chrom, "This script expects a 'wiggle' input on only one chromosome" scores[pos] = val # Status if i % 10000 == 0: print i, "scores processed" out = open( out_fname, "w" ) if comp_type: scores.to_file( out, comp_type=comp_type ) else: scores.to_file( out ) out.close()
def main(): # Parse command line options, args = doc_optparse.parse(__doc__) try: score_file = open(args[0]) interval_file = open(args[1]) if len(args) > 2: out_file = open(args[2], 'w') else: out_file = sys.stdout except: doc_optparse.exit() scores_by_chrom = read_scores(misc.open_compressed(sys.argv[1])) for line in open(sys.argv[2]): fields = line.split() chrom, start, stop = fields[0], int(fields[1]), int(fields[2]) if chrom in scores_by_chrom: ba = scores_by_chrom[chrom] scores = [ba[i] for i in range(start, stop)] else: scores = [] print >> out_file, " ".join(fields), " ".join(map(str, scores)) score_file.close() interval_file.close() out_file.close()
def main(): # Parse command line options, args = doc_optparse.parse(__doc__) try: score_file = open(args[0]) interval_file = open(args[1]) if len(args) > 2: out_file = open(args[2], "w") else: out_file = sys.stdout except: doc_optparse.exit() scores_by_chrom = read_scores(misc.open_compressed(sys.argv[1])) for line in open(sys.argv[2]): fields = line.split() chrom, start, stop = fields[0], int(fields[1]), int(fields[2]) if chrom in scores_by_chrom: ba = scores_by_chrom[chrom] scores = [ba[i] for i in range(start, stop)] else: scores = [] print >> out_file, " ".join(fields), " ".join(map(str, scores)) score_file.close() interval_file.close() out_file.close()
def load_scores_wiggle(fname): """ Read a wiggle file and return a dict of BinnedArray objects keyed by chromosome. """ scores_by_chrom = dict() for chrom, pos, val in bx.wiggle.Reader(misc.open_compressed(fname)): if chrom not in scores_by_chrom: scores_by_chrom[chrom] = BinnedArray() scores_by_chrom[chrom][pos] = val return scores_by_chrom
def load_scores_wiggle( fname ): """ Read a wiggle file and return a dict of BinnedArray objects keyed by chromosome. """ scores_by_chrom = dict() for chrom, pos, val in bx.wiggle.Reader( misc.open_compressed( fname ) ): if chrom not in scores_by_chrom: scores_by_chrom[chrom] = BinnedArray() scores_by_chrom[chrom][pos] = val return scores_by_chrom
def main(): intersecters = {} # Read ranges for chr, start, end in read_intervals( misc.open_compressed( sys.argv[1] ) ): if not intersecters.has_key( chr ): intersecters[ chr ] = intervals.Intersecter() intersecters[ chr ].add_interval( intervals.Interval( start, end ) ) # Count intersection total = 0 for chr, start, end in read_intervals( misc.open_compressed( sys.argv[2] ) ): if intersecters.has_key( chr ): intersection = intersecters[ chr ].find( start, end ) if intersection: #print chr, intersection total += 1 print total