Ejemplo n.º 1
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 8
0
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