Algoritme :: NeedleManWunsch

Algorithm :: NeedleManWunsch is een sequentie-uitlijning met configureerbare score.
Download nu

Algoritme :: NeedleManWunsch Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Vaclav Barta
  • Uitgever website:
  • http://search.cpan.org/~vbar/XML-DifferenceMarkup-1.00/lib/XML/DifferenceMarkup.pm

Algoritme :: NeedleManWunsch Tags


Algoritme :: NeedleManWunsch Beschrijving

Algoritme :: NeedleManWunsch is een sequentie-uitlijning met configureerbare score. Algoritme :: NeedleManWunsch is een sequentie-uitlijning met configureerbare scoring.Synopsis Gebruik algoritme :: NEEHEMMANWUNSCH; Sub score_sub {if (! @_) {return -2; # gap penalty} return ($ _ EQ $ _ )? 1: -1; } My $ Matcher = Algoritme :: NeedleManWunsch-> Nieuw (score_sub); Mijn $ score = $ Matcher-> Uitlijnen (@A, @B, {align => on_align, shift_a => on_shift_a, shift_b => on_shift_b, select_Align => on_select_Align}); sequentie uitlijning is een manier om in tweeën in tweeën te vinden ( of meer) soortgelijke sequenties of snaren van sommige items of personages. Standaard motiverende voorbeeld is de vergelijking van DNA-sequenties en hun functionele en evolutionaire overeenkomsten en verschillen, maar het probleem heeft veel bredere toepasbaarheid - bijvoorbeeld het vinden van de langste gemeenschappelijke subsequentie (dat is, diff) is een speciaal geval van sequentie uitlijning. Conceptueel, sequentie Uitlijning werkt door alle mogelijke uitlijningen te scoren en de uitlijning met maximale score te kiezen. Sequenties a t c t en t g a t kunnen bijvoorbeeld worden uitgelijnd Sequence A: A T C - T | | | Volgorde B: - T G A Tor Sequence A: - - a t c t | | Sequentie B: T G A T - - (en exponentieel vele andere manieren, natuurlijk). Merk op dat Needleman-Wunsch de globale uitlijningen beschouwt, over de gehele lengte van beide sequenties; Elk item is uitgelijnd met een item van de andere sequentie, of komt overeen met een opening (die altijd is uitgelijnd met een item - uitlijnen van twee gaten zou niets anders helpen). Deze aanpak is in het bijzonder geschikt voor het vergelijken van sequenties van vergelijkbare lengte en enigszins vergelijkbaar langs hun hele lengtes - dat wil zeggen zonder lange stukken die niets met elkaar te maken hebben. Als uw sequenties niet aan deze vereisten voldoen, overweeg dan om de lokale uitlijning te gebruiken, die, strikt genomen geen naald-wunsch is, maar vergelijkbaar genoeg is om in deze module te worden geïmplementeerd - zie hieronder voor details. In het bovenstaande voorbeeld. De tweede uitlijning heeft meer lacunes dan de eerste, maar misschien zijn je A's structureel belangrijk en je houdt van zo veel dat je nog steeds de voorkeur zou geven aan de tweede uitlijning. Omgekeerd, als C "bijna hetzelfde" is, is het misschien de eerste uitlijning die beter overeenkomt. NEEHEMMAN-WUNSCH formaliseert dergelijke overwegingen in een gelijkmatigheidsmatrix, waardoor de uitbetalingen aan elk (besteld, maar de matrix toewijzen is normaal gesproken symmetrisch, zodat de volgorde niet uitmaakt) Paar mogelijke sequentieitems, plus een spleetstraf, het kwantificeren van de wenselijkheid van een opening in een reeks. Een voorkeur van combinaties over hiaten wordt uitgedrukt door een laag (ten opzichte van de GAP-straf van de gelijkenis, normaal gesproken negatief). De uitlijningsscore wordt vervolgens gedefinieerd als de som, over de posities waar ten minste één sequentie een artikel heeft, van de overeenkomst, van de overeenkomst MATRIX-waarden geïndexeerd door het eerste en tweede item (wanneer beide zijn gedefinieerd) en spleetboetes (voor items uitgelijnd met een gat). Als S wordt bijvoorbeeld de gelijkmatigheidsmatrix en g de GAP-boete aangeven, de uitlijningssequentie A: Aattcc-sequentie B: A - - T CHAS-score S + 3 * G + S + S .Wanneer de GAP-boete 0 is en de gelijkenis een identiteitsmatrix, dwz het toewijzen van 1 aan elke wedstrijd en 0 aan elke mismatch, vermindert Needleman-Wunsch zich tot het vinden van de langste gemeenschappelijke subsequentie. Het algoritme voor het maximaliseren van de score is Een standaardtoepassing van dynamische programmering, het berekenen van de optimale uitlijningsscore van lege en 1-itemsequenties en het opbouwen totdat de hele invoersequenties in aanmerking worden genomen. Zodra de optimale score bekend is, sporen het algoritme terug om de GAP-posities te vinden. Merk op dat terwijl de maximale score duidelijk uniek is, de uitlijning die het in het algemeen heeft, niet; Met deze interface van deze module kan de aanvraag kiezen tussen verschillende optimale uitlijningen. REQUIRINGEN: · PERL-VEREISTEN: · Perl


Algoritme :: NeedleManWunsch Gerelateerde software