Angenommen, Sie haben zwei Implementierungen des Smith-Waterman-Algorithmus (mit welcher Heuristik auch immer sie zur Beschleunigung angewendet werden) für den lokalen Sequenzabgleich genomischer Sequenzen.
Ich würde gerne wissen, ob man sicher sein kann, dass diese Implementierungen gute Arbeit beim Ausrichten leisten (dh das Programm wurde korrekt geschrieben). Wie bewerte ich das?
Es gibt nur zwei Möglichkeiten für die Smith-Waterman-Angleichung an eine gegebene Kostenmatrix. Es ist entweder richtig oder nicht.
Ehrlich gesagt, was auch immer Sie verwenden, es ist wirklich sehr unwahrscheinlich, dass eine reine Smith-Waterman-Implementierung falsch ist. Es ist nicht so kompliziert, wirklich. Es gibt viele heuristische Verbesserungen an Smith-Waterman, aber wenn Sie beide a) sicher sind, dass Sie sie nicht testen möchten b) sicher sind, dass sie nicht verwendet werden, können Sie immer viele zufällige Sequenzen generieren und sie ausrichten in Paaren. Wenn ein Paar nicht auf die gleiche Weise mit der gleichen Punktzahl übereinstimmt, stimmt etwas nicht und Sie sollten weiter nachforschen.
Ich kann mir vorstellen, dass Ihre Frage technisch nur auf einem Informatik-Stack Exchange beantwortet werden kann. Die pragmatische Antwort der Biologie ist, dass es kein Problem gibt. Dies ist ein so gut etablierter Algorithmus, dass die Implementierung auf jeder seriösen Website oder von jedem seriösen Anbieter wahrscheinlich in Ordnung ist. Es ist keine Heuristik beteiligt. Wenn Sie also verschiedene Implementierungen vergleichen, sollten Sie ähnliche Antworten erhalten. Ich sage eher ähnlich als identisch, weil es mehr als eine Ausrichtung mit derselben Punktzahl geben kann, aber nur eine ausgewählt wird. Generell macht es keinen Unterschied.
Ich nehme an, es gibt einen Aspekt des Smith-Waterman-Algorithmus, der sich zwischen den Implementierungen unterscheiden kann, aber es ist einer, für den Sie als Benutzer die letzte Verantwortung tragen – das Bewertungssystem. Ihre Grundannahme ist, dass zwei Sequenzen verwandt sind, und Sie bitten das Programm, Ihnen die paarweise Ausrichtung zu geben, die diese Verwandtschaft „am besten“ ausdrückt. „Best“ im Programm bedeutet die höchste Punktzahl auf einem System, das der Ausrichtung verschiedener Paare aller 20 Aminosäuren (eine Vergleichsmatrix für Proteine) einen anderen Wert zuweist und spezifische Strafen für die Einführung einer Lücke (um eine Einfügung oder Löschung) und die Erweiterung einer einmal eingeführten Lücke.
Welche Möglichkeiten haben Sie und wann kann es notwendig sein, diese auszuüben? Sie können aus verschiedenen Vergleichsmatrizen wählen, die aus der Ausrichtung von Sequenzblöcken für dasselbe Protein in Organismen unterschiedlicher evolutionärer Trennung abgeleitet wurden. Diese Matrizen unterscheiden sich, da einige Aminosäureänderungen nur eine einzige Basenänderung im Codon erfordern, während andere Änderungen an allen drei Positionen eines Codons erfordern. Letztere treten weniger wahrscheinlich über kurze evolutionäre Zeitspannen (z. B. zwischen Maus und Ratte) als über längere (z. B. zwischen Maus und Bakterium) auf. Idealerweise sollten Sie also die Vergleichsmatrix verwenden, die für die zu vergleichenden Sequenzen am besten geeignet ist.
Umstände, in denen Sie vielleicht die Lückenstrafen ändern oder sogar die Vergleichstabellen anpassen möchten, sind zugegebenermaßen esoterisch, aber ich würde raten, dass es besser ist, über die Anwendbarkeit des Bewertungssystems auf Ihr biologisches Problem nachzudenken, als sich Sorgen zu machen, dass jemand dies tun könnte einen Hash der Implementierung des Computeralgorithmus erstellt.
AliceD
David
Maxim Kuleschow
WYSIWYG