def align(s1,s2): """Prende in ingresso due stringhe. Allinea la seconda sulla prima e stampa allineamento e numero di match.""" # la sottostringa di s1 con miglior allineamento salign="" # il numero di match dell'allineamento ottimale maxmatch=0 # itero sulla prima stringa for p in range(len(s1)-len(s2)+1): # il numero di match dell'allineamento a partire da p currmatch=0 # itero sulla seconda stringa for p2 in range(len(s2)): #print s1[p2+p],s2[p2] # verifico match if s1[p2+p] == s2[p2]: currmatch += 1 # aggiorno se necessario l'allineamento ottimo if currmatch > maxmatch: # aggiorno numero match maxmatch=currmatch # aggiorno sottostringa salign=s1[p:p+len(s2)] print salign print s2 print "Alignment score: " + str(maxmatch)