Sunteți pe pagina 1din 8

U.M.F. Gr. T.

Popa Iaşi – Facultatea de Bioinginerie Medicală

Laborator 2

Baze de Date
Calculatoarele folosesc la patru funcţii independente ale bioinformaticii: comunicare,
calcul, control şi păstrarea datelor. Atunci când timpul este foarte important, dispozitivele
controlate de calculator sunt net superioare operaţiilor manuale. Ca dispozitiv de comunicaţie
calculatoarele ajută cercetătorii la distribuirea rapidă a articolelor din jurnale şi publicarea
rapidă a rezultatelor obţinute în urma cercetării. Până la mijlocul anilor 90 secvenţele de
nucleotide nou descoperite erau publicate în jurnale tipărite, cercetătorii interesaţi de
explorare trebuind să le introducă pe calculator de mână sau să folosească sisteme de
recunoaştere a caracterelor. În ziua de azi, nimeni nu mai percepe necesitatea consultării unei
secvenţe tipărite, din cauza existenţei a numeroase baze de date publice sau comerciale. Mai
departe, dacă un articol nu este publicat pe internet şi inclus in lista unora din bazele de date
(cum ar fi de exemplu PubMed), are foarte puţine şanse de a fi citit .
Ca mijloace de calcul calculatoarele sunt utilizate începând de la căutarea secvenţelor
de proteine până la vizualizări complexe 3D ale interacţiunilor dintre proteine.
Toate activităţile realizate de calculatoare se învârt în jurul bazelor de date. De
exemplu comunicaţia şi operaţiile de calcul depind de datele memorate. Bazele de date
memorează datele şi permit realizarea de operaţii asupra acestora. În tabelul de mai jos sunt
redate mai multe baze de date care conţin informaţii de mai multe tipuri.

Informaţia memorată Baza de Date Observaţii


GenBank NCBI
DDBJ DNA DataBank of Japan
EMBL European Molecular Biologz Laboratory
Secvenţe de nucleotide
MGDB Mouse Genome Database
GSX Mouse Gene Expression Database
NDB Nucleic Acid database
Swiss Institute for Bioinformatics and
SWISS-PROT
European Bioinformatics Institute
Secvenţe de proteine TrEMBL Annotated supplement to SWISS+PROT
TrEMBLnew Weekly, pre-processed update to TrEMBL
PIR Protein Information Resource
PDB Protein DataBank
MMDB Molecular Modeling database
Structuri 3D
Cambridge
Pentru molecule mici
Structural Database
Enzime şi compuşi LIGAND Compuşi chimici şi reacţii
PubMed Conţine şi MedLine
Literatură Biomedicală
MedLine Literatura medicală
Catalog de gene GENES KEGG Genes Database

În afara bazelor de date publice există şi baze de date private, create şi menţinute de
companii care urmăresc realizarea de profit.

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

Formate de fişiere folosite

FASTA
Este un fişier text.
O secvenţă în formatul FASTA începe cu o linie care conţine descrierea secvenţei
urmată de mai multe linii care conţin secvenţa. Linia de descriere se distinge de celelalte
datorită faptului că începe cu caracterul „mai mare” (>) pe prima coloană. Se recomandă ca
toate liniile de text să nu fie mai lungi de 80 caractere.
Linia care descrie secvenţa va fi referită mai departe ca header.
Exemplu:
>MyProtein
MAVTQTAQACDLVIFGAKGDLARRKLLPSLYQLEKAGQLNPDTRIIGVGRADWDKAAYTK
VVREALETFMKETIDEGLWDTLSARLDFCNLDVNDTAAFSRLGAMLDQKNRITINYFAMP
PSTFGAICKGLGEAKLNAKPARVVMEKPLGTSLATSQEINDQVGEYFEECQVYRIDHYLG
KETVLNLLALRFANSLFVNNWDNRTIDHVEITV
Secvenţa conţine codurile acizilor nucleici:
- există numai litere mari
- semnul minus (-) desemnează o zonă nedeterminată de lungime oarecare
- * este folosit pentru stop
Codurile pentru acizii nucleici sunt:
A --> adenosine M --> A C (amino)
C --> cytidine S --> G C (strong)
G --> guanine W --> A T (weak)
T --> thymidine B --> G T C
U --> uridine D --> G A T
R --> G A (purine) H --> A C T
Y --> T C (pyrimidine) V --> G C A
K --> G T (keto) N --> A G C T (any)
Fişierele în acest format downloadate de pe NCBI au extensia fasta.

GenBank
Este un fişier text.
Conţine informaţii complete despre genomul conţinut.
Fişierele downloadate de pe NCBI au extensia gbwithparts

