def check_spelling(checked_word, dist, word_list): matrix = PR.build_scoring_matrix(alphabet, 2 ,1, 0) retlist = [] str1 = checked_word for ith in word_list: str2 = ith alig = PR.compute_alignment_matrix(str1, str2, matrix, True) res = PR.compute_global_alignment(str1, str2, matrix, alig) edit_dist = len(str1)+len(str2)-res[0] if edit_dist <= dist: retlist.append(str2) return retlist
# fruitflyEyelessProtein = "http://storage.googleapis.com/codeskulptor-alg/alg_FruitflyEyelessProtein.txt" # scoringMatrixPAM50 = "http://storage.googleapis.com/codeskulptor-alg/alg_PAM50.txt" pro1 = LoadHelper.read_protein(LoadHelper.HUMAN_EYELESS_URL) pro2 = LoadHelper.read_protein(LoadHelper.FRUITFLY_EYELESS_URL) matr = LoadHelper.read_scoring_matrix(LoadHelper.PAM50_URL) cpax = LoadHelper.read_protein(LoadHelper.CONSENSUS_PAX_URL) localHum = "HSGVNQLGGVFVNGRPLPDSTRQKIVELAHSGARPCDISRILQVSNGCVSKILGRYYETGSIRPRAIGGSKPRVATPEVVSKIAQYKRECPSIFAWEIRDRLLSEGVCTNDNIPSVSSINRVLRNLASEK-QQ" localHum_dashless = "HSGVNQLGGVFVNGRPLPDSTRQKIVELAHSGARPCDISRILQVSNGCVSKILGRYYETGSIRPRAIGGSKPRVATPEVVSKIAQYKRECPSIFAWEIRDRLLSEGVCTNDNIPSVSSINRVLRNLASEKQQ" localFly = "HSGVNQLGGVFVGGRPLPDSTRQKIVELAHSGARPCDISRILQVSNGCVSKILGRYYETGSIRPRAIGGSKPRVATAEVVSKISQYKRECPSIFAWEIRDRLLQENVCTNDNIPSVSSINRVLRNLAAQKEQQ" alimat = PR.compute_alignment_matrix(localFly, cpax, matr, True) a1 = PR.compute_global_alignment(localFly, cpax, matr, alimat) print a1 # s1 = ''.join(random.choice("ACBEDGFIHKMLNQPSRTWVYXZ") for x in range(130)) # s2 = ''.join(random.choice("ACBEDGFIHKMLNQPSRTWVYXZ") for x in range(130)) # a1 = (12, s1, s2) cnt = 0 for ith, jth in zip(a1[1], a1[2]): if ith == jth: cnt += 1 print cnt / (len(a1[1]) * 1.0)
import Project as PR import string import LoadHelper str1 = "sadness" str2 = "straw" #str1 = "kitten" #str2 = "sitting" alphabet = list(string.ascii_lowercase) matrix = PR.build_scoring_matrix(alphabet, 2 ,1, 0) alig = PR.compute_alignment_matrix(str1, str2, matrix, True) res = PR.compute_global_alignment(str1, str2, matrix, alig) #print res #print "EDIT dist = ", len(str1)+len(str2)-res[0] word_list = LoadHelper.read_words(LoadHelper.WORD_LIST_URL) #print "WL = ", word_list def check_spelling(checked_word, dist, word_list): matrix = PR.build_scoring_matrix(alphabet, 2 ,1, 0) retlist = [] str1 = checked_word for ith in word_list: str2 = ith alig = PR.compute_alignment_matrix(str1, str2, matrix, True) res = PR.compute_global_alignment(str1, str2, matrix, alig) edit_dist = len(str1)+len(str2)-res[0] if edit_dist <= dist: retlist.append(str2)