Kapitel 10. Die längste gemeinsame Teilfolge finden: K-mers finden, Funktionen schreiben und binäre Suche verwenden

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Wie in der LCSM-Aufgabe von Rosalind beschrieben, besteht das Ziel dieser Übung darin, die längste Teilsequenz zu finden, die von allen Sequenzen in einer bestimmten FASTA-Datei geteilt wird. In Kapitel 8 habe ich nach einem bestimmten Motiv in einigen Sequenzen gesucht. Bei dieser Aufgabe weiß ich nicht von vornherein, dass es ein gemeinsames Motiv gibt - geschweige denn, wie groß es ist oder wie es sich zusammensetzt - also suche ich einfach nach einer beliebig langen Sequenz, die in allen Sequenzen vorkommt. Dies ist eine herausfordernde Aufgabe, die viele Ideen aus früheren Kapiteln zusammenführt. Ich werde die Lösungen nutzen, um Algorithmusdesign, Funktionen, Tests und Codeorganisation zu untersuchen.

Du wirst lernen:

  • Wie man k-mers verwendet, um gemeinsame Teilsequenzen zu finden

  • Wie man itertools.chain() verwendet, um Listen von Listen zu verketten

  • Wie und warum man eine binäre Suche verwendet

  • Eine Möglichkeit, eine Funktion zu maximieren

  • So verwenden Sie die Option key mit min() und max()

Erste Schritte

Der gesamte Code und die Tests für diese Herausforderung befinden sich im Verzeichnis 10_lcsm.Beginne damit, die erste Lösung in das Programm lcsm.py zu kopieren und frage nach Hilfe:

$ cp solution1_kmers_imperative.py ...

Get Python für die Bioinformatik beherrschen now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.