Bioinformatica I Introduzione alle Banche Dati Biomediche Definizione Area della scienza che affronta problemi complessi utilizzando approcci computazionali per generare, analizzare e gestire grandi volumi di dati eterogenei. Convergono numerose discipline (ingegneria dei sistemi, teoria dell’informazione, statistica ed altre discipline affini) La bioinformatica si puo’ dividere in due grosse categorie non disgiunte: • Costruzione delle Basi di Conoscenza • Analisi di informazioni strutturate ricavate da Basi di Conoscenza Definizione In questo primo incontro cercheremo di formalizzare la parte riguardante le banche dati fornendo utili definizioni ed alcuni semplici strumenti per sfruttare con maggiore efficienza le informazioni disponibili in rete. Nel prossimo incontro si approfondiranno gli aspetti analitici sui dati ottenuti principalmente dall’interrogazione di Banche dati Basi di conoscenza Conoscenza del dominio di validità dei dati Costruzione del modello di rappresentazione dei dati Conoscenza e scelta degli strumenti per la manipolazione del modello Costruzione della base di conoscenza Data Base Le basi di dati (DB) sono uno strumento nato per gestire enormi quantità di dati Esistono diverse tipologie di DB in funzione del modello teorico sottinteso I DB relazionali, basati sull’algebra relazionale, sono i più comuni Data Base Il nucleo di un DB prevede almeno di: 1. Costruire l’insieme di strutture che conterranno i dati 2. Inserire i dati 3. Aggiornare i dati 4. Interrogare i dati 5. Eliminare i dati 6. Eliminare le strutture che contengono i dati Data Base Un dato è l’istanza (materializzazione) di una certa informazione. Può essere: elementare (wbc all’esordio del paziente X, presenza/assenza di una certa anomalia cromosomica del paziente Y) strutturato (emocromo all’esordio del paziente X, cariotipo completo del paziente Y) Numerico; rappresentabile tramite un numero sulla retta reale (wbc all’esordio) Non numerico; rappresentabile mediante un etichetta di testo, tipico di variabili qualitative (es. nazionalità: Italiano, Greco, Giapponese…) Strutturazione dei dati Nei dati cerca di individuare: Le entità (dati strutturati; es. paziente, farmaco …) Gli attributi (dati elementari associati all’entità; es. nome, cognome, diagnosi per l’entità paziente; nome farmaco, casa produttrice, indicazioni …) Le relazioni tra entità (es. una relazione tra l’entità paziente e l’entità farmaco può essere l’Assunzione). Anche le relazioni possono avere attributi (la relazione Assunzione può avere come attributi la data di somministrazione) Strutturazione dei dati CAMPI Records Nome Cognome … Tizio Rossi … … … … Tabelle Assunzione Nome Casa Produttrice … Aspirina Bayer … … … … Semplificando si può dire che: le entità collassano nel DB sotto forma di tabelle gli attributi collassano sotto forma di campi Ogni riga della tabella rappresenta la materializzazione di un dato strutturato ed è chiamata record le relazioni possono essere ricavate dalle interrogazioni (query) Data Base Solitamente, in ambito lavorativo, l’utente ha il permesso di effettuare sul DB: 1. Inserimento dati 2. Aggiornamento dati 3. Interrogazione Ad esempio, su MedLine, noi possiamo agire sul DB solo attraverso l’azione 3 mentre sul DB di reparto o di laboratorio possiamo effettuare tutte e tre le azioni. Interrogazione La maggior parte dei DB, essendo relazionali, condividono una lingua franca per la gestione completa del sistema chiamata SQL (Structured Query Language). Questo linguaggio però è troppo ricco e complesso per essere usato da un utente finale. Si utilizzano allora delle interfacce tra la base di dati e l’utente che prevedono un tipo di interazione più “umana”. Interrogazione Tutte le banche dati permettono di interrogare il sistema attraverso interfacce che permettono di effettuare ricerche limitate su campi specifici solitamente attraverso connettivi logici. Connettivi logici Per effettuare ricerche complesse è necessario conoscere l’uso dei tre connettivi (d’ora in poi funzioni) logici di base AND, OR e NOT. Quando inseriamo una parola (stringa) nel campo di ricerca effettuiamo un’interrogazione atomica. Il risultato della ricerca può andare a buon fine (1) o no (0). Concatenando con funzioni logiche interrogazioni atomiche possiamo generare proposizioni di ricerca complesse. AND La funzione AND agisce su due interrogazioni elementari Restituisce vero (1) solo se entrambe le interrogazioni sono vere “medulloblastoma” AND ”2004” Se le stringhe “medulloblastoma” e “2004” sono contemporaneamente presenti in un record del database allora il risultato della ricerca è vero (1) OR La funzione OR agisce su due interrogazioni elementari Restituisce vero (1) se almeno una delle due interrogazioni è vera “medulloblastoma” OR ”2004” Se la stringa “medulloblastoma” e/o “2004” è presente in un record del database allora il risultato della ricerca è vero (1) NOT La funzione NOT agisce su una interrogazione atomica Ne inverte il valore di verità NOT “medulloblastoma” Se la stringa “medulloblastoma” è presente in un record del database allora il risultato della ricerca è falso Proposizioni complesse Concatenando interrogazioni atomiche con funzioni logiche si possono effettuare query complesse. Es. Estrarre tutti i record che contengono contemporaneamente “atra” e “bioinformatics” ma non “internet” oppure solo “valproic” “atra” AND “bioinformatics” NOT “internet” OR “valproic” Interrogazione - esempio Limite di testo (stringa di ricerca) Limite sulle Tabelle (selezione di campi specifici) Reti e protocolli di rete La maggior parte di database di uso comune sono dispersi su tutta la superficie del globo sui più disparati tipi di computer. Sfruttando le possibilità offerte da un insieme di strutture hardware (RETI) e software (protocolli) è possibile condividere tali database tra utenti molto distanti su computer diversi. Reti e protocolli di rete Una rete è un insieme più o meno complesso di computer collegati l’uno all’altro tramite un canale attraverso cui scorrono delle informazioni. Computer diversi (ad esempio PC e Mac) rappresentano i dati in modo diverso. Canali trasmissivi diversi (modem, rete ethernet, satellite) trattano segnali fisici diversi (segnali elettrici continui, segnali elettrici digitali, onde elettromagnetiche libere) Per far fronte a questa disomogeneità nel trattamento dell’informazione i gestori e gli sviluppatori di reti hanno deciso degli standard comuni: i protocolli. Livelli di Protocollo I protocolli sono suddivisi in livelli. I protocolli di basso livello (implementati direttamente nell’hardware) permettono di sfruttare diversi sistemi per trasmettere i dati; computer x collegato alla rete tramite modem e computer y tramite ethernet. I protocolli di livello medio gestiscono l’indirizzamento dei dati dal computer x (in USA) al computer y (in Cina). I protocolli di alto livello gestiscono la rappresentazione dei dati in modo da garantire la medesima rappresentazione sul computer x (Mac con Database su FileMaker) e sul computer y (Pc con Mozilla e Linux) Internet Internet è una rete formata da numerose reti internazionali, nazionali, regionali e locali. Tutte queste reti devono condividere i protocolli di comunicazione La comunicazione su internet è basata sulla famiglia di protocolli TCP/IP e sul protocollo HTTP Indirizzi Ad ogni computer collegato in internet i protocolli TCP/IP impongono di assegnare un indirizzo di rete (IP) unico che lo indentifica nel mondo. Un indirizzo di rete è formato da 4 numeri separati da punti 123.123.123.123 Ogni numero può andare da 0 a 255 e quindi si possono indirizzare al massimo 232 = 4 miliardi di computer Risoluzione degli Indirizzi L’indirizzo di rete del computer centrale dell’NCBI è 130.14.25.1 Questo numero viene usato dai computer per indirizzare univocamente i dati ma è ovviamente inutile dal punto di vista umano. Si è quindi deciso di associare ad ogni numero IP un nome di dominio (DN). Computers specializzati detti domain name server (DNS) convertono dinamicamente gli IP in DN e i DN in IP. Il World Wide Web Una delle funzioni primarie di una rete è quella di consentire la condivisione di documenti. Per fare questo sono stati sviluppati diversi sistemi (Distributed Document Delivery Systems, DDDS) per permettere la consultazione di documenti in remoto senza doverli scaricare. Nel 1989 al CERN (Ginevra) è stato sviluppato un sistema DDDS che ha poi condizionato il diffondersi di internet il World Wide Web. Il World Wide Web Ogni documento mostrato sul Web può essere composto da testo, immagini, suoni e controlli. Ogni documento Web è posto su un particolare computer chiamato Server. I documenti sono chiamati pagine Web, e l’insieme di documenti presenti sul server sono chiamati sito Web. Per poter consultare un sito Web è necessario disporre di programmi (client) chiamati Browsers (explorer, mozilla etc.) che riescono a visualizzare e trattare le pagina Web. Lo scambio delle informazioni tra server e client avviene tramite il protocollo HTTP Come condividere le informazioni presenti in un database? Si implementa un database su un computer (es. PubMed). Si costruisce un server Web in grado di interrogare il database Si assegna al computer un indirizzo IP (e quindi un nome di dominio es. http://www.ncbi.nlm.nih.gov/) Si convertono i risultati delle interrogazioni in pagine Web consultabili da qualsiasi altro computer collegato in internet Alcuni Database Utili Esistono nel mondo migliaia di database ad indirizzo biomedico Alcuni istituti hanno sviluppato dei database di database. I risultati delle interrogazioni sono dei link a database specifici Tra questi vediamo MedWeb MedWeb MedWeb è un catalogo (database) di siti correlati alle scienze biomediche. MedWeb Interrogazione atomica Interrogazione in AND (0 risultati) Interrogazione in OR (367 risultati) E’ interrogabile in modalità complessa con connettivi logici impliciti PubMed http://www.ncbi.nih.gov/entrez/ Alcuni database sono fondamentali per chiunque lavori in ambito biomedico PubMed è un data base sviluppato alla National Libray of Medicine che consente di interrogare MedLine ed alcuni altri database. MedLine a sua volta è un database di citazioni bibliografiche provenienti da 4000 riviste biomediche. I primi articoli risalgono al 1966 ed ogni anno vengono inseriti circa 400.000 nuove citazioni. Record MedLine Ogni record MedLine (dato strutturato) contiene i seguenti campi: autore (vengono inseriti fino a 25 cognomi, seguiti dalle iniziali dei nomi, per articolo); titolo dell'articolo (e parole del titolo); descrittori di soggetto (sono detti MESH, ovvero "MEdical Subject Headings") e rappresentano l'argomento di ogni singolo articolo; abstract (o riassunto, presente nella base dati solo se fornito - in inglese - dall'autore dell'articolo, è ricercabile anche per singole parole); fonte bibliografica (titolo della rivista in forma abbreviata, anno, volume, fascicolo, pagine); ente di appartenenza e indirizzo del primo degli autori dell'articolo; lingua originale in cui l'articolo è stato pubblicato; tipo di pubblicazione (ad es. lettera, editoriale, rassegna). PubMed EndNote E’ un software client che riesce ad interrogare un gran numero di banche dati tra cui MedLine. Permette di costruirsi librerie di articoli specifici da utilizzare poi in fase di stesura dei lavori Si integra in Word e permette di gestire la bibliografia con grande semplicità generando i riferimenti bibliografici nel formato richiesto dalla specifica rivista. EndNote Maschera di ricerca Libreria EndNote Barra di ricerca (autrore, parola chiave..) sulle librerie Risultato ricerca Barra strumenti endnote Impact Factor JCR (Journal Citation Report) http://jcrweb.com/ JCRWeb è un servizio web che permette di comparare diverse riviste scientifiche attraverso diversi indici tra cui l’IF JCR Qui si vede una query di riviste appartenenti alla categoria ONCOLOGY ordinate per IF decrescente. DataBase Home Made Alcune tipologie di ricerca prevedono, per loro natura, la generazione di una miriade di dati. Tra queste la tecnologia dei microarray è quella che ne produce un maggiore volume. Molte riviste pretendono, per pubblicare dati provenienti da questo tipo di ricerca, che i database siano consultabili in rete. MicroBase Microbase è un database generato nel nostro laboratorio per poter consultare i dati emersi da un esperimento in cui sono convolti i microarray. Delle linee cellulari sono state trattate con diverse combinazioni con Acido Retinoico e/o Acido Valproico. Attraverso i microarray siamo stati in grado di monitorare l’andamento temporale di oltre 12000 geni in tutte le diverse condizioni. 1 BC035719 475 1 AF414429 42 2 BC040071 52 9 BC047666 142 10 D90042 107 12 BC003559 52 13 L32179 85 14 BC014122 160 15 U40347 234 16 D32050 18 AF237813 18 L32961 19 AK024328 313 19 AF285167 289 20 AF178941 50 20 BC064542 36 21 U78735 23 AF027302 95 23 BC034488 40 24 AF001945 25 M14753 334 25 X16416 124 26 U11863 60 26 BC014093 51 27 M35296 204 29 AK126882 396 29 U01147 110 30 BC000635 94 31 AY315623 1267 31 AY315619 606 31 AY315620 435 Analisi Dati 110 1321 99 559 78 Altri DB (Genbank, PubMed) MicroBase Web MicroBase WEB è basato su tutte le tecnologie viste finora: Un web server (Apache) con il suo indirizzo IP e il suo nome di dominio, fornisce le interfacce web per consultare il database su internet. Alcuni software (script) che lavorano con protocolli di alto livello permettono la conversione dei dati in entrata verso il server web. Diversi database (Gene Ontology, GenBank, LocuLink e molti altri) sono integrati con il database dei risultati degli esperimenti tramite un database server (MySQL) che gestisce il database complesso e processa le query. Fornisce poi i risultati agli script che li convertono in formato utilizzabile dal web server. Il web server presenta la pagina redatta in formato HTML all’utente che ha richiesto le informazioni. MicroBase Geni variati nel trattamento MicroBase Microbase Campo di Ricerca MicroBase WEB Parola Ricerca Query a MicroBase Limite su Espressione Nel database abbiamo selezionato tutti i geni che sono variati più di 4 volte e Che hanno nel campo descrizione la parola “cyclin A”