Chapitre 10. Trouver la plus longue séquence partagée : Trouver des K-mères, écrire des fonctions et utiliser la recherche binaire
Comme décrit dans le défi LCSM de Rosalind, le but de cet exercice est de trouver la plus longue sous-chaîne partagée par toutes les séquences d'un fichier FASTA donné. Au chapitre 8, j'ai cherché un motif donné dans certaines séquences. Dans ce défi, je ne sais pas a priori qu'un motif partagé est présent - et encore moins sa taille ou sa composition - je vais donc simplement chercher n'importe quelle longueur de séquence qui est présente dans toutes les séquences. C'est un exercice difficile qui rassemble de nombreuses idées que j'ai montrées dans les chapitres précédents. J'utiliserai les solutions pour explorer la conception d'algorithmes, les fonctions, les tests et l'organisation du code.
Tu apprendras :
-
Comment utiliser les k-mers pour trouver des sous-séquences partagées ?
-
Comment utiliser
itertools.chain()pour concaténer des listes de listes ? -
Comment et pourquoi utiliser une recherche binaire
-
Une façon de maximiser une fonction
-
Comment utiliser l'option
keyavecmin()etmax()
Pour commencer
Tout le code et les tests de ce défi se trouvent dans le répertoire 10_lcsm.Commence par copier la première solution dans le programme lcsm.py et demande de l'aide :
$ cp solution1_kmers_imperative.py lcsm.py ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access