You are on page 1of 3

Biostatistica si Bioinformatica.

Lab 5: Alinierea multipla a secventelor


______________________________________________________________________________
Alinierea multipla se refera la alinierea globala a mai multor secvente cu scopul detectarii unor
regiuni conservate de-a lungul evolutiei, identificarii unor grupari de proteine similare sau
construirii arborilor filogenetici.
Desi din punct de vedere teoretic tehnica programarii dinamice (care sta la baza algoritmului
Needleman-Wunsch) poate fi extinsa la cazul alinierii a mai mult de doua secvente, din punct de
vedere practic tehnica nu este eficienta in cazul a mai mult de 3 secvente. In cazul mai multor
secvente se prefera tehnici aproximative. Dintre acestea cele mai frecvent folosite sunt cele de tip
progresiv (de exemplu ClustalW sau TCoffee). Ideea principala a acestor algoritmi este de a
parcurge urmatoarele etape:

Se realizeaza alinierea tuturor perechilor de secvente (folosind un algoritm de aliniere


globala de exemplu algoritmul Needleman-Wunsch)
Se construieste o matrice de similaritate: elementul de pe linia i coloana j este raportul
dintre numarul de potriviri din alinierea secventelor i si j si lungimea alinierii. Cu cat
secventele i si j sunt mai similare cu atat va fi mai mare valoarea corespunzatoare din
matrice
Se construieste un arbore de ghidare intr-o maniera similara construirii dendrogramelor
pe baza algoritmilor ierarhici aglomerativi (vezi lab 6)
Se realizeaza alinierea succesiva a cate doua secvente (fie secvente initiale fie secvente
de tip consens obtinute printr-o aliniere anterioara) in ordinea sugerata de arborele de
ghidare (se aliniaza prima data cele mai similare secvente)

1. Determinarea alinierii pentru mai multe secvente


Functia Matlab care permite realizarea alinierii mai multor secvente este multialign. Functia se
apeleaza pentru un set de secvente specificate ca vector de celule (lista) si returneaza alinierea sub
forma unei matrici avand atatea linii cate secvente au fost aliniate si atatea coloane cat este
lungimea alinierii. Un exemplu simplu de apel al functiei multialign este:
aliniere=multialign({'AGTCAATGCA','TTGAAG','GGTCCAGCTCGA'})
Functia are o serie de parametri optionali cum ar fi:
WeightsValue - permite specificarea tipului de ponderi utilizate in calculul scorului
alinierii. Parametrul poate avea doua valori: THG (valoarea implicita) respectiv equal.
ScoringMatrixValue matricea de scor folosita pentru alinierea perechilor. Se pot folosi
matricile specifice de la nwalign. Valorile implicite sunt reprezentate de seria de matrici
de la BLOSUM80 la BLOSUM30 (pentru secvente de aminoacizi) respectiv NUC44
(pentru secvente de nucleotide).
GapOpenValue valoare scalara sau functie prin care se specifica penalizarea initierii
unui gap
ExtendGapValue valoare scalara sau functie prin care se specifica penalizarea
extinderii gapului.

2. Vizualizarea unui alinieri multiple


Pentru vizualizarea unei alinieri pe langa functia showalignment se poate folosi si o interfata
grafica care se apeleaza cu multialignviewer.

Exercitiul 1.
Pentru un set de secvente sa se determine alinierile tuturor perechilor si sa se identifice perechea
pentru care alinierea este maxima.
Indicatie. Un exemplu de functie care realizeaza alinierea tuturor perechilor de secvente dintr-un
set este:
function
[matriceScor,matriceAlinieri,perecheMax,scorMax]=alinierePerechi(secven
te)
n=size(secvente,2);
iMax=0; jMax=0; scorMax=-1000;
for i=1:n
for j=i+1:n
[scor,aliniere]=nwalign(secvente{i},secvente{j},'Alphabet','nt');
matriceScor{i,j}=scor;
matriceAlinieri{i,j}=aliniere;
if (scor>scorMax) && (i~=j)
iMax=i;
jMax=j;
scorMax=scor;
end
end
end
perecheMax={iMax,jMax};
end

Exercitiul 2. Sa se incarce informatiile despre cateva specii de primate disponibile in Matlab


folosind comanda load primatesdemodata. Efectul acestei comenzi este ca in variabila primates
se vor incarca pentru fiecare dintre 12 specii de primate informatii structurate in doua campuri:
un antet (Header) in care se indica numele speciei si secventa ADN corespunzatoare (Sequence).
a) Sa se alinieze secventele si sa se vizualizeze alinierea (Indicatie: se foloseste multialign si
multialignviewer)
b) Sa se adapteze functia alinierePerechi din exercitiul anterior pentru a identifica speciile
cu similaritatea cea mai mare

3.Utilizarea altor instrumente pentru alinierea globala


La ora actuala exista o serie de instrumente software cu acces liber care permit alinerea globala a
mai multor secvente bazate pe diferite variante de algoritmi (ClustalW, MAFFT, MUSCLE, TCOFFEE etc.) .

Exercitiul 3. Sa se realizeze alinierea celor 3 secvente de la Sect. 1 folosind varianta de


ClustalW accesibila la http://www.ch.embnet.org/software/ClustalW.html

4. Analiza similaritatii dintre secvente folosind algoritmi de tip BLAST


Algoritmul BLAST sta la baza majoritatii sistemelor de interogare a bazelor de date biologice.
Exista variante adaptate pentru diferite tipuri de secvente (nucleotide sau aminoacizi). Datele de
intrare pentru un algoritm de tip BLAST sunt:
Secventa de interogat
Baza de date sau setul de secvente unde se realizeaza cautarea
Parametrii specifici algoritmului:
o lungimea sablonului de start (implicit: 11 pentru secvente de nucleotide si 3
pentru secvente de aminoacizi)
o penalizarea pentru initierea unui gap (implicit: 5)
o penalizarea pentru extinderea unui gap (implicit: 2)
o pragul pentru E-value (sub care se considera ca similaritatea e semnificativa)
o scoruri pentru potrivire/nepotrivire (in cazul secventelor ADN) respectiv
matricea de scor (in cazul secventelor de aminoacizi)
In marea majoritate a implementarilor se returneaza alinierile pentru care valoarea indicatorului E
este mai mica decat pragul specificat. Pentru fiecare aliniere se furnizeaza valorile pentru: Evalue si bit-Score. Potrivirea este cu atat mai semnificativa cu cat E-value este mai mica (in
general valori mai mici decat 0.01 indica o potrivire semnificativa) si bit-Score este mai mare.
Exercitiul 4. Utilizand varianta adecvata de BLAST de la http://blast.ncbi.nlm.nih.gov/Blast.cgi
sa se caute in genomul uman (human) secventa aflata in fisierul mitochondrion.fa. Sa se realizeze
acelasi lucru pentru genomul soarecelui (mouse) si pentru cel al musculitei de otet (drosophila
melanogaster). Sa se analizeze influenta lungimii cuvantului de start prin setarea optiunii W (de
exemplu W 15).
Tema. Sa se implementeze o varianta simplificata de algoritm euristic de cautare caracterizata
prin:
primeste ca date de intrare doua secvente de aminoacizi (una scurta q max 20
aminoacizi- si una mai lunga s cca 200 aminoacizi); secventa scurta reprezinta sablonul
de interogare
pentru fiecare subsecventa de cate k=3 aminoacizi din secventa de interogare q se
identifica prezentele (potriviri exacte) in secventa de referinta s si pentru fiecare dintre
aceste prezente se realizeaza extinderea (in stanga, in dreapta, alternativ in ambele
directii) cat timp scorul potrivirii este mai mare decat un prag T>0 (pentru calculul
scorului se utilizeaza matricea Blosum 62). Pragul T poate fi controlat de catre utilizator.
dintre toate extinderile cu scor mai mare decat T se afiseaza cele cu scorul maxim
Obs. Extinderile nu contin gap-uri

You might also like