Skip to content

Instantly share code, notes, and snippets.

@github-shakti
Last active September 10, 2017 22:18
Show Gist options
  • Select an option

  • Save github-shakti/ea0c0a998faf9ba00d2f29c45e8b78e4 to your computer and use it in GitHub Desktop.

Select an option

Save github-shakti/ea0c0a998faf9ba00d2f29c45e8b78e4 to your computer and use it in GitHub Desktop.
Bio Info Course
# Copy your updated FrequentWords function (along with all required subroutines) below this line
#PatternCount
def PatternCount(Pattern, Text):
count = 0
for i in range(len(Text)-len(Pattern)+1):
if Text[i:i+len(Pattern)] == Pattern:
count = count+1
return count
#FrequentWords
def CountDict(Text, k):
Count = {}
for i in range(len(Text)-k+1):
Pattern = Text[i:i+k]
Count[i] = PatternCount(Pattern, Text)
return Count
def remove_duplicates(Items):
ItemsNoDuplicates = [] # output variable
for item in Items:
if item not in ItemsNoDuplicates:
ItemsNoDuplicates.append(item)
return ItemsNoDuplicates
def FrequentWords(Text, k):
FrequentPatterns = []
Count = CountDict(Text, k)
m = max(Count.values())
for i in Count:
if Count[i] == m:
FrequentPatterns.append(Text[i:i+k])
FrequentPatternsNoDuplicates = remove_duplicates(FrequentPatterns)
return FrequentPatternsNoDuplicates
# Now set Text equal to the Vibrio cholerae oriC and k equal to 10
Text = "ATCAATGATCAACGTAAGCTTCTAAGCATGATCAAGGTGCTCACACAGTTTATCCACAACCTGAGTGGATGACATCAAGATAGGTCGTTGTATCTCCTTCCTCTCGTACTCTCATGACCACGGAAAGATGATCAAGAGAGGATGATTTCTTGGCCATATCGCAATGAATACTTGTGACTTGTGCTTCCAATTGACATCTTCAGCGCCATATTGCGCTGGCCAAGGTGACGGAGCGGGATTACGAAAGCATGATCATGGCTGTTGTTCTGTTTATCTTGTTTTGACTGAGACTTGTTAGGATAGACGGTTTTTCATCACTGACTAGCCAAAGCCTTACTCTGCCTGACATCGACCGTAAATTGATAATGAATTTACATGCTTCCGCGACGATTTACCTCTTGATCATCGATCCGATTGAAGATCTTCAATTGTTAATTCTCTTGCCTCGACTCATAGCCATGATGAGCTCTTGATCATGTTTCCTTAACCCTCTATTTTTTACGGAAGAATGATCAAGCTGCTGCTCTTGATCATCGTTTC"
k = 10
# Finally, print the result of calling FrequentWords on Text and k.
print(FrequentWords(Text, k))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment