1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| # On récupère les séquences, en supposant que ton fichier "fasta" est en ascii
# et qu'il y a une séquence par ligne
liste_adn = list()
with open("fichier_fasta", "r") as fichier :
for ligne in fichier :
liste_adn.append(ligne)
# On boucle sur tes fonctions
for i in range(33) :
# Sauf que 100 divisé par 3 ... A la fin tu vas avoir une sequence toute seule.
# Tu veux la gérer comment ? La comparer avec quoi ?
if i < 99 :
triple_sequence = liste_adn[3*i:3*i+3]
else :
# Donc là, à toi de voir ce que tu veux faire de la dernière
pass
sous_sequence = list()
for j in triple_sequence :
for k in range(4) :
# On découpe en 4 morceaux qu'on place dans une liste (si la longueur est de 12)
sous_sequence.append(j[3*k+1:3*k+4))
is_similar_rouge = [["rouge", i, i+1, i+2]] # Pour la comparaison des rouges
is_similar_vert = [["vert", i, i+1, i+2]] # Pour la comparaison des verts
# Je te mets en premier élement de la liste les numéros des séquences comparées
for k in [1, 4, 5, 8, 9] :
if sous_sequence[0] == sous_sequence[k] :
is_similar_rouge.append(True)
else :
is_similar_rouge.append(False)
for k in [3, 6, 7, 10, 11] :
if sous_sequence[2] == sous_sequence[k] :
is_similar_vert.append(True)
else :
is_similar_vert.append(False)
print is_similar_rouge
print is_similar_vert |
Partager