def dhscutkernelsmooth(bamfile, bwfile, library='Duke', kernelsize=200): bamfor = Baminfo.Baminfo(bamfile) bw = pyBigWig.open(bwfile, "w") bw.addHeader(list(bamfor.chrlen.items())) for chromosome in bamfor.chrlen: end = bamfor.chrlen[chromosome] dhscut = dhsbam.dhcutcount(bamfile=bamfile, chromosome=chromosome, start=1, end=end, library=library) dhscutsmoothed = kernelsmooth(dhscut, 1, end, end, kernelsize) if dhscutsmoothed: starts = list() values = list() for start in sorted(dhscutsmoothed): starts.append(start) values.append(float(dhscutsmoothed[start])) bw.addEntries(chromosome, starts=starts, values=values, span=1, step=1) bw.close()
def dhscutkernelsmooth(bamfile, bwfile, library='Duke', kernelsize=200): bamfor = Baminfo.Baminfo(bamfile) bw = pyBigWig.open(bwfile, "w") bw.addHeader(list(bamfor.chrlen.items())) for chromosome in bamfor.chrlen: end = bamfor.chrlen[chromosome] dhscut = dhsbam.dhcutcount(bamfile=bamfile, chromosome=chromosome, start=1, end=end, library=library) dhscutsmoothed = kernelsmooth(dhscut, 1, end, end, kernelsize) if dhscutsmoothed: starts = list() values = list() for start in sorted(dhscutsmoothed): starts.append(start) values.append(float(dhscutsmoothed[start])) bw.addEntries(chromosome, starts=starts, values=values, span=1, step=1) bw.close()
def dhstobw(bamfile, bwfile, excludechr='', library='Duke'): # Washington is under processing """ :param bamfile: :param bwfile: :param library:Duke or Washington Duke: |=====> <=====| Washington: |===========| Out put cutting site '|' :return: """ bamfor = Baminfo.Baminfo(bamfile) bw = pyBigWig.open(bwfile, "w") excludechrs = excludechr.split(',') countchrs = list() for chrom in list(bamfor.chrlen.items()): if chrom[0] not in excludechrs: countchrs.append(chrom) bw.addHeader(countchrs) print(countchrs) for chromosome in bamfor.chrlen: if chromosome not in excludechrs: end = bamfor.chrlen[chromosome] dhscut = dhsbam.dhcutcount(bamfile=bamfile, chromosome=chromosome, start=1, end=end, library=library) if dhscut: starts = list() values = list() for start in sorted(dhscut): starts.append(start) values.append(float(dhscut[start])) bw.addEntries(chromosome, starts=starts, values=values, span=1, step=1) bw.close()
def dhstobw(bamfile, bwfile, library='Duke'): # Washington is under processing """ :param bamfile: :param bwfile: :param library:Duke or Washington Duke: |=====> <=====| Washington: |===========| Out put cutting site '|' :return: """ bamfor = Baminfo.Baminfo(bamfile) bw = pyBigWig.open(bwfile, "w") bw.addHeader(list(bamfor.chrlen.items())) for chromosome in bamfor.chrlen: end = bamfor.chrlen[chromosome] dhscut = dhsbam.dhcutcount(bamfile=bamfile, chromosome=chromosome, start=1, end=end, library=library) if dhscut: starts = list() values = list() for start in sorted(dhscut): starts.append(start) values.append(float(dhscut[start])) bw.addEntries(chromosome, starts=starts, values=values, span=1, step=1) bw.close()