Sunteți pe pagina 1din 3

Laborator 5

Aliniere globală şi locală: Smith Waterman si Needleman-Wunch

Alinierea globală Needleman-Wunch

Fie două secvenţe x şi y. Se construieşte o matrice F care are coloanele etichetate cu


caracterele din x şi liniile cu caracterele din y. Aceasta se completează din colţul stânga-sus
spre colţul dreapta-jos, fiecare locaţie F(i, j) din matrice specificând scorul celei mai bune
alinieri până la xi şi yj.

Algoritmul de completare a matricei: 𝐹(0,0) = 0

𝐹(𝑖 − 1, 𝑗 − 1) + 𝑠(𝑥𝑖 , 𝑦𝑗 ) 𝑝𝑜𝑡𝑟𝑖𝑣𝑖𝑟𝑒


𝐹(𝑖, 𝑗) = 𝑚𝑎𝑥 { 𝐹(𝑖 − 1, 𝑗) − 𝑑 𝑠𝑡𝑒𝑟𝑔𝑒𝑟𝑒
𝐹(𝑖, 𝑗 − 1) − 𝑑 𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑒

unde s(xi, yj) este scorul alinierii lui xi cu yj (obţinut, de exemplu, dintr-o matrice de
substituţie), iar d este penalizarea pentru gap.

Evident, F(0, j) = -jd, F(i, 0) = -id.

Scorul celei mai bune alinieri se găseşte în celula din colţul dreapta-jos al matricei.
Identificarea alinierii propriu-zise se face printr-un procedeu de traceback (se urmăreşte,
pornind din colţul dreapta-jos, înapoi, drumul parcurs pentru a obţine acest scor, până la
atingerea colţului din stânga-sus.

Alinierea locală Smith Waterman


Alinierea locală are ca scop găsirea celei mai bune alinieri între subsecvenţe din x şi y.

Algoritmul este asemănător celui de mai sus, cu următoarele diferenţe:

 În afară de potrivire, ştergere şi inserţie, o altă opţiune este începerea unei noi alinieri
locale, cu scor iniţial 0;
 Alinierea locală se poate termina oriunde în matrice, scorul ei fiind cel mai mare scor
dintr-o celulă a matricei; pentru identificarea alinierii, se face traceback din acea celulă
până când se întâlneşte o celulă cu scor 0.

Algoritmul de completare a matricei: 𝐹(0,0) = 0,

Aplicație:

1. Fie secvențele v= SEND și w= AND. Considerăm că scorul pentru potrivire este +1, pentru
nepotrivire -1, iar pentru inserție și ștergere -1, gap open penalty d=-5, folosind matricea
BLOSUM62.

a. Realizați tabela de programare dinamică pentru alinierea globală. Care este scorul
optim? Care este alinierea corespunzătoare?
2. Fie secvențele v=TACGGGTAT și w=GGACGTACG. Considerăm că scorul pentru
potrivire este +1, pentru nepotrivire -1, iar pentru inserție și ștergere -1, gap d=8, folosind
matricea BLOSUM62.

b. Realizați tabela de programare dinamică pentru alinierea globală. Care este scorul
optim? Care este alinierea corespunzătoare?
c. Similar pentru aliniera locală.

3. Fie secvențele v=HEAGAWGHEE și w=PAWHEAE. Considerăm că scorul pentru


potrivire este +1, pentru nepotrivire -1, iar pentru inserție și ștergere -1, gap d=8, folosind
matricea BLOSUM50.

a. Realizați tabela de programare dinamică pentru alinierea locală. Care este scorul
optim? Care este alinierea corespunzătoare?

4. Fie secvențele v= CTCGCAGC și w= CATTCAC. Considerăm că scorul pentru potrivire


este +10, pentru nepotrivire -2, iar pentru inserție și ștergere -5, folosind matricea
BLOSUM62.

a. Realizați tabela de programare dinamică pentru alinierea globală. Care este scorul
optim? Care este alinierea corespunzătoare?
b. Similar pentru aliniera locală.

Solutii Matlab

v = 'VSPAGMASGYD';
w = 'IPGKASYD';
% scoringmatrix poate fi 'BLOSUM62', 'BLOSUM30' increasing by 5 up to
'BLOSUM90'
% 'BLOSUM100', 'PAM10' increasing by 10 up to 'PAM500', 'DAYHOFF', 'GONNET'
% AlphabetValue - Character vector or string specifying the type of
sequence.
% Choices are 'AA' (default, 'BLOSUM50') or 'NT' ('NUC44').
d = 5;
[Score, Alignment] = nwalign(v, w, 'scoringmatrix','BLOSUM62', 'gapopen',5,
'showscore', 'true')

[Score1, Alignment1] = nwalign(v, w, 'scoringmatrix','pam250', 'gapopen',5)

[Score2, Alignment3] = nwalign(v, w, 'scoringmatrix','BLOSUM62',


'gapopen',10)
Observatie

Proprietatea 'showscore', are valoarea implicita ‘false’ Daca setam


valoarea aceasta la 'true', obtinem implicit un ‘Scoring space and winning
path’

S-ar putea să vă placă și