Je suis un programmeur amateur (mon réel ma réelle actuelle est la biologie), donc je m'excuse si le code est atroce.La fonction de recherche Python ne fonctionne pas. Qu'est-ce que je fais mal?
De toute façon, je fais un exercice rosalind.info (http://rosalind.info/problems/subs/) qui veut que je trouve tous les index où un motif d'ADN spécifique est contenu dans une plus grande séquence d'ADN. Fondamentalement, j'ai besoin de trouver les index d'une sous-chaîne dans une chaîne. Devrait être facile, non? Eh bien, peut-être que vous pouvez m'aider.
Alors, voici mon code:
with open('rosalind_subs.txt') as f:
seq = f.readline()
seq.strip()
subs = f.readline()
subs.strip()
break
def finder(x, y):
index = x.find(y)
return index
print("sequence is: " + seq)
print("subs is: " + subs)
print(finder(seq, subs))
Et voici ma sortie:
sequence is: ACCAGTCTCTTTTTTCTCTTTTCTCTTTTCTCTTTTGACCCTCTTTTCGTCACTCTTTTACCTCTTTTTCTCTTTTACTCTTTTCTCTTTTACTCTTTTACTCTTTTAGCGCAGATCTCTTTTCTCTTTTGGCTCTTTTGTCATCCTCTTTTAGACTCTTTTGGGAAGCGACGCCTCTTTTCTCTTTTCTCTTTTGCCTCTTTTTATAACCTAAAAGACTCTTTTCCCTCTTTTCCGATTTGCCAAGGGCTCTCTTTTCTCTTTTGCTCTTTTCTCTTTTCTCTTTTTACTCTTTTCTCTTTTCGCCCCAAGATTAACTCTTTTTCTCTTTTCTCTCTTTTTTCCTCTTTTCTCTTTTGAATTGACCTCTTTTTCTCTTTTTTTGGGCCGCTCTTTTCTCTTTTACTCTTTTCTCTCTTTTAACAGCTCTTTTCCTTCTCTTTTGTCTCTTTTAGTATACTCTTTTACTCTTTTCTCTTTTCTCTCTTTTACTCTTTTGCTCTTTTCTCTTTTTGTCTCTTTTGCCCTGTCTCTTTTCACGCTTCTCTTTTAGTGTACTCTTTTACTCTTTTTGGCTCTTTTCGAATTTGTTAGCTCTTTTGCTCTTTTCTCTTTTGCTCTTTTGTCTCTTTTGATCAGATTCTCTTTTTCTCTTTTCTCTTTTCCTTAAGCAGATTTCTCTTTTCTCTTTTTCTCTCTTTTGCTCTTTTACTCTTTTACTGCTTTCTCTTTTACAACCTCTTTTACTCTTTTAAGCTCTTTTCTCTTTTGCGCCTCTTTTCCTCCCCTCTTTTTAGCTCTTTTCTCTTTTTCGCTCTTTTCAGCTCTTTTCACTCTTTTGTTTTGAGCTCTTTTCAGACTCTTTTATCCTCTTTTTTCCTCTTTTAGCGCTCTTTTGTAGCCTCTTTT
motif is: CTCTTTTCT
-1
***Repl Closed***
Je quitte le ***Repl Closed***
là dans un effort pour ne négliger aucun effort. Peut-être que cela a quelque chose à voir avec Sublime REPL?
De toute façon, vous ne pouvez probablement pas dire juste en regardant, mais le motif est effectivement trouvé BEAUCOUP de fois dans la séquence d'ADN, c'est juste la fonction de recherche ne reprend pas dessus. Ce qui donne?
Vous pourriez peut-être imprimer seq et subs après la boucle while. En fait, je ne comprends pas la boucle while car elle va casser au premier itération. –
Ce code ne sera pas exécuté car l'indentation n'a pas de sens. L'indentation est importante en python, même lorsque vous l'affichez sur SO. – khelwood
'seq.strip()' ne change pas 'seq'. Il renvoie une chaîne que vous rejetez. – interjay