From 2a648fa1ea04ec334b7682fae1a3b1dea871d01e Mon Sep 17 00:00:00 2001 From: Jens Luebeck Date: Fri, 22 Mar 2024 16:50:00 -0700 Subject: [PATCH] minor changes --- src/AmpliconArchitect.py | 2 +- src/bam_to_breakpoint.py | 74 +++++++++++++++++++++------------------- 2 files changed, 39 insertions(+), 37 deletions(-) diff --git a/src/AmpliconArchitect.py b/src/AmpliconArchitect.py index ea7a4ec..f6ecb60 100755 --- a/src/AmpliconArchitect.py +++ b/src/AmpliconArchitect.py @@ -302,7 +302,7 @@ def process(self, msg, kwargs): coverage_stats=cstats, coverage_windows=coverage_windows, downsample=args.downsample, sensitivems=(args.sensitivems == 'True'), span_coverage=(args.cbam is None), tstart=TSTART, ext_dnlist=ext_dnlist, foldback_pair_support_min=args.foldback_pair_support_min) -logging.info("Pair support requirement: " + str(bamFileb2b.pair_support)) +logging.info("#TIME " + '%.3f\t'%(time() - TSTART) + "Pair support requirement: " + str(bamFileb2b.pair_support)) segments = [] if args.extendmode == 'VIRAL': diff --git a/src/bam_to_breakpoint.py b/src/bam_to_breakpoint.py index a74e78a..6918282 100755 --- a/src/bam_to_breakpoint.py +++ b/src/bam_to_breakpoint.py @@ -535,43 +535,44 @@ def hr(c, wlen): for hb in hb_profile: cov2 = copy.copy(cov) - for ms_iterate in range(1): - fi = -1 - if len(frozen) > 0: - fi = 0 - ms = [w for w in self.meanshift(i, window_size, hb, cov2, rd_global=rd_global, h0=h0, gcc=gcc, n=n)] - segs = [] - new_seg = [] - msi = 0 - # print 'THIS0', len(frozen), fi #, frozen[0][0][0].start - # for ff in range(len(frozen)): - # print "THIS", ff, frozen[ff][0][0][0].start - while msi < len(ms): - if fi >= 0 and fi < len(frozen) and ms[msi][0].start == frozen[fi][0][0][0].start: - if len(new_seg) > 0 and (frozen[fi][1] % 2 == 1 or (ms[msi][1] > 0 and ms[msi -1][1] <= 0)): - segs.append(new_seg) - new_seg = ms[msi: msi + len(frozen[fi][0])] - else: - new_seg += ms[msi: msi + len(frozen[fi][0])] - # segs.append(ms[msi: msi + len(frozen[fi][0])]) - msi += len(frozen[fi][0]) - fi += 1 - continue - elif ms[msi][1] > 0 and ms[msi - 1][1] <= 0 and len(new_seg) > 0: + # for ms_iterate in range(1): + fi = -1 + if len(frozen) > 0: + fi = 0 + ms = [w for w in self.meanshift(i, window_size, hb, cov2, rd_global=rd_global, h0=h0, gcc=gcc, n=n)] + segs = [] + new_seg = [] + msi = 0 + # print 'THIS0', len(frozen), fi #, frozen[0][0][0].start + # for ff in range(len(frozen)): + # print "THIS", ff, frozen[ff][0][0][0].start + while msi < len(ms): + if fi >= 0 and fi < len(frozen) and ms[msi][0].start == frozen[fi][0][0][0].start: + if len(new_seg) > 0 and (frozen[fi][1] % 2 == 1 or (ms[msi][1] > 0 and ms[msi -1][1] <= 0)): segs.append(new_seg) - new_seg = [] - new_seg.append(ms[msi]) - msi += 1 - if len(new_seg) > 0: - segs.append(new_seg) - cov2 = copy.copy(cov[:n]) - covi = n - for msi in range(len(segs)): - s = segs[msi] - c = np.average([cc[1] for cc in cov[covi: covi + len(s)]]) - cov2 += [(ss[0], c) for ss in segs[msi]] - covi += len(segs[msi]) - cov2 += cov[-n:] + new_seg = ms[msi: msi + len(frozen[fi][0])] + else: + new_seg += ms[msi: msi + len(frozen[fi][0])] + # segs.append(ms[msi: msi + len(frozen[fi][0])]) + msi += len(frozen[fi][0]) + fi += 1 + continue + elif ms[msi][1] > 0 and ms[msi - 1][1] <= 0 and len(new_seg) > 0: + segs.append(new_seg) + new_seg = [] + new_seg.append(ms[msi]) + msi += 1 + if len(new_seg) > 0: + segs.append(new_seg) + cov2 = copy.copy(cov[:n]) + covi = n + for msi in range(len(segs)): + s = segs[msi] + c = np.average([cc[1] for cc in cov[covi: covi + len(s)]]) + cov2 += [(ss[0], c) for ss in segs[msi]] + covi += len(segs[msi]) + cov2 += cov[-n:] + ci = n frozen = [] cpi = n @@ -776,6 +777,7 @@ def get_meanshift(self, i, window_size0=10000, window_size1=300, gcc=False): msr.append(msi) else: msr = self.meanshift_refined(i, window_size0=window_size0, window_size1=window_size1, gcc=gcc) + logging.debug('\tWriting ' + file_name) msfile = open(file_name, 'w') msfile.write('#chrom\tstart\tend\tcn\tstart_refined\tend_refined\n') for ms in msr: