Bonjour, pour un projet je dois aligner deux séquences entre elles mais il s'agit ici juste d'une facon esthetique de presenter l'alignement, et non pas d'un alignement local, global ou autre.
J'ai écrit ceci :
Ma logique étant la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 def pretty(file,idx,idy,s,x,y): f = open (file,"w") res = "" for x,y in zip (idx,idy): if x == y : res += x "/n" + "|" + "/n" y else: res += x "/n" + "-" + "/n" y f.close() return res
on parcourt la sequence idx et la sequence idy en meme temps,
si le caractere x de idx == le caractere y de idy alors on ecrit :
x a la ligne, la barre, a la ligne y
si x est different de y on ecrit :
x a la ligne, tiret, y
par exemple :
idx = ATGA
idy = ACGT
pour le premier caractere de idx et idy on a x = A, y = A donc le resultat :
A
|
A
puis on continu et aboutit a :
ATGA
| - |-
ACGT
Mais ca ne fonctionne pas, je ne comprends pas pourquoi. Est ce ma logique qui est fausse ou alors mon code ?
Merci.
Partager