def no_overlap(bed1, bed2, bedOut):
if not bed2:
shutil.copyfile(bed1,bedOut)
return
with open(bed1) as f:
bed_dict1 = tk_io.get_target_regions(f)
with open(bed2) as f:
bed_dict2 = tk_io.get_target_regions(f)
bed_dict_no_overlap = {}
for chrom in bed_dict1:
if not chrom in bed_dict_no_overlap:
bed_dict_no_overlap[chrom] = tk_regions.Regions([])
for start, end in bed_dict1[chrom]:
if not chrom in bed_dict2 or \
not bed_dict2[chrom].overlaps_region(start, end):
bed_dict_no_overlap[chrom].add_region((start,end))
writeOut(bed_dict_no_overlap, bedOut)
评论列表
文章目录