Sunteți pe pagina 1din 5

U.M.F. Gr. T.

Popa Iaşi – Facultatea de Bioinginerie Medicală

Laborator 3

Algoritmul BLAST
Programul BLAST a fost creat pentru căutarea secvenţelor în baze de date. Există mai
multe variante de BLAST în funcţie de secvenţele care se caută. Programul BLASTP compară
secvenţa cu cele din baza de date pentru proteine. Programul folosit pentru nucleotide se
numeşte BLASTN. Pentru căutarea unei proteine în baza de date pentru nucleotide se
foloseşte TBLASTN.
Toate aceste programe folosesc bazele de date cu secvenţe aflate pe servere, lucrul
care elimină nevoia de unor baze de date locale. Pentru căutările de rutină, baza de date nr
oferă o colecţie suficientă de date. Pentru căutarea doar în secvenţele modificate în ultimele
30 de zile se foloseşte baza de date month. Mai există şi baze de date folosite în cazuri
particulare, cum ar fi de exemplu compararea cu genomul unui organism cunoscut. Un
exemplu de căutare BLAST poate fi cel în care se caută o anumită secvenţă sau proteină care
determină apariţia unor boli. Căutarea acelei secvenţe poate duce la găsirea unor animale la
care ea există. În felul acesta se pot identifica organisme cu secvenţe asemănătoare de ADN.

Alinierea secvenţelor
Atunci când se dau două secvenţe de cele mai multe ori se doreşte realizarea
următoarelor operaţii:
- măsurarea similarităţii
- determinarea corespondenţelor

Orice corespondenţă care păstrează ordinea într-o secvenţă se numeşte aliniere. Se pot
introduce şi spaţii (-). De exemplu în cazul şirurilor ABCDE şi ACDEF o liniere convenabilă
poate fi:
A B C D E –
A – C D E F
Trebuie definite o serie de criterii pentru a alege cea mai bună aliniere. De exemplu
pentru secvenţele GCTGAACG şi CTATAATC pot exista următoarele alinieri:
- - - - - - - - G C T G A A C G
C T A T A A T C - - - - - - - -

G C T G A A C G
C T A T A A T C

G C T G A - A - - C G
- - C T A T A A T C -

G C T G - A A - C G
- C T A T A A T C -

Cei mai mulţi vor considera ultimele două din cele patru alinieri ca fiind cele mai
bune. Pentru a vedea care este cea mai bună aliniere se va calcula un scor pentru scoaterea în
evidenţă a celei mai bune alinieri. Scorul nu este întotdeauna unic. De multe ori, diferite

Bioinformatica L03 1
U.M.F. Gr. T. Popa Iaşi – Facultatea de Bioinginerie Medicală

alinieri pot da acelaşi scor. În plus, variaţii minore în modalitatea de calcul a scorului poate
duce la alegerea unei alinieri greşite ca fiind cea mai bună.

Graficul de puncte
Graficul de puncte (dot plot) este folosit pentru evidenţierea asemănărilor dintre două
secvenţe. Graficul este calculat pe baza unei matrice. Rândurile corespund unei secvenţe iar
coloanele celeilalte secvenţe. În cea mai simplă formă, căsuţele matricei sunt „umplute” dacă
valorile de pe linie şi coloană corespund, sau lăsate „goale” dacă valorile nu corespund. Mai
jos este redată matricea obţinută în cazul comparării următoarelor secvenţe:
NPYLKFKERVS
NPCLNFKERVS
N P Y L K F K E R V S
N N
P P
C
L L
N N
F F
K K K
E E
R R
V V
S S

În cazul existenţei unor zone care pot fi alineate în matrice vor apărea o serie de
diagonale paralele cu diagonala principală. În cazul secvenţelor palindrom (care se citesc la
fel în ambele direcţii) se vor observa şi diagonale perpendiculare pe diagonala principală.
Un exemplu real de grafic este dat în figura de mai jos. Se observă faptul că secvenţele
comparate sunt foarte asemănătoare la început.
Sequence 2
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
0

