Skip to content

Instantly share code, notes, and snippets.

@github-shakti
Last active August 14, 2017 17:54
Show Gist options
  • Select an option

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

Select an option

Save github-shakti/663b0734c3a4b639f3d219e902f4bb0b to your computer and use it in GitHub Desktop.
[Bio info Basics] #Bioinformatics
#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
#FrequentPatterns
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])
return FrequentPatterns
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
def remove_duplicates(Items):
ItemsNoDuplicates = [] # output variable
for item in Items:
if item not in ItemsNoDuplicates:
ItemsNoDuplicates.append(item)
return ItemsNoDuplicates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment