Кіріспе

Компьютерлік филогенетикада ағаш сәйкестендіру – бірнеше тізбекті сәйкестендіруді немесе ДНК, РНК немесе белоктың үш немесе одан көп тізбектерін сәйкестендіруді қамтамасыз ететін есептеу мәселесі. Тізбелер түрлер мен таксондар арасындағы эволюциялық байланыстарды модельдейтін филогенетикалық ағашта орналастырылады. Ағаштың ішкі түйіндері үшін тізбектер арасындағы өңдеу қашықтығы есептеледі, сонда ағаштағы барлық өңдеу қашықтықтарының қосындысы ең төменгі деңгейге дейін азайтылады. Ағаш сәйкестендіруді басқаруға болатын бірнеше алгоритмдер бар, олардың әрқайсысы ағаш өлшемінің басқарылуы мен есептеу күш-жігері арасындағы айырмашылықтарға байланысты.

Анықтама

Кіріс: тізбектер жиынтығы, жапырақтарымен белгіленген филогенетикалық ағаш және тізбектер арасындағы өңдеу арақашықтығы функциясы. Шығыс: ағаштың ішкі төбелерінің белгіленуі, мұндағы ең төменгі мәнге жету мақсатында, мұндағы – ағаш ұштары арасындағы өңдеу арақашықтығы. Бұл міндет NP-қиын.

Тізбелік сәйкестендіру

Биоинформатикада ақпаратты өңдеудің негізгі әдісі – реттілік деректерін салыстыру болып табылады. Биологтар оны биологиялық реттіліктердегі функцияны, құрылымды және эволюциялық ақпаратты анықтау үшін пайдаланады. Реттік құрастыруға негізделген келесі талдаулар жүзеге асырылады: филогенетикалық талдау, гаплотиптерді салыстыру және РНҚ құрылымын болжау. Сондықтан, реттіліктерді сәйкестендірудің тиімділігі осы мәселелерді шешудің нәтижелілігіне тікелей әсер етеді. Ұтымды және тиімді реттілік сәйкестендіруді жобалау үшін алгоритмдерді жасау биоинформатика саласындағы маңызды зерттеу бағыты болып табылады. Жалпы алғанда, реттілік сәйкестендіру дегеніміз – екі немесе одан көп берілген реттіліктерден, әр реттілікке әріптер қосу, әріптерді жою немесе бос орын қосу арқылы ең жоғары ұқсастыққа ие реттілікті құру. Көп реттілік сәйкестендіру мәселесі әдетте жұп реттілік сәйкестендіруге негізделген, және қазіргі уақытта жұп реттілік сәйкестендіру мәселесі үшін биологтар динамикалық бағдарламалау әдісін қолданып, оның оңтайлы шешімін ала алады. Дегенмен, көп реттілік сәйкестендіру мәселесі биоинформатикадағы ең қиын мәселелердің бірі болып қана қоймайды, сонымен қатар көп реттілік сәйкестендірудің оңтайлы шешімін табу NP-толық проблема екені дәлелденген, сондықтан тек шамамен оңтайлы шешімді ғана алу мүмкін.

Қашықтық матрицасы әдісі

Қашықтық әдісі – екі жолмен жұмыс істегенде, u жолын v жолына түрлендіру үшін қажетті таңбаларды қосу, жою және алмастыру операцияларының ең аз санын өлшейтін әдіс. Өңдеу қашықтығын есептеу динамикалық бағдарламалау негізінде жүзеге асырылуы мүмкін, және оның уақыттық қисықтығы O(|u|×|v|) тең, мұнда |u| және |v| – u және v жолдарының ұзындықтары. Қашықтық әдісі есептеу биологиясының негізгі қағидасы болғандықтан, өңдеу қашықтығын тиімді бағалау маңызды. Мұралық қасиеттер функциялары үшін «симметрияландыру» қолданылуы мүмкін. Өңдеу қашықтығын есептеу үшін бірнеше функциялар қолданылатындықтан, әртүрлі функциялар әртүрлі нәтижелер береді. Ағаштарды дұрыс теңгеру мәселесі үшін ең оңтайлы өңдеу қашықтығы функциясын табу маңызды.

Ағаштарды туралау проблемасы

Ағаштарды туралау NP-қиын мәселе болып табылады, онда бағалау тәсілдері мен әліпби мөлшері шектеледі. Оны оңтайландырылған шешімді табуға қолданылатын алгоритм ретінде табуға болады. Дегенмен, оның тиімділігі мен тізбектер саны арасында экспоненциалды байланыс бар, яғни тізбектің ұзындығы өте үлкен болғанда, нәтиже алу үшін қажетті есептеу уақыты тым ұзақ болады. Жұлдыз тәрізді туралау арқылы шамамен оңтайландырылған шешім табу, ағаш тәрізді туралаудан жылдам. Бірақ, көптік тізбек ұқсастығының деңгейі қандай болмасын, жұлдыз тәрізді туралаудың уақыт күрделілігі тізбек санының квадратына және тізбектердің орташа ұзындығының квадратына пропорционалды. Көбінесе, көптік тізбек туралауда (MSA) тізбектердің ұзындығы өте көп болғандықтан, бұл да тиімсіз немесе тіпті қабылдауға болмайды. Сондықтан, уақыт күрделілігін сызықтық деңгейге дейін төмендету мәселесі ағаштарды туралаудың басты мәселелерінің бірі болып табылады.