500

1000

1500

2000
Sequence 1

2500

3000

3500

4000

4500

5000

Bioinformatica L03 2
U.M.F. Gr. T. Popa Iaşi – Facultatea de Bioinginerie Medicală

Această metodă este foarte folositoare deoarece afişează grafic dacă sunt posibile
alinieri în cadrul secvenţelor. Per lângă existenţa alinierilor este scoasă în evidenţă şi locaţia
unde se poate face alinierea. În exemplul de mai sus se observa faptul că secvenţele sunt
alineate la început şi la sfârşit. Dezavantajul acestui grafic constă în faptul că nu oferă
informaţii în cazul secvenţelor între care nu există relaţii foarte apropiate.
De multe ori regiunile de similaritate sunt deplasate, apărând pe diagonale paralele cu
diagonala principală. Aceasta înseamnă că au apărut înserări sau ştergeri între segmentele
dintre regiunile similare. Pentru a reduce zgomotul unui grafic se aplică metode de filtrare. De
exemplu se poate specifica la construcţie că se vor afişa doar punctele pentru care pe o
lungime de m elemente s-au descoperit n potriviri (dacă nu se aplică metode de filtrare
graficul poate fi afişat cu foarte mult zgomot, lucru care poate îngreuna citirea lui).
Graficul de puncte afişează într-o singură figură similaritatea a două secvenţe, dar mai
furnizează şi informaţii despre calitatea dintre diferite alinieri.

Funcţii Matlab
seqdotplot
Creează un grafic cu puncte pentru două secvenţe.
Sintaxa:
seqdotplot(s1, s2)
seqdotplot(s1, s2, dimensiune_fereastră, număr)
Argumente:
s1, s2 – secvenţele de nucleotide sau aminoacizi pentru care se face reprezentarea.
Sunt două şiruri de caractere.
dimensiune_fereastră – dimensiunea ferestrei folosite la filtrarea rezultatelor
număr – numărul folosit la filtrarea datelor
Descriere:
Se va afişa diagrama cu puncte rezultată în urma comparării celor două secvenţe.
Filtrarea se va face în cazul în care se specifică dimensiune_fereastră şi număr – se vor afişa
doar zonele pentru care s-au găsit numărul specificat de potriviri în cadrul unei ferestre de
dimensiune dată.
Exemple:
Afişarea graficului pentru tabelul dat în laborator
>> a='NPYLKFKERVS';
>> b='NPCLNFKERVS';
>> seqdotplot(a, b)
Afişarea graficului pe care vor fi desenate numai punctele pentru care s-a detectat 3 potriviri
din 4
>> seqdotplot(a, b, 4, 3)

seqshoworfs
Afişează grafic ORF dintr-o secvenţă
Sintaxa:
seqshoworfs(secvenţa)
Argumente:
secvenţa – secvenţa în care se vor căuta ORF
Descriere:
Funcţia identifică şi scoate în evidenţă toate ORF şi returnează o structură cu toate
poziţiile de start şi de stop ale acestora.

Bioinformatica L03 3
U.M.F. Gr. T. Popa Iaşi – Facultatea de Bioinginerie Medicală

ORF (Open Reading Frame) – porţiune din secvenţa unei gene formată din mai multe baze
neîntrerupte de o secvenţă de stop. Secvenţa ar putea fi translată într-o proteină. Identificarea
ORF este prima evidenţă a faptului că secvenţa de ADN codează o proteină.
La identificarea ORF secvenţa este împărţită în trei cadre. Funcţia calculează ORF în funcţie
de aceasta.
Exemple:
Afişează ORF pentru datele din fişierul 'c:\ncbi\NC_001807.gbwithparts'.
>> h=genbankread('c:\ncbi\NC_001807.gbwithparts');
>> o=seqshoworfs(h);
Afişează poziţiile de start pentru toate ORF din cadrul 1:
>> o(1).Start
Afişează poziţia de start şi de stop pentru primul ORF din cadrul 2:
>> o(2).Start(1)
>> o(2).Stop(1)

n2aa
Converteşte o secvenţă de nucleotide într-o secvenţă de aminoacizi
Sintaxa:
nt2aa(necv_n)
Argumente:
secv_n – secvenţa de nucleotide care va fi transformată în secvenţa de aminoacizi.
Exemple:
>> h=genbankread('c:\ncbi\NC_001807.gbwithparts');
>> a=nt2aa(h.Sequence);
>> a
Convertirea genei ND1 din genomul uman
>> h=genbankread('c:\ncbi\NC_001807.gbwithparts');
>> nd1=h.Sequence(3308:4264);
>> a=nt2aa(nd1);

nwalign
Aliniază două secvenţe.
Sintaxa:
[scor, aliniere]=nwalign(s1, s2)
Argumente:
s1, s2 – secvenţele pentru care se calculează alinierea
scor – scorul obţinut în urma alinierii
aliniere – alinierea obţinută în urma rulării funcţiei
Exemple:
Alinierea a două secvenţe arbitrare:
[sc, a]=nwalign('VSPAGMASGYD','IPGKASYD');

showalignment
Afişează alinierea a două secvenţe.
Sintaxa:
showalignment(aliniere)
Argumente:
aliniere – variabilă în care este memorată alinierea a două secvenţe. Aceasta este
returnată de funcţia nwalign.
Exemple:

Bioinformatica L03 4
U.M.F. Gr. T. Popa Iaşi – Facultatea de Bioinginerie Medicală

Afişează grafic alinierea a două secvenţe:


>> showalignment(a);

Exemplu
Vizualizarea alinierii intre diferite specii de şoareci
1. Încărcarea datelor
>> m1=genbankread('c:\ncbi\NC_006914.gbwithparts');
>> m2=genbankread('c:\ncbi\NC_006915.gbwithparts');
2. Se poate analiza pentru întreg genomul. Însă datorită resurselor mari de calcul necesare,
este mai comod să se facă analiza numai pentru proteinele existente în acesta. Pentru aceasta,
se extrage secvenţa de proteine din genom
>> m1P=nt2aa(m1.Sequence);
>> m2P=nt2aa(m2.Sequence);
3. Afişarea grafică a alinierii
>> seqdotplot(m1P, m2P, 4, 3);
>> [s, a]=nwalign(m1P, m2P);
>> s
>> showalignment(a)

Vizualizarea alinierii pentru gena ND1 la oameni şi la şoareci


1. Încărcarea datelor
>> m1=genbankread('c:\ncbi\NC_006914.gbwithparts');
>> m2=genbankread('c:\ncbi\NC_006915.gbwithparts');
>> h=genbankread('c:\ncbi\NC_001807.gbwithparts');
2. Extragerea secvenţelor pentru gena ND1. În urma consultării fişierelor în format GenBank
a fost extrasă poziţionarea genei.
>> m1ND1=m1.Sequence(2751:3707);
>> m2ND1=m2.Sequence(2752:3708);
>> hND1=h.Sequence(3308:4264);
2. Vizualizarea alinierii folosind metoda grafică
>> seqdotplot(m1ND1, m2ND1, 11, 7);
>> seqdotplot(m1ND1, hND1, 11, 7);
3. Calcularea scorului de aliniere şi afişarea grafică a alinierii
>> [s, a]=nwalign(m1ND1, hND1);
>> s
>> showalignment(a);
>> [s, a]=nwalign(m1ND1, m2ND1);
>> s
>> showalignment(a);

Probleme:
1. La ultimul exemplu, calculaţi alinierea transformând din nucleotide în aminoacizi.
2. Identificaţi o genă la alegere care există în două fişiere GenBank şi calculaţi scorul de
aliniere.

Bioinformatica L03 5

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