So berechnen Sie mehrere Sequenzausrichtung für Textzeichenfolgen
Ich Schreibe ein Programm, das zur Berechnung einer multiple sequence alignment der einen Satz von Zeichenketten. Ich dachte, dies zu tun, in Python, aber ich könnte eine externe software oder eine andere Sprache, wenn das praktischer. Die Daten werden nicht besonders groß, ich haben keine starken Anforderungen an die Systemleistung und ich kann tolerieren Annäherungen (ie. Ich muss nur eine ausreichend gute Ausrichtung). Das problem ist nur, dass die strings sind regelmäßige Zeichenfolgen (dh. UTF-8-Zeichenfolgen möglicherweise mit Zeilenumbrüchen, die behandelt werden sollte als reguläres Zeichen); Sie sind nicht DNA-Sequenzen oder Proteinsequenzen.
Kann ich feststellen, Tonnen von Werkzeugen und Informationen, die für die üblichen Fälle in der Bioinformatik mit bestimmten komplizierten Datei-Formate und eine Vielzahl von Funktionen, die ich nicht brauchen, aber es ist unexpectly schwer zu finden, software, Bibliotheken oder Beispiel-code für den einfachen Fall von strings. Ich könnte wahrscheinlich implementieren Sie eine der vielen algorithmen für dieses problem, oder codieren meine string-DNA, aber es muss einen besseren Weg geben. Kennt Ihr irgendwelche Lösungen?
Dank!
InformationsquelleAutor der Frage a3nm | 2011-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst paarweise die ähnlichkeit erzielt für jedes paar und speichern die Ergebnisse. Dies ist der teuerste Teil des Prozesses. Wählen Sie das paar, die beste ähnlichkeits-und tun ausrichten. Wählen Sie jetzt die Sequenz, die ausgerichtet am besten zu einer der Sequenzen in der Menge der Sequenzen ausgerichtet und richten Sie es an der ausgerichtet festgelegt, basierend auf paarweisen alignment. Wiederholen Sie, bis alle Sequenzen sind in.
Lafrasu hat vorgeschlagen, die SequneceMatcher () - Algorithmus für paarweise alignment von UTF-8 strings. Was ich beschrieben habe gibt Ihnen eine ziemlich schmerzlos, halbwegs annehmbare Weise zu erweitern, dass mehrere Sequenzen.
Falls Sie interessiert sind, es ist äquivalent zum Aufbau von kleinen Mengen von Sequenzen ausgerichtet und richten Sie auf Ihre besten paar. Es liefert genau das gleiche Ergebnis, aber es ist eine einfachere Implementierung.
InformationsquelleAutor der Antwort James Crook
Sind Sie auf der Suche nach etwas schnell und schmutzig, wie in der folgenden?
InformationsquelleAutor der Antwort lafras
Habe ich vor ziemlich kurzer Zeit geschrieben, ein python-Skript, das ausgeführt wird der Smith-Waterman-Algorithmus (das ist, was wird verwendet, um generieren gapped lokalen Sequenz-alignments DNA-oder protein-Sequenzen). Es ist fast sicher nicht die Schnellste Implementierung, wie ich Sie noch nicht optimiert für Geschwindigkeit überhaupt (nicht mein Engpass im moment), aber es funktioniert, und kümmert sich nicht um die Identität der Zeichen in den Zeichenketten. Ich könnte es hier posten oder mailen Sie die Dateien, wenn das ist die Art von Sache, die Sie suchen.
InformationsquelleAutor der Antwort DaveTheScientist
MAFFT version 7.120+ unterstützt mehrere text-Ausrichtung. Input ist wie FASTA-format aber mit LATIN1 text anstelle von Sequenzen und output ausgerichtet ist FASTA-format. Einmal installiert, ist es einfach zu laufen:
Obwohl MAFFT ist ein ausgereiftes Werkzeug für die biologischen Sequenz-alignment, die Ausrichtung des Textes-Modus ist in der Entwicklungsphase, mit zukünftigen Pläne, einschließlich der Genehmigungsverfahren benutzerdefinierten scoring-Matrizen. Sehen Sie die weiteren details in die Dokumentation.
InformationsquelleAutor der Antwort Chris_Rands