GenPept
Este fişier text.
Fişierele downloadate de pe NCBI au extensia gpwithparts

Funcţii MATLAB
Bioinformatics Toolbox este o extensia a MATLAB care oferă software pentru analiza
genomului şi a proteinelor, oferind un set de unelte de calcul pentru a construi aplicaţii utile în
descoperirea medicamentelor, inginerie genetica şi cercetare. Funcţiile oferite realizează
următoarele:
- conectarea la baze de date accesibile prin Web
- citirea şi conversia intre diferite formate de stocare a datelor
- determinarea caracteristicilor statistice ale datelor
- manipularea şi alinierea secvenţelor

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

- modelarea de secvenţe folosind Hidden Markov Model (HMM)


- citirea, normalizarea şi vizualizarea datelor
- interfaţarea cu alte pachete de software bioinformatic (BioPearl and BioJava)

Funcţii folosite la citirea datelor

fastaread
Citeşte datele dintr-un fişier în format FASTA.
Sintaxa:
data=fastaread(‘nume_fisier’)
[header, sequence]= fastaread(‘nume_fisier’)
Argumente
nume_fisier – numele unui fişier care conţine date memorate în formatul FASTA
data – o structura in care se vor depune datele
Descriere
Funcţia citeste datele într-o structură cu următoarele câmpuri:
header
sequence
Un fişier în format FASTA începe cu o paranteză unghiulară şi o linie folosită la
descrierea conţinutului. După descriere urmează o serie de linii de maxim 80 caractere care
conţin codurile pentru aminoacizii care compun nucleotida.
data=fastaread(‘nume_fişier’) citeşte fişierul şi depune datele citite într-o structură.
data.Header conţine informaţiile despre datele conţinute în secvenţă, iar data.Sequence
conţine secvenţa de aminoacizi.
[header, sequence]=fastaread(‘nume_fişier’) citeşte datele şi le depune în două
variabile separate.
Exemple:
Ex 1: citirea datelor într-o structura
>> genome=fastaread('c:\ncbi\NC_007085.fasta');
>> genome
>> genome.Header
>> genome.Sequence
Observaţie: afişarea secvenţelor citite din fişiere mare poate dura foarte mult.
Ex 2: citirea datelor în două variabile
>> [header, seq]=fastaread('c:\ncbi\NC_007085.fasta');
>> header
>> seq

fastawrite
Salvează datele într-un fişier folosind formatul FASTA.
Sintaxa:
fastawrite(‘nume_fişier’, data)
fastawrite(‘nume_fişier’, header, sequence)
Argumente:
nume_fişier – numele fişierului în care se vor salva datele
data – este o structură cu datele care trebuiesc salvate
header – informaţii despre secvenţă
sequence – secvenţa care se doreşte a fi salvată

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

Descriere:
fastawrite(‘nume_fişier’, data) scrie conţinutul structurii data într-un fişier FASTA.
fastawrite(‘nume_fişier’, header, sequence) scrie datele conţinute în header şi
sequence într-un fişier FASTA.
Exemple:
Pentru salvarea unui fişier FASTA se creează mai întâi variabilele care conţin headerul
fişierului şi datele din acesta
>> header='header pentru fisierul care va fi salvat';
>> seq='AAACCACAACAACC';
>> fastawrite('c:\temp\testsavlare.txt', header, seq);

genbankread
Citeste un fişier în format GenBank
Sintaxa:
data=genbankread(’nume_fişier’)
Argumente:
nume_fişier – numele fişierului care conţine datele
data – structura cu datele citite din fişier
Descriere:
Funcţia genbankread citeşte datele dintr-un fişier în formar GenBank şi într-o
structură. La fişiere foarte mari citirea poate dura foarte mult. Pentru aceasta, se recomandă ca
după citirea fişierului, datele să fie salvate sub alt format pentru a putea fi citite mai rapid la
utilizări ulterioare (de ex datele in format GenBank pentru NC_007084 citirea a durat 1h si 14
min pe un calculator PC cu procesor PentiumIV 2.4MHz).
Exemple:
>> m=genbankread('c:\ncbi\NC_006914.gbwithparts');
>> m
>> m.Source

genpeptread
Citeşte un fişier în format GenPept
Sintaxa:
pdata=genpeptread(‘nume_fişier’)
Argumente:
‘nume_fişier’ – numele fişierului din care se face citirea.
Descriere:
Citeşte datele dintr-un fişier în format GenPept. Funcţia citeşte secvenţa de date din
fişier şi o depune într-o structură ale cărei câmpuri sunt identice cu cuvintele cheie din fişier.
Exemple:
>> pdata=genpeptread('c:\ncbi\Q8K1F9.gpwithparts')
>> aacount(pdata.Sequence, 'chart', 'pie')

Funcţii folosite la realizarea statisticilor


aacount
Numără aminoacizii din secvenţă
Sintaxa:

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

amino_count=aacount(sequence)
aacount(sequence, ‘chart’, ChartValue)
Argumente:
sequence – secvenţa de aminoacizi.
‘chart’ – specifică faptul că numărul de aminoacizi se va reprezenta grafic
ChartValue – specifică tipul de grafic pentru reprezentare. Valorile valide aici sunt:
‘pie’ şi ‘bar’
Descriere:
Funcţia calculează tipul şi numărul secvnţelor de aminoacizi şi le returnează într-o
structură ale cărei câmpuri poartă denumirile celor 20 aminoacizi standard(A C D E F G H K
L M N P Q R S T U V W Y).
Dacă secvenţa conţine alte caractere (B, Z, X), caracterul de stop (*), sau de spaţiu (-),
la structură se mai adaugă un câmp cu numele Others şi este afişat un mesaj de avertisment.
Exemple:
>> m=genbankread('c:\ncbi\NC_006914.gbwithparts');
>> amino=aacount(m.Sequence);
>> amino
>> amino=aacount(m.Sequence, 'chart', 'pie');
>> amino=aacount(m.Sequence, 'chart', 'bar');
>> amino

basecount
Numără nucleotidele din secvenţă.
Sintaxa:
n=basecount(sequence)
basecount(sequence, ‘chart’, ChartValue)
Argumente:
sequence – secvenţa de nucleotide. Este o înşiruire a caracterelor A, T, U, C.
Caracterele U sunt numărate împreună T
chart – specifică faptul că rezultatul numărătorii se va reprezenta grafic
ChartValue – tipul de grafic folosit la reprezentarea numărătorii. Valorile posibile sunt
‘pie’ sau ‘bar’
Descriere:
Funcţia numără nucleotidele de bază şi copie rezultatul într-o structură care conţine
câmpurile A, C, G, T. Pentru secvenţele care conţin U, numărul de U-uri este adunat la
numărul de T-uri. Dacă secvenţa conţine caractere ambigue (R, Y, K, M, S, W, B, D, H, V, N)
sau goluri indicate de linie (-) structura va conţine un câmp numit others şi se va afişa un
mesaj de avertisment.
Exemple:
>> n=basecount(m.Sequence);
>> n
>> n=basecount(m.Sequence, 'chart', 'pie');
>> n=basecount(m.Sequence, 'chart', 'bar');

codoncount
calculează numărul de codoni dintr-o secvenţă
Sintaxa:
codnr=codoncount(sequence)

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

codoncount(sequence, ‘Figure’, true)


codoncount(sequence, ‘Figure’, false)
Argumente:
sequence – secvenţa pentru numărat
Descriere:
Funcţia numără câţi codoni există în secvenţă şi returnează o structură care conţine
câmpurile AAA, AAC, ..., TTG, TTT. Secvenţele care deţin codoni care au în componenţă
caracterul U sunt numărate în cadrul celor cu T. Dacă secvenţa conţine caractere ambigue (R
Y K M S W B D H V N) sau spaţii (-) structura va avea un membru numit others şi va afişa
un mesaj de avertisment. Dacă secvenţa conţine nucleotide nedefinite (E F H I J L O P Q X Z)
funcţia le va ignora şi va afişa un mesaj de avertisment. codoncount(sequence, ‘Figure’, true)
va reprezenta grafic numărul codonilor secvenţei respective.
codon - Secvenţă de trei baze în ADN şi ARN care specifică un singur aminoacid.
Exemple:
>> c=codoncount(m.Sequence);
>> c
>> c=codoncount(m.Sequence, 'Figure', true);

ntdensity
Afisează grafic densitatea de nucleotide pe parcursul secvenţei
Sintaxa:
ntdensity(sequence)
ntdensity(sequence, ‘Window’, windowSize)
Argumente:
sequence – secvenţa pentru care se face afişarea
‘Window’ – la calcularea densităţii se foloseşte o fereastra cu dimensiunea specificată
de windowSize.
Descriere:
Afişează pe un grafic densitatea de nucleotide din secvenţa dată ca parametru.
Returnează o structură matlab cu densitatea nucleotidelor A, C, G, şi T.
Exemple:
>> ntdensity(m.Sequence);
>> ntdensity(m.Sequence, 'Window', 1000);
>> ntdensity(m.Sequence, 'Window', 100);

