def getGlobalString(signal): signal = smoothSignal(signal, smoothParam) signalShift, signalScale = computeNorm(signal, 0, len(signal)) signalString = computeString(signal, 0, len(signal), signalShift, signalScale, levels, overflow=overflow) return signalString
def getLevelStr(signal, l): currSignal = np.array(copy.deepcopy(signal), float) currSignal = smoothSignal(currSignal, smoothParam) currSignalShift, currSignalScale = computeNorm(currSignal, 0, len(currSignal)) currString = computeString( currSignal, 0, len(currSignal), currSignalShift, currSignalScale, l, overflow=overflow, ) return currString
def getDictFromSequence(signal, refWindowSize, refWindowJump): dic = {} for winBeg in range(0, len(signal) - refWindowSize + 1, refWindowJump): winEnd = winBeg + refWindowSize currSignal = np.array(copy.deepcopy(signal[winBeg:winEnd]), float) currSignal = smoothSignal(currSignal, smoothParam) currSignalShift, currSignalScale = computeNorm(currSignal, 0, refWindowSize) currString = computeString(currSignal, 0, refWindowSize, currSignalShift, currSignalScale, levels, overflow=overflow) dic.update(buildDictionary(currString, kmerLength)) return dic
def getDictFromSequence(signal, l=False): dic = {} currSignal = np.array(copy.deepcopy(signal), float) currSignal = smoothSignal(currSignal, smoothParam) currSignalShift, currSignalScale = computeNorm(currSignal, 0, len(currSignal)) currString = computeString( currSignal, 0, len(currSignal), currSignalShift, currSignalScale, levels, overflow=overflow, ) if l == True: return currString return buildDictionarySpecial(currString, kmerLength)
readSignal = smoothSignal(readSignal, smoothParam) refSignal = smoothSignal(refSignal, smoothParam) fakeSignal = smoothSignal(fakeSignal, smoothParam) readShift, readScale = computeNorm(readSignal, 0, len(readSignal)) refShift, refScale = computeNorm(refSignal, 0, len(refSignal)) fakeShift, fakeScale = computeNorm(fakeSignal, 0, len(fakeSignal)) readStrings, refStrings, fakeStrings = {}, {}, {} for l in levels: readStrings[l] = computeString( readSignal, 0, len(readSignal), readShift, readScale, l, overflow=0.30, ) refStrings[l] = computeString( refSignal, 0, len(refSignal), refShift, refScale, l, overflow=0.30, ) fakeStrings[l] = computeString( fakeSignal,
y = smoothSignal(y, 5) refSignal = smoothSignal(refSignal, 5) ySignalShift, ySignalScale = computeNorm(y, 0, len(y)) #y -= ySignalShift #y /= ySignalScale refSignalShift, refSignalScale = computeNorm(refSignal, 0, len(refSignal)) #refSignal -= refSignalShift #refSignal /= refSignalScale readString = computeString(y, 0, len(y), ySignalShift, ySignalScale, levels, overflow=0.30) refString = computeString(refSignal, 0, len(refSignal), refSignalShift, refSignalScale, levels, overflow=0.30) fakeSignal = getSignalFromRead(sampleFakeRead)[6000:6000 + len(y)] fakeSignal = smoothSignal(fakeSignal, 5) fakeSignalShift, fakeSignalScale = computeNorm(fakeSignal, 0, len(fakeSignal))
fakeIndex = random.randint(0, len(negReads) - 1) fakeSignal = np.array(getSignalFromRead(negReads[fakeIndex]), dtype=float) fakeSignal = fakeSignal[signalFrom:signalTo] readSignalSm = smoothSignal(readSignal, 5) refSignalSm = smoothSignal(refSignal, 5) fakeSignalSm = smoothSignal(fakeSignal, 5) readShiftSm, readScaleSm = computeNorm(readSignalSm, 0, len(readSignalSm)) refShiftSm, refScaleSm = computeNorm(refSignalSm, 0, len(refSignalSm)) fakeShiftSm, fakeScaleSm = computeNorm(fakeSignalSm, 0, len(fakeSignalSm)) readString2Sm = computeString( readSignalSm, 0, len(readSignalSm), readShiftSm, readScaleSm, levels, overflow=0.25, ) refString2Sm = computeString(refSignalSm, 0, len(refSignalSm), refShiftSm, refScaleSm, levels, overflow=0.25) fakeString2Sm = computeString( fakeSignalSm, 0, len(fakeSignalSm),
readSignalSm = smoothSignal(readSignal, smoothParam) refSignalSm = smoothSignal(refSignal, smoothParam) readShift, readScale = computeNorm(readSignal, 0, len(readSignal)) readShiftSm, readScaleSm = computeNorm(readSignalSm, 0, len(readSignalSm)) refShift, refScale = computeNorm(refSignal, 0, len(refSignal)) refShiftSm, refScaleSm = computeNorm(refSignalSm, 0, len(refSignalSm)) readStrings, readStringsSm, refStrings, refStringsSm = {}, {}, {}, {} for l in levels: readStrings[l] = computeString( readSignal, 0, len(readSignal), readShift, readScale, l, overflow=0.30, ) readStringsSm[l] = computeString( readSignalSm, 0, len(readSignalSm), readShiftSm, readScaleSm, l, overflow=0.30, ) refStrings[l] = computeString( refSignal,
if len(hits) != 1: continue hit = hits[0] refPosition = hit.r_st / len(ref[hit.ctg]) print(f"I am in ctg {hit.ctg} in around {refPosition}") if hit.strand == 1: refSeq = str(ref[hit.ctg][hit.r_st : hit.r_en]) refSignal = stringToSignal(refSeq, mod, repeatSignal) refSignal = smoothSignal(refSignal, smoothParam) #refShift, refScale = computeNorm(refSignal, 0, len(refSignal)) refShift, refScale = globalNorms[hit.ctg][0], globalNorms[hit.ctg][1] refString = computeString( refSignal, 0, len(refSignal), refShift, refScale, level, overflow=overflow, ) refString = refString[5:-5] readSignal = getSignalFromRead(sample) readSignalLen = len(readSignal) readSignal = readSignal[readSignalBeg:readSignalEnd] readString = getLevelString(readSignal, smoothParam, level, overflow) found = None for i in range(len(storeContig[hit.ctg]) - len(refString) + 1): w = storeContig[hit.ctg][i : i + len(refString)] if w == refString: found = i break
stringToSignal(refSeqNeg, mod, repeatSignal=repeatSignal), float) refSignalPos = smoothSignal(refSignalPos, smoothParam) refSignalNeg = smoothSignal(refSignalNeg, smoothParam) refSignalPosShift, refSignalPosScale = computeNorm(refSignalPos, 0, len(refSignalPos)) refSignalNegShift, refSignalNegScale = computeNorm(refSignalNeg, 0, len(refSignalNeg)) for l in levels: refStringPos = computeString( refSignalPos, 0, len(refSignalPos), refSignalPosShift, refSignalPosScale, l, overflow=overflow, ) refStringNeg = computeString( refSignalNeg, 0, len(refSignalNeg), refSignalNegShift, refSignalNegScale, l, overflow=overflow, )