Смит–Вотерманов алгоритам
![]() Смит–Вотермановиот алгоритам е алгоритам кој служи за локално порамнување на низи, т.е., за утврдување на слични региони меѓу две нуклеотидни или аминокиселински низи. Со овој метод не се врши споредување на целосната низа, туку се споредуваат сегменти со произволна должина и се оптимизира коефициентот на сличност. Алгоритмот бил предложен од страна на Темпл Ф. Смит и Мајкл С. Вотерман во 1981 година.[1] Тој е варијација на Нидлман–Вуншовиот алгоритам и како него претставува алгоритам на динамичко програмирање. Како таков, тој гарантира пронаоѓање на оптимално локално порамнување на низи со системот за бодување кој се користи (како што се матрицата на замена и системот за бодување на празнини). Главната разлика со Нидлман–Вуншовиот алгоритам е што ќелиите со негативни бодови се заменуваат со вредност нула, што прави да позитивно бодуваните локални порамнувања станат видливи. Постапката на следење наназад кон потеклото започнува со ќелијата на матрицата која е највисоко бодувана и продолжува до ќелијата со бод нула, што го дава највисоко бодуваното локално порамнување. Поради својата квадратна комплексност во времето и просторот, овој алгоритам често не може практично да биде применет за поголеми проблеми, па е заменет со помалку општи, но пресметковно поефикасни алтернативи, како што се (Гото, 1982),[2] (Алтшул и Ериксон, 1986),[3] и (Маерс и Милер, 1988).[4] ИсторијаВо 1970 година, Саул Б. Нидлман и Кристијан Д, Вунш, предложиле евристички хомолошки алгоритам за порамнување на низи, исто така познат како Нидлман–Вуншов алгоритам.[5] Станува збор за алгоритам за глобално порамнување на низи, за кого се потребни пресметковни чекори ( и се должините на двете низи кои треба да се порамнат). Алгоритмот користи итеративна пресметка на матрица за прикажување на глобално порамнување на низите. Во текот на наредната деценија, Санков,[6] Рајчерт,[7] Бејер[8] и другите формулирале алтернативни евристички алгоритми за анализа на генски низи. Селерс вовел систем за мерење на низна дистанца.[9] Во 1976 година, Вотерман et al. го додале концептот на празнини во оригиналниот мерен систем.[10] Во 1981 година, Смит и Вотерман го објавиле нивниот Смит–Вотерманов алгоритам за пресметување на локално порамнување на низи. Смит–Вотермановиот алгоритам изискува прилично долго време: за да се порамнат две низи со должини и , потребно е време. Гото[2] и Алтшул[3] го оптимизирале алгоритмот на чекори. Просторната сложеност била оптимизирана од страна на Маерс и Милер[4] од на (линеарна), каде е должината на пократката низа, за случајот кога е потребно само едно од многуте можни оптимални порамнувања. МотивацијаВо текот на изминатите три децении, проектите за секвенционирање на геномите на различни организми создадоа огромна количина на податоци за генски и белковински низи, за кои е потребна пресметковна анализа. Порамнувањата на низите ги покажува односите помеѓу гените или белковините (белковините), што доведува до подобро разбирање на нивната хомологија и функционалност. Порамнувањето на низите исто така може да открие сочувани домени и сочувани низни мотиви. Една мотивација за локално порамнување на низи е потешкотијата во добивањето на точни порамнувања во регионите со ниско ниво на сличност помеѓу далечно сродните биолошки низи, бидејќи мутациите во текот на еволуцијата имаат создадено премногу „шум“ за да може да се изврши споредба на овие региони. Локалното порамнување потполно ги избегнува таквите региони и се фокусира само на оние со позитивни бодови, односно оние со еволутивно сочуван сигнал за сличност. Предуслов за локалното порамнување е негативен очекуван бод. Очекуваниот бод е дефиниран како просечен бод кој системот за бодување (матрицата на замена и системот за бодување на празнини) ќе даде случајна низа. Друга мотивација за користење на локалните порамнувања е што постои сигурен статистички модел (развиен од Карлин и Алтшул) за оптимални локални порамнувања. Порамнувањето на несродните низи има тенденција да создаде оптимални бодови за локално порамнување кои следат екстремна дистрибуција на вредности. Ова својство им овозможува на програмите да создадат очекувана вредност за оптимално локално порамнување на две низи, што е мерка за тоа колку често две несродни низи ќе создадат оптимално локално порамнување чиј бод е поголем или еднаков на набљудуваниот бод. Многу ниска очекувана вредност означува дека двете низи за кои станува збор може да бидат хомологни, што значи дека тие може да споделуваат заеднички предок. Алгоритам![]() Нека и се низи кои треба да бидат порамнети, каде и се должините на и , соодветно.
ОбјаснувањеСмит–Вотермановиот алгоритам порамнува две низи со совпаѓања/несовпаѓања (исто така познати како супституции), вметнувања и бришења. Вметнувањате и бришењате се операции кои означуваат празнини, кои се претставени со цртички. Смит–Вотермановиот алгоритам се состои од неколку чекори:
Споредба со Нидлман–Вуншовиот алгоритам![]() Разликата помеѓу Смит–Вотермановиот алгоритам и Нидлман–Вуншовиот алгоритам е што првиот служи за пронаоѓање на оние сегменти во две дадени низи кои имаат сличности, додека вториот целосно ги порамнува двете низи. Сличностите се што и двата алгоритми ги користат концептите на матрица на замена, функција за казнени бодови за празнини, матрица на бодување и процест на следењо назад кон потеклото. Три главни разлики се:
Една од најважните разлики помеѓу двата алгоритма е што во системот на бодување кај Смит–Вотермановиот алгоритам не се даваат негативни бодови. Кога некој елемент има бод помал од нула, тоа значи дека низите до таа позиција немаат никаква сличност; затоа овој елемент се поставува на вредност нула, за да се елиминира влијанието од претходното порамнување. На овој начин, може да се продолжи со пронаоѓање на порамнување во било која позиција која следи потоа. Првичната матрица на бодување на Смит–Вотермановиот алгоритам овозможува порамнување на кој било сегмент од едната низа со произволна позиција во другата низа. Кај Нидлман–Вуншовиот алгоритам треба да се земе предвид и казнениот бод за последната празнина за целосно да се порамнат низите. Матрица на заменаСекоја супституција на азотна база или аминокиселина добива одреден бод. Во принцип, совпаѓањата добиваат позитивни бодови, а несовпаѓањата добиваат релативно ниски бодови. На пример, за РНК-низите, ако совпаѓањата добиваат +1, несовпаѓањата добиваат -1, па тогаш матрицата на замена е:
Оваа матрица на замена може да се опише како: Различните супституции на азотни бази или аминокиселини може да имаат различни бодови. Матрицата на замена за аминокиселините обично е покомплицирана од онаа за азотните бази. Казнени бодови за празнинаКазнените бодови за празнина се однесуваат на бодовите за вметнувања и бришења. Едноставна стратегија за казнени бодови за празнини е да се користат фиксни бодови за секоја празнина. Во биологијата, сепак, бодовите треба да бидат различни од практични причини. Од една страна, делумната сличност помеѓу две низи е честа појава; од друга страна, една генска мутација може да резултира со вметнување на една долга празнина. Затоа, долгите празнини обично повеќе се фаворизирани од повеќе расфрлани, кратки празнини. За да се земе предвид оваа разлика, во системот на бодување додадени се концептите на отворање на празнина и екстензија (проширување) на празнина. Бодот за отворање на празнина е обично поголем од бодот за проширување на празнина. На пример, основните параметри во EMBOSS Water се: отворање на празнина = 10, проширување на празнина = 0.5. Овде ќе стане збор за две чести стратегии за казнени бодови за празнина. Нека биде функцијата за казнени бодови за празнина со должина : Линеарна![]() Линеарната стратегија за казнени бодови за празнина ги има истите бодови за отворање и проширување на празнината: , каде е цената за една празнина. Казнените бодови за празнина директно се пропорционални со должината на празнината. Кога се користи линеарната стратегија за казнени бодови за празнина, Смит–Вотермановиот алгоритам може да биде поедноставен во следната форма:
Поедноставениот алгоритам користи чекори. Кога некој елемент се бодува, треба да се земат предвид само казнените бодови од елементите кои се во негова непосредна близина. АфинаАфината стратегија за казнени бодови за празнина одделно ги бодува отворањето на празнина и екстензијата на празнина: , каде е казната за отворање на празнина, а е казната за екстензија на празнина. На пример, казната за празнина со должина 2 е . Во оригиналниот Смит–Вотерманов алгоритам бил користен произволен систем за казнени бодови за празнина. Овој систем користи чекори, поради што е прилично долготраен. Гото ги оптимизирал чекорите за афин систем за казнени бодови за празнина на ,[2] но оптимизираниот алгоритам е способен да пронајде само едно оптимално порамнување, кое не е загарантирано да се пронајде.[3] Алтшул го има изменето алгоритмот на Гото за да можат да бидат пронајдени сите оптимални порамнувања.[3] Подоцна, Маерс и Милер покажале дека алгоритмот на Гото и Алтшул може дополнително да биде изменет врз основа на методот објавен од страна на Хиршберг во 1975 година.[4][11] Алгоритмот на Маерс и Милер може да порамни две низи со употреба на простор, каде е должината на пократката низа. ПримерДа го земеме како пример порамнувањето на ДНК-низите TACGGGCCCGCTAC и TAGCCCTATCGGTCA. Кога се користи линеарна функција за казнени бодови за празнина резултатот е (Порамнувањето е извршено од EMBOSS Water. Матрицата на замена е DNAfull. Казнените бодови за отворање и проширување на празнина се 1.0): TACGGGCCCGCTA-C || | || ||| | TA---G-CC-CTATC Кога се користи афината функција за казнени бодови за празнина, резултатот е (Казнените бодови за отворање и проширување на празнина се 5.0 и 1.0, соодветно): TACGGGCCCGCTA || ||| ||| TA---GCC—CTA Овој пример покажува дека афината функција за казнени бодови за празнина може да помогне да се избегнат расфрлани мали празнини. Матрица за бодувањеФункцијата на матрицата за бодување е да спроведе споредба помеѓу сите компоненти во две низи и да ги евидентира оптималните резултати на порамнувањето. Процесот на бодување го одразува концептот на динамичко програмирање. Конечното оптимално порамнување се наоѓа преку итеративно проширување на растечкото оптимално порамнување. Со други зборови, моменталното оптимално порамнување се генерира со одлучување која патека (совпаѓање/несовпаѓање или внесување на празнина) го дава највисокиот бод од претходното оптимално порамнување. Големината на матрицата е должината на едната низа плус 1 по должината на другата низа плус 1. Дополнителниот прв ред и прва колона служат да се порамни едната низа со било која позиција во другата низа. И на првиот ред и на првата колона им се дава вредност нула, за крајната празнина да не добие казнени бодови. Почетната матрица за бодување е:
ПримерДа го земеме како пример порамнувањето на ДНК-низите TGTTACGG и GGTTGACTA. Со употреба на следниот систем:
Се иницијализира и се пополнува матрицата на бодување како што е прикажано подолу. Сликата го прикажува процесот на бодување за трите првите елементи. Жолтата боја ги означува азотните бази кои се разгледуваат. Црвената боја го означува највисокиот можен бод за ќелијата која се бодува. ![]() Крајната матрица на бодување е прикажана подолу налево. Сината боја го покажува највисокиот бод. Забележете дека еден елемент може да добие бод од повеќе од еден елемент, секој ќе формира поинаква патека ако овој елемент се следи наназад. Во случај на повеќе највисоки бодови, следењето наназад треба да се изврши почнувајќи од секој највисок бод. Процесот на следење наназад кон потеклото е прикажан подолу десно. Најдоброто локално порамнување се генерирана во обратна насока.
Резултатот на порамнувањето на овие две низи е: G T T - A C | | | | | G T T G A C ПоврзаноНаводи
Надворешни врски
|
Portal di Ensiklopedia Dunia