Комбинациялық оңтайландыру стратегиясы

Комбинациялық оңтайландыру – MSA мәселелерін шешуге арналған тиімді стратегия. Комбинациялық оңтайландыру стратегиясының негізгі идеясы – берілген көптік тізбекті жұптық тізбектерге түрлендіру арқылы осы мәселені шешу. Түрлендіру стратегиясына байланысты, комбинациялық оңтайландыру стратегиясын ағашқа сәйкестендіру алгоритмі және жұлдызға сәйкестендіру алгоритмі деп бөлуге болады. Берілген көптік тізбек жиыны = {, , } үшін, n жапырақты түйіндері бар эволюциялық ағашты табу және осы эволюциялық ағаш пен жиын арасындағы бір-бірге сәйкестік қатынасын орнату қажет. Эволюциялық ағаштың ішкі түйіндеріне тізбектерді тағайындау арқылы әр қабырғаның жалпы балын есептейміз, ал барлық қабырғалардың балдарының қосындысы эволюциялық ағаштың балы болып табылады. Ағашқа сәйкестендірудің мақсаты – максималды балл беретін тізбекті табу және эволюциялық ағаш пен оның түйіндеріне тағайындалған тізбектерден соңғы сәйкес нәтиже алу. Жұлдызға сәйкестендіруді ағашқа сәйкестендірудің ерекше жағдайы деп қарастыруға болады. Жұлдызға сәйкестендіруді қолданғанда, эволюциялық ағашта тек бір ішкі түйін және n жапырақ түйіндері болады. Ішкі түйінге тағайындалған тізбек – өзекті тізбек деп аталады.

Ачкыч сөз ағашы теориясы және Aho-Corasick іздеу алгоритмі

Комбинаторлық оңтайландыру стратегиясы көптік тізбектерді жұптық тізбектерге түрлендіргенде, негізгі мәселе "Көптік тізбектерді реттеудің тиімділігін қалай жақсартуға болады" дегеннен "Жұптық тізбектерді реттеудің тиімділігін қалай жақсартуға болады" дегенге өзгереді. Кілт сөз ағашы теориясы және Aho-Corasick іздеу алгоритмі – жұптық тізбектерді реттеу мәселесін шешудің тиімді тәсілі. Кілт сөз ағашы теориясы мен Aho-Corasick іздеу алгоритмін біріктірудің мақсаты – осы мәселені шешу: берілген ұзын тізбек және қысқа тізбектер жиынтығы үшін ={,, ,} (z∈N, z>1), жиынтықтан құрылған кілт сөз ағашы арқылы барлық -тің орналасқан жерін табыңыз, содан кейін Aho-Corasick іздеу алгоритмімен осы кілт сөз ағашын қолданып іздеу жүргізіңіз. Осы әдісті қолданудың жалпы уақыт күрделілігі T тізбегіндегі барлық -тің орналасқан жерін табу үшін O(++), мұнда =|| (тізбектің ұзындығы), =Σ|| (барлық тізбектер ұзындықтарының қосындысы) және -тің T тізбегінде кездесу жиілігін білдіреді.

Кілт сөз ағашы теориясы

={,, , } (z∈N,z>1) жиынтығының кілт сөз ағашы – тамырлы ағаш, оның тамыры K арқылы белгіленеді, және бұл кілт сөз ағашы келесі шарттарды орындайды: (1): Әр қабырға бір әріпті нақты көрсетеді. (2): Бір түйінден таралған екі қабырға әртүрлі әріптерге сәйкес келуі керек. (3) Әр үлгі (i=1,2, ,z) бір түйінге сәйкес келеді, ал K тамырынан сол түйінге дейінгі жол дәл сол үлгінің тізімін құрайды. Бұл K ағашының әрбір жапырақ түйіні жиынның белгілі бір үлгілерінің біріне сәйкес келеді. Түбір түйінінен бастап түйінге дейінгі жолмен байланыстырылған тізімді деп белгілейміз, ал оның ұзындығы болады (сонымен қатар, бұл тізім жиынның бірінші үлгісінің префиксі болып табылады). Осы префиксті кілт сөз ағашындағы түбір түйінінен іздеуді бастаймыз, ал іздеу аяқталғандағы соңғы түйін болып белгіленеді. Мысалы, жиын ={картошка, татуировка, театр, басқа}, және кілт сөз ағашы оң жақта көрсетілген. Бұл мысалда, егер =potat болса, онда =|tat|=3, ал түйінінің сәтсіздік байланысы сол суретте көрсетілген. Сәтсіздік байланысын орнату – Aho Corasick алгоритмінің жұмыс жылдамдығын арттырудың кілті. Оны бастапқы полиномиалдық уақытты іздеу үшін сызықтық уақытқа дейін азайтуға болады. Сондықтан, кілт сөз ағашы теориясының мәні – кілт сөз ағашының барлық сәтсіздік байланыстарын (яғни, барлық -ты) сызықтық уақытта табу. Барлық түйіндердің түбірге дейінгі қашықтығы немесе одан кем болса, олардың әрқайсысының табуға болады деп есептейміз. Содан кейін түбірге дейінгі қашықтығы + 1 болатын түйіннің іздеуге болады. Оның басты түйіні болып табылады, ал және түйіндерімен бейнеленген әріп – (1): Егер түйінінің келесі әріпі болса, онда осы қабырғаның басқа түйіні болып белгіленеді, және = болады. (2): Егер және оның басты түйіндері арасындағы барлық қабырғаларды іздеу арқылы барлық әріптер табылмайтын болса, онда бұл тізімінің соңына қосылған тізім болады. Себебі бұл тізім түбір түйінінен басталатын тізімге сәйкес келеді (префикс сияқты), сондықтан кейін оны табуға болады немесе болмайды. Егер табылмайтын болса, бұл процесті немесе түбір түйіні табылғанға дейін жалғастыруға болады.

Aho-Corasick іздеу алгоритмі

Кілт сөз ағашындағы барлық қате байланыстарды анықтағаннан кейін, Aho Corasick іздеу алгоритмі (i=1,2,…,z) барлық тіркестердің орналасқан жерін сызықтық уақытта табу үшін қолданылады. Бұл қадамда уақыттың күрделігі O(m+k) болып табылады.

Басқа стратегиялар

МСА-да ДНК, РНК және белоктардың тізбектері жасалады, және олардың эволюциялық байланысы бар деп саналады. Эволюциялық отбасыларға жататын РНК, ДНК және тізбектердің карталарын салыстыру арқылы белоктардың сақталуын бағалауға болады, сондай-ақ эволюциялық тізбектер арасындағы айырмашылықтарды салыстырып, функционалдық ген домендерін анықтауға болады. Әдетте, көп тізбекті сәйкестендіру мәселелерін шешу үшін эвристикалық алгоритмдер мен ағаш тізбектестіру графиктері де қолданылады.

Эвристикалық алгоритм

Жалпы, эвристикалық алгоритмдер итеративтік стратегияға сүйенеді, яғни салыстыру әдісіне негізделген, итеративтік процесте көптік тізбектерді үйлестірудің нәтижелерін оңтайландыру. Дэви М. көптік тізбектерді үйлестіру мәселесін шешу үшін бөлшектер тобын оңтайландыру алгоритмін қолдануды ұсынды; Икеда Такахиро A* іздеу алгоритміне негізделген эвристикалық алгоритм ұсынды; Э. Бирни бірінші болып көптік тізбектерді үйлестіру мәселесін шешу үшін жасырын Марков моделін қолдануды ұсынды; ал көптеген басқа биологтар оны шешу үшін генетикалық алгоритмді пайдаланады. Бұл алгоритмдердің барлығы, әдетте, тұрақты және тізбектер санына төзімді, бірақ олардың да кемшіліктері бар. Мысалы, бөлшектер тобын оңтайландыру алгоритмінің нәтижелері тұрақсыз және оның тиімділігі кездейсоқ сандардың таңдалуына байланысты, A* іздеу алгоритмінің орындалу уақыты тым ұзақ, ал генетикалық алгоритм оңай локальды максимумға түсіп кетуі мүмкін.

Ағашқа сәйкестендіру графигі

Шамамен айтқанда, ағаштарды туралау графигі ағаштарды бір графикте үйлестіруді және содан кейін статистикалық мәліметтерді дамыту үшін оларды синтездеуді мақсат етеді. Биологияда ағаштарды сәйкестендіру графиктері (TAG) ағаштар жиынтығындағы эволюциялық қайшылықтарды немесе қабаттасқан таксондарды жою үшін қолданылады, содан кейін белгісіздік пен қайшылықты зерттеуге мүмкіндік береді. TAG, үйлестіру, синтездеу және талдау әдістерін біріктіру арқылы, кең ауқымды тізбектерден алынған қайшылы қатынастарды және ішінара қабаттасқан таксон жиынтықтарын шешуге бағытталған. Сонымен қатар, ағаштарды туралау графигі суперағаштарды құру үшін Берридің сәтті сынақтан өткен суперағаш және жабысу тәжірибелері үшін негізгі тәсіл болып табылады. Ағаштардан графикке түрлендіру олардың бастапқы ағаштарындағы ұқсас түйіндер мен қабырғаларды сақтайтындықтан, TAG бастапқы ағаштарды қосымша талдау үшін алуға мүмкіндік береді. TAG – бұл үйлестірілген ағаштар жиынтығының комбинациясы. Ол эволюциялық қатынастардағы қайшылы гипотезаларды сақтай алады және эволюциялық гипотезаларды дамыту үшін бастапқы ағаштарды синтездеуге қабілетті. Сондықтан, ол басқа үйлестіру мәселелерін шешудің негізгі әдісі болып табылады.