chip = pd.read_table(chip_f,
                     sep="\t",
                     usecols=[0, 1, 2, 5],
                     header=None,
                     names="Chromosome Start End Strand".split())
cgr = PyRanges(chip, copy_df=False)

background = pd.read_table(background_f,
                           sep="\t",
                           usecols=[0, 1, 2, 5],
                           header=None,
                           names="Chromosome Start End Strand".split())
bgr = PyRanges(background, copy_df=False)

start = time()

result = cgr.intersection(bgr, strandedness="same")

end = time()

print(result)

total = end - start

total_dt = datetime.datetime.fromtimestamp(total)

minutes_seconds = total_dt.strftime('%-M.%-S.%f')

open(snakemake.output[0], "w+").write(minutes_seconds)
Beispiel #2
0
print("first range finished")

end = time()

b_gr = PyRanges(b)

print("second range finished")
end2 = time()

first = datetime.datetime.fromtimestamp(end - start).strftime('%M\t%S\n')
second = datetime.datetime.fromtimestamp(end2 - end).strftime('%M\t%S\n')


start_overlap = time()

o_gr = c_gr.intersection(b_gr)

end_overlap = time()

overlap_time = datetime.datetime.fromtimestamp(end_overlap - start_overlap).strftime('%M\t%S\n')

print(first, second, overlap_time, sep="\n")

print(o_gr)

# all reads:
# 05	26

# +--------------+----------+----------+----------+
# | Chromosome   | Start    | End      | Strand   |
# |--------------+----------+----------+----------|