seqshowwords
Afişează grafic cuvintele dintr-o secvenţă
Sintaxa:
seqshowwords(seq, word)
Argumente:
seq – secvenţa folosită la căutare
word – cuvântul care se caută
Descriere:
Afişează secvenţa cu evidenţierea tuturor părţilor identice cu cuvântul dat. Funcţia
returnează o structură cu poziţiile de start şi stop pentru toate apariţiile cuvântului. Dacă în
cuvânt există nucleotide sau aminoacizi care pot reprezenta mai multe simboluri (caractere
ambigue) atunci se vor evidenţia toate potrivirile. De exemplu, simbolul R este folosit la

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

reprezentarea G sau A. Căutarea cuvânrului ‘ART’ va evidenţia toate apariţiile pentru ‘AAT’
şi ‘AGT’.
>> n=seqshowwords(m.Sequence, 'AAATTT');
>> n
>> n.Start

seqwordcount
Calculează numărul de apariţii pentru un anume cuvânt
Sintaxa:
seqwordcount(seq, word)
Argumente:
seq – secvenţa de aminoacizi sau nucleotide în care se caută
word – cuvântul care se caută
Descriere:
Funcţia numără de câte ori cuvântul dat a fost găsit în secvenţă. Regulile de căutare
sunt la fel ca la seqshowwords.
Exemple:
>> cnt=seqwordcount(m.Sequence, 'AAA');
>> cnt

Salvarea şi încărcarea variabilelor


Datorită faptului că încărcarea fişierelor mari în format GenBank durează foarte mult,
este necesară salvarea acestora într-un format care se încarcă mai rapid. Cea mai simplă
metodă este salvarea variabilelor în care sunt depuse datele în fişiere mat. Atunci când se
doreşte ca datele să fie încărcate din nou se va încărca fişierul mat. Astfel timpul se reduce
foarte mult (citirea unui fişier GenBank de 6-7 Mb durează peste o oră; citirea aceloraşi date
dintr-un fişier mat durează câteva secunde).

save
save ‘nume_fişier’ – salvează toate variabilele în fişierul specificat. Dacă la numele de fişier
nu este adăugată nici o extensie se va pune extensia mat
save ‘nume_fişier’ lista_variable – salvează în fişier numai variabilele specificate.

Exemple:
Salvează toate variabilele din mediul de lucru în fişierul c:\lucru\variabile.mat
save ‘c:\lucru\variabile’
Salvează în fişierul c:\lucru\local.mat valorile pentru variabilele x, y şi z
save ‘c:\lucru\local’ x y z

load
load ‘nume_fişier’ – încarcă din fişeirul specificat toate variabilele. Dacă nu se specifică nici
o extensie la numele fişierului se caută fişierul cu extensia mat
load ‘nume_fişier’ lista_variable – din fişierul dat se vor citi doar variabilele din listă

Exemple:
Încarcă toate variabilele din fişierul c:\lucru\variabile.mat
load ‘c:\lucru\variabile’
Încarcă din fişierul c:\lucru\local.mat valorile pentru variabilele y şi z

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

load ‘c:\lucru\local’ y z

whos
Afişează numele şi dimensiunea pentru toate varaibilele din mediul de lucru. Este utilă după
comanda load pentru a şti sau verifica numele au variabilele din fişierul încărcat.

clear
Folosită la ştergerea variabilelor din mediul de lucru şi eliberarea memoriei ocupate de
acestea.
clear all – şterge toate variabilele
clear lista_variabile – şterge numai variabilele din lista

Exemple:
Şterge din mediul de lucru variabilele a şi b
clear a b

Probleme:
1. Deschideţi cu un editor de texte o parte din fişierele cu secvenţe furnizate pe CD.
Observaţi structura acestora
2. În Matlab, încărcaţi secvenţa dintr-un fişier, după care încercaţi să o salvaţi într-un
fişier mat. Ştergeţi toate variabilele din mediul de lucru şi încărcaţi înapoi datele din
fişierul mat.
3. Încărcaţi simultan datele din trei fişiere de tip GenBank. Afişaţi grafic:
a. numărul nucleotidelor de bază
b. numărul codonilor
c. densitatea de nucleotide pe parcursul secvenţei
Afişarea se va face folosind trei grafice simultan.
4. Afişaţi numărul de apariţii pentru o anumita secvenţă în cazul unei din înregistrări.
Evidenţiaţi poziţia de start şi stop a secvenţei
5. Încărcaţi simultan datele din două fişiere GenPept. Afişaţi grafic cantităţile de
aminoacizi folosind două grafice simultan
6. Ce se observă în urma analizelor statistice a înregistrărilor din fişierele
NC_006915.gbwithparts şi NC_006915.gbwithparts.

Bioinformatica L02 8

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