OK ist, was ich tun möchte:Mehrfache Sequenzausrichtung (Längste gemeinsame Subsequenz)? diese
Mehr als zwei Strings und „align“ sie (keine DNA/RNA-Sequenz oder dergleichen, ganz normale Saiten nicht wie 1000 Elemente in jeder von ihnen)
Ich habe bereits einige Arbeiten mit der paarweisen Ausrichtung (zwei Strings) durchgeführt, aber die "Lücken" verursachen einige Probleme, wenn ich versuche, mehr als ein Paar auszurichten.
Beispiel (ein Ich teste derzeit):
ABCDEF
ABGHCEEF
AJKLBCDYEOF
AB--CDEF
ABGHCEEF
=======================
AB--C-EF
A-B--C--E-F
AJKLBCDYEOF
=======================
A----C--E-F
Und ein anderes (anschauliches) Beispiel:
http://nest.drkameleon.com
http://www.google.com
http://www.yahoo.com
http://nest.drkameleon.com
http://-www.--google--.com
=======================
http://----.------le--.com
http://----.------le--.com
http://-www.-----yahoo.com
=======================
http://----.----------.com
Was ich zur Zeit mache:
- sortiert die Saiten (längere Strings zuerst in der Liste kommen)
- das erste Paar ausrichten: AB und das Ergebnis erhalten (sie
R1
sagt) - dann das zweite Paar ausrichten:
R1
undC
(Ergebnis inR2
) - dann das dritte Paar ausrichten:
R2
undD
- und so weiter ...
also, was in Ihrem Verstand? Wie könnte ich dafür gehen? Gibt es einen besseren Weg? (Natürlich muss es sein ...)
Ich würde das lieber in Perl/Python oder etwas in dieser Richtung tun, aber jede Art von Code/Referenz wäre mehr als willkommen! :-)
Können Sie vielleicht einige Beispiele dafür nennen, was die Ein- und Ausgänge sein könnten? Ich bin nicht 100% auf was du eigentlich willst. –
werfen Sie auch einen Blick auf diesen Artikel, der das LCS-Problem in Python detailliert erklärt. http://wordaligned.org/articles/longest-common-subsequence#toc21 – luke14free
@ Li-aungYip Hier ist, was ich meine: http://StackOverflow.com/Questions/10065293/How-To-align-2-strings –