I Dati Biologici vengono raccolti nelle BANCHE DATI (DATABASE, DB) BANCHE DATI di Sequenze BANCHE DATI di Strutture BANCHE DATI di Funzioni BANCHE DATI di Pubblicazioni
PERCHE’ SONO NECESSARIE LE BANCHE DATI? Gli avanzamenti in tutti i campi della biologia degli ultimi anni sono stati accompagnati da tecnologie strumentali sempre più sofisticate. Il risultato è una enorme produzione di dati Scientifici. Dalla figura si può osservare che quantità di dati prodotti (sequenze di DNA nell'esempio) aumenta molto più velocemente del numero di pubblicazioni scientifiche.
Crescita della Banca di Sequenze di DNA GenBank
Crescita della Banca di strutture PDB
GENBANK 10**6 10**5 10**4 PDB 10**3 1983 1998
E’ necessario disporre di nuovi sistemi di immagazzinamento e accesso all'informazione. Questa esigenza trova una risposta nelle banche dati che nel settore biologico si stanno diffondendo moltissimo e sono diventate uno strumento indispensabile per la ricerca e per la diffusione dei risultati.
Un DATABASE è una collezione di dati che viene gestita e organizzata da un software specifico, il DBMS (DataBase Management System, Sistema di Gestione di DataBase). Un DBMS è sostanzialmente un programma che si frappone fra l'utente ed i dati veri e propri. Grazie a questo programma l'utente e le applicazioni non accedono ai dati così come sono memorizzati effettivamente ma ne vedono solamente una rappresentazione logica. Ciò permette un elevato grado di indipendenza fra le applicazioni e la memorizzazione fisica dei dati. L'amministratore del database, se ne sente la necessità, può decidere di memorizzare i dati in maniera differente senza che le applicazioni, e quindi gli utenti, ne risentano. La cosa importante è che non venga cambiata la rappresentazione logica di quei dati, che è la sola cosa che i loro utilizzatori conoscono.
COME E’ FATTO UN BATABASE? Un modo semplice di immaginare un database è di pensare ad uno schedario di studenti di biotecnologia. Ogni scheda contiene una serie di campi, ad esempio: matricola, nome, cognome, luogo e data di nascita, indirizzo, sesso, ecc... Quindi il database è costituito da tanti “record” o “entry” (le schede del nostro esempio) e ogni record è costituito da tanti campi. Ogni campo, ovviamente, deve essere inequivocabilmente identificabile. Non basta scrivere a caso i dati su una scheda, ma vogliamo essere sempre in grado di distinguere se ad esempio una città corrisponda al luogo di nascita o residenza, se una data corrisponda alla data di nascita o ad un’altra data ecc.. Quindi servono degli identificatori di campo che possono corrispondere semplicemente alla posizione (es. primo campo, secondo campo, ecc.) di una casella di testo (sia in una scheda fisica, sia in un file) oppure possono essere delle "etichette" che indicano il tipo di campo (anche queste le possiamo trovare sia in una scheda fisica che in un file).
Il DB degli studenti di Scienze Biotecnologiche Campi Studente Matricola Nome Cognome Data Nascita Luogo Nascita Residenza Sesso 1 513/009 Marco Rossi 15-02-81 Napoli M 2 513/026 Luigi Esposito 01-07-80 3 513/028 Maria Longobardi 25-09-81 F 4 513/041 Monica 01-09-82 Salerno 5 513/055 Bianchi 03-22-79 Caserta 6 513/059 Salvatore Donnarumma 08-12-80 7 513/075 07-06-81 … record
Comunque sia, è essenziale che sia unico. Oltre all'identificatore di campo è importante avere un “identificatore di record” chiamato anche “chiave” o ancora “ID” che deve essere diverso per ogni record. Il campo chiave o ID può essere rappresentato da un numero progressivo, oppure da una sigla alfanumerica, o anche da un nome. Comunque sia, è essenziale che sia unico. L’ID identifica univocamente i record del DB (non possono esistere 2 record con lo stesso valore nel campo chiave!)
Il DB degli studenti di Scienze Biotecnologiche Campi Studente Matricola (ID) Nome Cognome Data Nascita Luogo Nascita Residenza Sesso 1 513/009 Marco Rossi 15-02-81 Napoli M 2 513/026 Luigi Esposito 01-07-80 3 513/028 Maria Longobardi 25-09-81 F 4 513/041 Monica 01-09-82 Salerno 5 513/055 Bianchi 03-22-79 Caserta 6 513/059 Salvatore Donnarumma 08-12-80 7 513/075 07-06-81 … record
Ad esempio l’ID della banca dati PDB (il “codice PDB”) ha la forma: #§§§ dove # = numero da 0 a 9 § = numero da 0 a 9 oppure lettera alfabeto inglese 1ONC 1BSR 1A2W 1KW6 1Q0C 11CY ….
Database non relazionali o gerarchici i database appartenenti a questa categoria sono descrivibili mediante una tabella come mostrato nell’esempio del DB di studenti. Attenzione: la tabella è una semplice raffigurazione logica del DB e non il modo reale in cui i dati sono memorizzati! Database relazionali i database appartenenti a questa categoria sono descritti da più tabelle correlate tra loro da legami logici che le mettono in “relazione”
geni trascritti proteine geneID name length organism … 55555 ABCD 25000 Homo sapiens 55556 EFGH 20000 55560 MNOP 15000 55561 WXYZ 18000 trascritti transcriptID geneID length organism … XY99001 5555 11000 Homo sapiens XY99002 9000 proteine ProteinID transcriptID geneID name length organism … AX0008 XY99001 5555 Protein X1 1255 Homo sapiens AX0009 XY99002 Protein X2 836 ….
Accesso alle informazioni di un DB Se il database è un database relazionale il linguaggio utilizzato per recuperare le informazioni che ci vengono mostrate si chiama SQL (Structured Query Language). Ad esempio quasi sempre è possibile fare una ricerca usando una o più “parole” unite dagli operatori booleani (AND, NOT, OR) x AND y = sia x che y x NOT y = x non accompagnato da y x OR y = x oppure y (x da solo, y da solo o entrambi)
Ad esempio nel DB degli studenti di Scienze Biotecnologiche potrei cercare: “Marco” (campo: nome) AND “Napoli” (campo: luogo nascita) “Marco” (campo: nome) NOT “Napoli” (campo: luogo nascita) “Marco” (campo: nome) OR “Mario” (campo: nome)
Sarebbe assurdo, ogni volta che si fa una ricerca scandire tutto il file che contiene i record del DB dall'inizio alla fine per trovare la parola o il valore che ci interessa. Viene fatta allora una indicizzazione, cioè si preparano degli indici, con tutti i possibili valori dei vari campi (o almeno dei principali) e la posizione corrispondente nella tabella (o meglio il file che la contiene). Gli indici sono dei file molto più piccoli. Le ricerche sono effettuate solo sugli indici e risultano quindi più veloci.
Nome Cognome Sesso Studente Matricola (ID) Nome Cognome Data Nascita Luogo Nascita Residenza Sesso 1 513/009 Marco Rossi 15-02-81 Napoli M 2 513/026 Luigi Esposito 01-07-80 3 513/028 Maria Longobardi 25-09-81 F 4 513/041 Monica 01-09-82 Salerno 5 513/055 Bianchi 03-22-79 Caserta 6 513/059 Salvatore Donnarumma 08-12-80 7 513/075 07-06-81 … Nome Cognome Marco: 1, 7, … Luigi: 2, … Maria: 3, 5, … Monica: 4, … Salvatore: 7, … Rossi: 1, … Esposito: 2, 4, 7, … Longobardi: 3, … Bianchi: 5, … Donnarumma: 7, … Sesso M: 1, 2, 6, … F: 3, 4, 5, 7, …
VANTAGGI 1. La consultazione è molto più rapida 2. Si può scegliere di indicizzare solo parte dei dati per rendere il file di indici più compatto e veloce da consultare. 4. La scelta è stata fatta ed utilizzata dalle banche dati biologiche basate su sistemi di interrogazioni come ENTREZ e SRS SVANTAGGI Se si aggiungono nuovi record o si aggiornano i dati preesistenti si deve ricalcolare l'indice dei dati.
DATABASE = collezione di dati biologici RECORD = elementi del database (o ENTRY) CAMPI = attributi dei record IDENTIFICATORE DI RECORD = alfanumerico identificativo di un record DI CAMPO = alfanumerico identificativo di un campo FLAT FILE = file di testo contenente le descrizioni dei campi di un record DataBase Management System (DBMS) = software che gestisce il DB e consente l’accesso ai dati
Basi Azotate DNA: Adenina (A), Guanina (G), Citosina (C), Timina (T) RNA: Adenina (A), Guanina (G), Citosina (C), Uracile (U)
G C A=T
ATC(A/G)G(A/G/C/T)CCT(G/C/T)AT N = A,C,G,T V = G,A,C D = G,A,T B = G,T,C H = A,T,C W = A,T M = A,C R = A,G K = G,T S = G,C Y = C,T Codice standard per posizioni degenerate: ATC(A/G)G(A/G/C/T)CCT(G/C/T)AT ATCRGNCCTBAT R <complementare> Y W <complementare> W S <complementare> S
successione di 3 basi = 1 aa 2° BASE Codice Genetico: successione di 3 basi = 1 aa U | C | A | G____ UUU F | UCU S | UAU Y | UGU C U UUC F | UCC S | UAC Y | UGC C UUA L | UCA S | UAA * | UGA * UUG L | UCG S | UAG * | UGG W | | | CUU L | CCU P | CAU H | CGU R C CUC L | CCC P | CAC H | CGC R CUA L | CCA P | CAA Q | CGA R CUG L | CCG P | CAG Q | CGG R AUU I | ACU T | AAU N | AGU S A AUC I | ACC T | AAC N | AGC S AUA I | ACA T | AAA K | AGA R AUG M | ACG T | AAG K | AGG R GUU V | GCU A | GAU D | GGU G G GUC V | GCC A | GAC D | GGC G GUA V | GCA A | GAA E | GGA G GUG V | GCG A | GAG E | GGG G * = STOP AUG = M = START Start alternativi GUG UUG CUG 3° BASE 1° BASE
5’..ATGTTTACTGATGGTGGTAAA........AAACATTGA..3’ DNA filamento senso 5’..ATGTTTACTGATGGTGGTAAA........AAACATTGA..3’ 3’..TACAAATGACTACCACCATTT........TTTGTAACT..5’ filamento antisenso DNA 5’..ATGTTTACTGATGGTGGTAAA........AAACATTGA..3’ RNA 5’..AUGUUUACUGAUGGUGGUAAA........AAACAUUGA..3’ Nter M F T D G G K........ K H Cter proteina
Regolatori Trascrizionali terminatore della trascrizione RNA pol ATG STOP regione codificante (open reading frame) PROMOTORE (attira la RNA pol) punto di inizio della trascrizione regolatori della trascrizione ATG STOP 5’ 3’ mRNA
regioni non codificanti ATG STOP regioni codificanti ESONI regioni non codificanti INTRONI pre-mRNA 5’ 3’ trascrizione mRNA 5’ 3’ SPLICING
DATABASE DI SEQUENZE DI DNA I due maggiori centri bioinformatici mondiali, N.C.B.I. di Washington negli Stati Uniti e l'E.B.I. a Cambridge in Europa, gestiscono i principali database di sequenze di DNA: Genbank e EMBL. I due database contengono essenzialmente gli stessi dati e ogni giorno si scambiano le informazioni per aggiornarsi a vicenda. Tuttavia il formato di ogni record, come appare nei corrispondenti "flat files" è leggermente diverso. N.C.B.I./Genbank http://www4.ncbi.nlm.nih.gov/GenBank E.B.I/EMBL http://www.ebi.ac.uk/embl/
Cellula o tessuto mRNA cDNA Library cDNA EST DB DATABASE EST (Expressed Sequence Tags) Cellula o tessuto mRNA cDNA Library cDNA EST DB Estrazione mRNA Trascrizione inversa Clonaggio Sequenziamento