250 likes | 380 Views
UNIVERSITATEA POLITEHNICA TIMIŞOARA. MASTER SIIS Sisteme Informatice în Îngrijirea Sănătății. www.medinfo.umft.ro/dim / bioinformatica.htm. BIOINFORMATICA. Prof Dr George I Mihala ş UMF Victor Babeş. CURSUL 9. ALINIEREA MULTIPLĂ MSA “MULTIPLE SEQUENCE ALIGNEMENT”.
E N D
UNIVERSITATEAPOLITEHNICA TIMIŞOARA MASTER SIIS Sisteme Informatice în Îngrijirea Sănătății
BIOINFORMATICA Prof Dr George I Mihalaş UMF Victor Babeş
ALINIEREA MULTIPLĂ MSA “MULTIPLE SEQUENCE ALIGNEMENT”
Scop şi Motivaţie pentru MSA PROBLEMA: Fiind date: - un set de mai mult de 2 secvenţe - o metodă de scor pentru o aliniere, să se determine corespondenţele între secvenţe astfel încât scorul de aliniere să fie maxim.
Motivaţie: • Stabilirea datelor de intrare pentru analiza filogenetică • Determinarea istoriei evolutive a unui set de secvenţe (în ce punct au apărut anumite mutaţii?) • Descoperirea unui “motiv” comun într-un set de secvenţe (ex secvenţe de ADN care leagă aceeaşi proteină) • Caracterizarea unui set de secvenţe (ex o familie de proteine) • Construcţia profilelor pentru căutarea bazelor de date de secvenţe (PSI-BLAST)
Ex: Aliniere Multiplă a Domeniului SH3 • Domeniu scurt (60 AA) • Prezent în enzime (kinaze, fosfolipaze etc) • Cca 300 în genomul uman
Reprezentări • Pe coloane • Cu simboluri
Scoruri pentru MSA • Ipoteză: coloanele individuale ale unei alinieri sunt independente • Formulă: • Metode: • Suma perechilor (SP) • Entropia minima
Suma perechilor • Calculează suma scorurilor din alinierea perechilor
Exemplu • 5 secvențe ADN și matricea de substituție • Calculul sumei S(3) Notăm: S12 = s(m31, m32) S(3) = S12 + S13 + S14 + S15 + + S23 + S24 + S25 + + S34 + S35 + + S45 = = s(g,a) + s(g,a) + s(g,-) + s(g,c) + + s(a,a) + s(a,-) + s(a,c) + + s(a,-) + s(a,c) + + s(-,c) = = (-1 -1 -3 -2) + (+4 -3 -2) + (-3 -2) + (-3) = -7 -1 -5 -3 = -16
Entropia Minimă (i) • Ideea de bază: încercarea de minimizare a entropiei fiecărei coloane • [sunt “bune” coloanele ce pot fi comunicate cu puţini biţi] • Teoria informaţiei: codul optim foloseşte- log2 pbiţi pentru a codifica un mesaj cu probabilitatea p.
Entropia Minimă (ii) • Mesajul este considerat pe coloană • Entropia unei coloane este:
Programare dinamică • Generalizare a alinierii a două secvenţe • Se consideră o matrice de dimensiune “k” pt k secvenţe • Fiecare element reprezintă scorul pentru k secvenţe (în loc de două) • Pentru k secvenţe de lungime n, complexitatea spaţiului este O(nk)
Metode Euristice de Aliniere • Alinierea Progresivă: construcţia unei succesiuni de alinieri perechi: • Abordare “stea” • Abordare “arbore” (CLUSTALW) • Rafinare iterativă – dat fiind o aliniere multiplă: • Se elimină o secvenţă care se realiniază la profilul altor secvenţe • Se repetă până la convergenţă
Matriceacoeficienților în alinierea progresivă • Pași în Alinierea Progresivă • se aliniază secv. X1 cu X2 (notat Y) profilul Xp2 • se aliniază profilul Xp2 cu X3 (notat Y) profilul Xp3 • se aliniază profilul Xp3 cu X4 (notat Y) profilul Xp4 … • OBS: matricea de substituție conține și“conservarea gap-urilor” • Ex: fie secvențele c g g a – t g • t g a - - t t • a c g t -
Modelul “stea” • Se dau k secvenţe a fi aliniate: X1, …, Xk • Se alege o secvenţă Xc ca şi “centru” • Pentru fiecare Xi ≠ Xc se determină între Xi şi Xc o aliniere optimală • Se reunesc alinierile perechi • Rezultatul – alinierea multiplă rezultă din agregare • Alegerea centrului: • Se încearcă fiecare secvenţă ca centru, se ia cea mai bună aliniere multiplă • Se calculează toate alinierile perechi şi se alege şirul Xc care maximizează
Modelul “arbore” • Ideea de bază: se organizează alinierea folosind un “arbore ghid” (guide tree) • Frunzele reprezintă secvenţele • Nodurile interne reprezintă alinieri • Alinierile se determină pornind de la bază în sus • Alinierea multiplă rezultă la rădăcina arborelui • O variantă uzuală: CLUSTALW (Thompson, 1994)
Alinierea Progresivă în CLUSTALW • În funcţie de nodul intern din arbore, putem avea de aliniat: • O secvenţă cu o secvenţă • O secvenţă cu un profil (aliniere parţială) • Un profil cu un profil • În toate cazurile putem folosi DP – Programarea Dinamică • Pentru cazul profilelor se recomanda scorul SP