def betterClumpFinding(Genome, k, t, L): genomeList = list(Genome) frequentPatterns = [] clump = [] for i in range(4**k - 1 + 1): clump.insert(i, 0) text = Genome[0:L] frequencyArray = computingFreqs(text, k) for i in range(4**k - 1 + 1): if frequencyArray[i] >= t: clump[i] = 1 for i in range(len(genomeList) - L + 1): firstPattern = Genome[i - 1:i - 1 + k] index = patternToNumber(firstPattern) frequencyArray[index] = frequencyArray[index] - 1 lastPattern = Genome[i + L - k:i + L - k + k] index = patternToNumber(lastPattern) frequencyArray[index] = frequencyArray[index] + 1 if frequencyArray[index] >= t: clump[index] = 1 for i in range(4**k): if clump[i] == 1: pattern = numberToPattern(i, k) frequentPatterns.append(pattern) return frequentPatterns
def betterClumpFinding(Genome, k, t, L): genomeList = list(Genome) frequentPatterns = [] clump = [] for i in range(4**k - 1 + 1): clump.insert(i, 0) text = Genome[0:L] frequencyArray = computingFreqs(text,k) for i in range(4**k-1+1): if frequencyArray[i] >= t: clump[i] = 1 for i in range(len(genomeList) - L + 1): firstPattern = Genome[i-1:i-1+k] index = patternToNumber(firstPattern) frequencyArray[index] = frequencyArray[index]-1 lastPattern = Genome[i+L-k:i+L-k+k] index = patternToNumber(lastPattern) frequencyArray[index] = frequencyArray[index]+1 if frequencyArray[index] >= t: clump[index] = 1 for i in range(4**k): if clump[i] == 1: pattern = numberToPattern(i,k) frequentPatterns.append(pattern) return frequentPatterns
def computingFreqs(Text, k): frequentPatterns = [] frequencyArray = computingFreqs(Text,k) maxCount = max(frequencyArray) for i in range(4**k-1+1): if frequencyArray[i] == maxCount: pattern = numberToPattern(i,k) frequentPatterns.append(pattern) return frequentPatterns
def computingFreqs(Text, k): frequentPatterns = [] frequencyArray = computingFreqs(Text, k) maxCount = max(frequencyArray) for i in range(4**k - 1 + 1): if frequencyArray[i] == maxCount: pattern = numberToPattern(i, k) frequentPatterns.append(pattern) return frequentPatterns
def clumpFinding(Genome, k, t, L): genomeList = list(Genome) frequentPatterns = [] clump = [] for i in range(4**k - 1 + 1): clump[i] = 0 for i in range(len(genomeList) - L + 1): text = genomeList[i:i + L] frequencyArray = computingFreqs(text, k) for index in range(4**k - 1 + 1): if frequencyArray[index] >= t: clump[index] = 1 for i in range(4**k): if clump[i] == 1: pattern = numberToPattern(i, k) frequentPatterns.append(pattern) return frequentPatterns
def clumpFinding(Genome, k, t, L): genomeList = list(Genome) frequentPatterns = [] clump = [] for i in range(4**k - 1 + 1): clump[i] = 0 for i in range(len(genomeList) - L + 1): text = genomeList[i:i+L] frequencyArray = computingFreqs(text,k) for index in range(4**k-1+1): if frequencyArray[index] >= t: clump[index] = 1 for i in range(4**k): if clump[i] == 1: pattern = numberToPattern(i,k) frequentPatterns.append(pattern) return frequentPatterns
from numberToPattern import numberToPattern from computingFrequencies import computingFreqs def computingFreqs(Text, k): frequentPatterns = [] frequencyArray = computingFreqs(Text,k) maxCount = max(frequencyArray) for i in range(4**k-1+1): if frequencyArray[i] == maxCount: pattern = numberToPattern(i,k) frequentPatterns.append(pattern) return frequentPatterns if __name__ == "__main__": Text = "ACGTTGCATGTCGCATGATGCATGAGAGCT" k = 4 result = computingFreqs(Text, k) print result
from numberToPattern import numberToPattern from computingFrequencies import computingFreqs def computingFreqs(Text, k): frequentPatterns = [] frequencyArray = computingFreqs(Text, k) maxCount = max(frequencyArray) for i in range(4**k - 1 + 1): if frequencyArray[i] == maxCount: pattern = numberToPattern(i, k) frequentPatterns.append(pattern) return frequentPatterns if __name__ == "__main__": Text = "ACGTTGCATGTCGCATGATGCATGAGAGCT" k = 4 result = computingFreqs(Text, k) print result