Introduzione all’utilizzo di database 1 Struttura e organizzazione di database I database sono insiemi di dati memorizzati su un computer con diversi livelli di astrazione al di sopra di essi. Ogni livello di astrazione consente di organizzare i dati contenuti e accedervi piu' facilmente, separando la richiesta dal meccanismo di recupero di specifici dati. Database diversi organizzano i dati in modi differenti. La metodologia piu' comune e' utilizzata dai database relazionali o RDBMS (Relational Database Management Systems). I piu' famosi sistemi odierni sono hanno struttura prevalentemente relazionale (es. Oracle, Sybase). Altra metodologia popolare e' quella orientata agli oggetti (OODBMS), in cui il l'intero contenuto del database e' gestito come oggetto di una classe specifica, in cui sono state definite delle regole per manipolare i dati in essa contenuti. Esistono poi dei pacchetti di database semplicistici che sono in relta' paradatabase, ovvero sistemi piu' o meno sofisticati digestione di files. Tutti i sistemi di database impiegano delle interfacce (API, Application Programming Interface) per accedere ai dati ed, eventualmente modificarli. La manipolazione dei dati avviene attraverso un linguaggio di interrogazione che permette essenzialmente quattro operazioni principali: acquisizione, memorizzazione, aggiornamento e eliminazione di dati. Introduzione all’utilizzo di database Database flat-file Il tipo piu' semplice di database e' il database flat-file, formato da files di testo ASCII in formato standard che il programa esamina per cercare informazioni. Il formato e' di solito costituito da un insieme di campi, contenenti ciascuno una specifica categoria di informazioni, delimitati attraverso caratteri speciali o con lunghezza fissa assegnata. Il pregio principale dei database flat-file e' la semplicita' di gestione, controbilanciata pero' dalla loro incapacita' di gestire accesso concorrente e dalla mancanza di indicizzazione dei dati, che non consente interrogazioni sequenziali. Esempio. Database flat-file entry NA IN GR TM CA DE RE Torta sacher cacao, uova, farina, burro, 180 °C 40 minuti 500 porzione Torta buonisima, caratteristica di Vienna, si trova anche in Alto Adige. Dolci Altoatesini, Ed. Bo Introduzione all’utilizzo di database Database relazionali Il linguaggio SQL (Structured Query language) e' stato progettato per manipolare basi di dati (1970, Codd, IBM, modello relazionale). Un database relazionale e' percepito dall'utente con un insieme di tabelle, dove una tabella e' un insieme non ordinato di righe. Ogni riga ha un numero fisso di campi (colonne della tabella) e ogni campo puo' memorizzare un tipo predefinito di dati (numeri o stringhe). Le informazioni correlate possono essere conservate nello stesso punto o in punti distinti ma collegati a quello principale.Questo processo di razionalizzazione delle tabelle (normalizazione dei dati) fa si’ che i dati non risultino duplicati e ne riduce la ridondanza. I dati possono essere: numerici, carattere (stringhe di lettere e numeri), data (data, data piu' ora), binari (immagini, audio, ...) o NULL (privo di valore). Database compositi e information retrieval SRS - Sequence Retrieval System E' stato sviluppato per rendere possibile l'interrogazione di piu' database residenti nel medesimo sito, anche in assenza di un formato comune tra i diversi database. Si tratta di un network browser per database in biologia molecolare, sviluppato allinterno dell'European Molecular Biology network. SRS permette l'indicizzazione di qualsiasi flat-file database rispetto a qualsiasi altro. Tipicamente, SRS permette di collegare dati relativi ad acidi nucleici, EST, sequenze proteiche, pattern di sequenze, a strutture o di tipo bibliografico, senza che all'utente sia richiesta la conoscenza della struttura dei dati e dei linguaggi utilizzati. Database compositi e information retrieval ENTREZ L'NCBI (National Center for Biotechnology Information) ha un ruolo fondamentale nel mantenimento di banche dati di informazioni di interesse biologico e nella diffusione di strumenti di analisi e biocomputing. L'NCBI sviluppa nuove tecnologie informatiche per favorire lo studio dei processi genetici e molecolari di impartanza biomedica. Ricadute di queste ricerche sono lo sviluppo di metodi per computer-based information processing e di sistemi che facilitano l'accesso degli utenti a database e software. Dal 1992, l'NCBI mantiene GenBank, il database di sequenze di DNA dell'NIH, che scambia dati con l'EMBL e il DDGJ. Database compositi e information retrieval ENTREZ ENTREZ e' stato sviluppato per permettere l'accesso a dati di biologia molecolare e citazioni bibliografiche. Forse un po‘ meno flessibile di SRS, permette tuttavia il massimo sfruttamento del concetto di "neighbouring" offrendo la possibilita' di collegare tra loro oggetti diversi di database differenti, indipendentemente dal fatto che essi siano direttamente "cross-referenced". Tipicamente, ENTREZ permette l'accesso a database di sequenze nuclotidiche, di sequenze proteiche, di mappaggio di cromosomi e di genomi, di struttura 3D e bibliografici (PubMed). DATABASE PRIMARI Database di sequenze nucleotidiche e proteiche Collezioni di singoli records, ognuno dei quali contiene un tratto di DNA o RNA con delle annotazioni. Ogni record viene anche chiamato ENTRY, e ha un codice che lo identifica univocamente (ACCESSION NUMBER). Le tre principali banche dati primarie sono: EMBL nucleotide database, ora gestita dall’EBI (1980) GenBank = banca dell NIH gestita dal NCBI (1982) EMBL = European Molecular Biology Laboratory (Heidelberg) EBI = European Bioinformatics Institute (Hinxton, UK) NIH = National Institutes of Health (Stuttura USA) NCBI = National Center for Biotechnology Information, Bethesda, Maryland DDBJ = banca DNA giapponese (1986) DDBJ = DNA DataBase of Japan Nel 1988, i gruppi responsabili di questi 3 database si sono organizzati nell’International Collaboration of DNA Sequence Databases, e hanno deciso di utilizzare un formato comune per i records (non proprio identico, ma almeno deve avere sempre certe caratteristiche) e di scambiarsi giornalmente le sequenze. La gran parte delle sequenze finisce in uno dei tre database perché l’autore (il laboratorio dove tale sequenza é stata ottenuta) la invia direttamente. La sequenza viene quindi inserita e il record corrispondente resta di proprietà’ solo di quel database, l’unico con il diritto di modificarlo (questo evita molti problemi). Il database che riceve la sequenza la invia poi agli altri due. Circa il 98% delle sequenze in un database sono presenti anche negli altri due. Ci sono poi anche degli “annotatori” che prendono le sequenze dalle riviste scientifiche e le trasferiscono nel database. Questo implica pero’ ulteriori problemi perché si possono formare più’ facilmente doppioni. Problema della ridondanza. Quante sequenze ci sono in GenBank ? GenBank Statistics http://www.ncbi.nlm.nih.gov/Genbank/genbankstats.html La “Feature Table” stabilisce le regole da seguire per permettere lo scambio di dati tra i diversi database che collaborano all’ International Nucleotide Sequence Database Collaboration Submitting Sequence Data to GenBank The most important source of new data for GenBank® is direct submissions from scientists. GenBank depends on its contributors to help keep the database as comprehensive, current, and accurate as possible. NCBI provides timely and accurate processing and biological review of new entries and updates to existing entries, and is ready to assist authors who have new data to submit. DATABASE PRIMARI Database di sequenze proteiche SWISS-PROT Database di sequenze proteiche annotate e “scarsamente” ridondanti e cross-referenced Contiene TrEMBL, supplemento a SWISS-PROT costituito dalle sequenze annotate al computer, come traduzione di tutte le sequenze codificanti presenti all’EMBL TrEMBL contiene due sezioni: SP-TrEMBL, sequenze da incorporare in SWISSPROT, con AC. REM-TrEMBL, remaining (immunoglobuline, proteine sintetiche, ...), senza AC. TrEMBLnew, generato ogni settimana.