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 in modo molto più veloce che il numero di pubblicazioni scientifiche. Crescita della Banca di Sequenze di DNA GenBank Crescita della Banca di strutture PDB GENBANK 10**6 10**5 PDB 10**4 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 semplice 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). record Il DB degli studenti di Scienze Biotecnologiche Campi Stu Matricol Nome de a nte Cognome Data Nascita Luogo Nascita Residen Ses za so 1 513/009 Marco Rossi 15-02-81 Napoli Napoli M 2 513/026 Luigi Esposito 01-07-80 Napoli Napoli M 3 513/028 Maria Longobardi 25-09-81 Napoli Napoli F 4 513/041 Monica Esposito 01-09-82 Salerno Napoli F 5 513/055 Maria Bianchi 03-22-79 Caserta Caserta F 6 513/059 Salvator e Donnarum ma 08-12-80 Salerno Salerno M 7 513/075 Marco Esposito 07-06-81 Napoli Napoli F … … … … … … … … … … … … … … … … Database relazionali i database appartenenti a questa categoria si basano sul modello relazionale la cui struttura principale è la relazione, cioè una tabella bidimensionale composta da righe e colonne. Ciascuna riga rappresenta un'entità (record) che noi vogliamo memorizzare nel database. Le caratteristiche di ciascuna entità sono definite invece dalle colonne delle relazioni (campi), che vengono chiamate attributi. Entità con caratteristiche comuni, cioè descritti dallo stesso insieme di attributi, faranno parte della stessa relazione. 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!) record Il DB degli studenti di Scienze Biotecnologiche Campi Stu Matricol Nome de a (ID) nte Cognome Data Nascita Luogo Nascita Residen Ses za so 1 513/009 Marco Rossi 15-02-81 Napoli Napoli M 2 513/026 Luigi Esposito 01-07-80 Napoli Napoli M 3 513/028 Maria Longobardi 25-09-81 Napoli Napoli F 4 513/041 Monica Esposito 01-09-82 Salerno Napoli F 5 513/055 Maria Bianchi 03-22-79 Caserta Caserta F 6 513/059 Salvator e Donnarum ma 08-12-80 Salerno Salerno M 7 513/075 Marco Esposito 07-06-81 Napoli Napoli F … … … … … … … … … … … … … … … … 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 …. …. 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. Student e Matricol a (ID) Nome Cognome Data Nascita Luogo Nascita Residenz Sesso a 1 513/009 Marco Rossi 15-02-81 Napoli Napoli M 2 513/026 Luigi Esposito 01-07-80 Napoli Napoli M 3 513/028 Maria Longobard 25-09-81 i Napoli Napoli F 4 513/041 Monica Esposito 01-09-82 Salerno Napoli F 5 513/055 Maria Bianchi 03-22-79 Caserta Caserta F 6 513/059 Salvator e Donnarum ma 08-12-80 Salerno Salerno M 7 513/075 Marco Esposito 07-06-81 Napoli Napoli F … … … … … … … … … … … … … … … … Nome Marco: 1, 7, … Luigi: 2, … Maria: 3, 5, … Monica: 4, … Salvatore: 7, … Cognome 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. PubMed È un database di referenze bibliografiche di interesse biologico e medico che costituisce un'importante fonte di informazione in cui possono essere facilmente reperite informazioni bibliografiche e riassunti delle corrispondenti pubblicazioni. Fa parte del sistema integrato “Entrez” di database biologici (http://www.ncbi.nlm.nih.gov/Entrez/ ) Basi Azotate DNA: Adenina (A), Guanina (G), Citosina (C), Timina (T) RNA: Adenina (A), Guanina (G), Citosina (C), Uracile (U) G C A=T Codice standard per posizioni degenerate: N = A,C,G,T ATCRGNCCTBAT V = G,A,C ATCAGACCTGAT G G T C C T D = G,A,T B = G,T,C H = A,T,C W = A,T M = A,C R <complementare> Y R = A,G W <complementare> W K = G,T S <complementare> S S = G,C Y = C,T Codice Genetico: U 1° BASE C A G U UUU UUC UUA UUG F F L L CUU CUC CUA CUG L L L L AUU AUC AUA AUG I I I M GUU GUC GUA GUG V V V V | | | | | | | | | | | | | | | | | | | | C UCU UCC UCA UCG S S S S CCU CCC CCA CCG P P P P ACU ACC ACA ACG T T T T GCU GCC GCA GCG A A A A | | | | | | | | | | | | | | | | | | | | A UAU UAC UAA UAG Y Y * * CAU CAC CAA CAG H H Q Q AAU AAC AAA AAG N N K K GAU GAC GAA GAG D D E E | | | | | | | | | | | | | | | | | | | | G____ UGU C UGC C UGA * UGG W CGU CGC CGA CGG R R R R AGU AGC AGA AGG S S R R GGU GGC GGA GGG G G G G successione di 3 basi = 1 aa * = STOP 3° BASE 2° BASE AUG = M = START Start alternativi GUG UUG CUG 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 proteina T D G G K........ K H Cter Regolatori Trascrizionali terminatore della trascrizione RNA pol regione codificante (open reading frame) STOP ATG regolatori della trascrizione PROMOTORE (attira la RNA pol) punto di inizio della trascrizione mRNA 5’ ATG 3’ STOP regioni codificanti ESONI ATG STOP regioni non codificanti INTRONI trascrizione pre-mRNA 5’ 3’ SPLICING mRNA 5’ 3’ 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/ DATABASE EST (Expressed Sequence Tags) Cellula o tessuto Estrazione mRNA mRNA Trascrizione inversa cDNA Clonaggio Library cDNA Sequenziamento EST DB