La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

BIOINFO3 - Lezione 21 DATABASE PRIMARI Cosa sono i database primari di acidi nucleici? Sono i contenitori di tutte le sequenze prodotte nel mondo e rese.

Presentazioni simili


Presentazione sul tema: "BIOINFO3 - Lezione 21 DATABASE PRIMARI Cosa sono i database primari di acidi nucleici? Sono i contenitori di tutte le sequenze prodotte nel mondo e rese."— Transcript della presentazione:

1 BIOINFO3 - Lezione 21 DATABASE PRIMARI Cosa sono i database primari di acidi nucleici? Sono i contenitori di tutte le sequenze prodotte nel mondo e rese disponibili alla comunità scientifica. Memorizzano essenzialmente la sequenza e poche altre informazioni generiche associate (laboratorio di sequenziamento, data, specie, descrizione…) EMBL Europa GENBANK USA DDBJ Giappone I tre database si aggiornano quotidianamente scambiandosi i dati ricevuti durante la giornata.

2 BIOINFO3 - Lezione 22 DATABASE COMPOSTI Problemi dei database primari formato dei dati accuratezza dei dati ridondanza I database composti prendono i dati da più sorgenti, generalmente con formati diversi e costruiscono un nuovo database specializzato, in genere pulito e non ridondante Esempio: NRDB (database non ridondante di sequenze di acidi nucleici)

3 BIOINFO3 - Lezione 23 Problema della ridondanza Molti database proteici e nucleotidici contengone sequenze appartenenti a famiglie geniche o versioni di geni omologhi di organismi differenti. Molti gruppi possono sottomettere la stessa sequenza. Differenti approcci sperimentali possono produrre sequenze simili (ad esempio da genomico e da cDNA). Splicing alternativi.

4 BIOINFO3 - Lezione 24 L`utilizzo di database ridondanti comporta almeno tre potenziali fonti di errore: Se un dataset contiene larghe famiglie di sequenze strettamente correlate, le analisi statistiche soffriranno di un bias dovuto a sovrastime di caratteristiche peculiari di quella famiglia Apparenti correlazioni in differenti posizioni specifiche delle sequenze possono essere un artefatto dovuto ad un bias nella composizione del campione. Se un dataset e` usato per predizioni di certe caratteristiche, e le sequenze per calibrare la predizioni sono troppo correlate tra loro, l`apparente capacita` predittiva puo` essere sovrastimata. (riconosce il particolare, non il generale).

5 BIOINFO3 - Lezione 25 DATABASE SECONDARI Contengono il risultato di analisi eseguite sulle sequenze contenute nei database primari. Esempio. Da SWISSPROT, database primario di sequenze di amminoacidi, sono costruiti i database secondari PROSITE (pattern e profili) e PFAM (domini)

6 BIOINFO3 - Lezione 26 INTERROGAZIONI DELLE BANCHE DATI RICERCHE TESTUALI Restituiscono i record di un database che soddisfano i criteri richiesti (mediante utilizzo di parole chiave) Es. horse liver alcohol dehydrogenase restituisce risultati specifici per questo enzima. Verranno cercate tutte entry contenenti le 4 parole chiave (horse AND liver AND alcohol AND dehydrogenase). operatori booleani-> AND, OR, NOT, &, |, ! RICERCHE PER SIMILARITÀ Restituiscono le sequenze di un database più simili ad una sequenza fornita come query (BLAST, FASTA)

7 BIOINFO3 - Lezione 27 SISTEMI INTEGRATI (RICERCA TESTUALE) Esistono dei sistemi integrati che permettono di interrogare, attraverso il web, in modo semplice ed intuitivo le banche dati biologiche. I tre sistemi principali sono: ENTREZ associato a GENBANK SRS associato a EMBL DBGET associato a DDBJ FORM DI QUERY PAGINA DI RISPOSTA SISTEMA INTEGRATO DB 1 DBn … COMPUTER SERVER REMOTOPC UTENTERETE

8 BIOINFO3 - Lezione 28 ANCORA DATABASE! CLASSIFICAZIONE In generale, considerando la loro natura, possiamo classificare i database in almeno 2 differenti classi principali FLAT-FILE RELAZIONALI Vedremo in dettaglio entrambi i tipi

9 BIOINFO3 - Lezione 29 FLAT-FILE Come dice il nome, anche un semplice file di testo può costituire un DATABASE. Allinterno del file esistono delle sequenze di caratteri che permettono di individuare i singoli record I record rappresentano lunità di memorizzazione del database Allinterno di un record esistono delle parole chiave che permettono di individuare i campi di quel record In genere esiste un campo (ID, identificatore, chiave…) che identifica univocamente i record del DB (non possono esistere 2 record con lo stesso valore nel campo chiave!) RECORD separatore RECORD separatore RECORD campo1valore1 campo2valore2 campo3valore3 FLAT-FILE

10 BIOINFO3 - Lezione 210 UN ESEMPIO Quanti record sono? (quale è il separatore di record?) Quali campi ha ciascun record? (quali sono i separatori e gli identificatori di campo?) Quale è il campo chiave? Che valori assume? ID : PARENT ID : RANK : no rank GC ID : 1 SCIENTIFIC NAME : IDIR agent SYNONYM : Infectious Disease of Infant Rats SYNONYM : Rotavirus (GROUP B / STRAIN IDIR) SYNONYM : infectious diarrhea of infant rats agent IDIR // ID : PARENT ID : 6607 RANK : family GC ID : 1 MGC ID : 5 SCIENTIFIC NAME : Idiosepiidae // ID : PARENT ID : RANK : family GC ID : 1 MGC ID : 5 SCIENTIFIC NAME : Idoteidae //

11 BIOINFO3 - Lezione 211 UN ALTRO ESEMPIO MGI:11945Ablim1actin-binding LIM proteinGDB: ABLIM13983 MGI:87902Acta1actin, alpha 1, skeletal muscleGDB:120535ACTA158 MGI:87909Acta2actin, alpha 2, smooth muscle, aortaGDB:125197ACTA259 MGI:87904Actbactin, beta, cytoplasmicGDB:118964ACTB60 Quale è il separatore di record? Quale è lidentificatore (separatore) di campo? MGI:11945Ablim1actin-binding LIM proteinGDB: ABLIM13983 MGI:87902Acta1actin, alpha 1, skeletal muscleGDB:120535ACTA158 MGI:87909Acta2actin, alpha 2, smooth muscle, aortaGDB:125197ACTA259 MGI:87904Actbactin, beta, cytoplasmicGDB:118964ACTB60 Le righe (record) sono separate dal carattere NEW-LINE (vai a capo) I campi sono separati dal carattere TAB (tabulazione)

12 BIOINFO3 - Lezione 212 INDICIZZAZIONE Un flat-file biologico può contenere migliaia o milioni di record. Sarebbe assurdo, ogni volta che si ha bisogno di un record, scandire tutto il file dallinizio alla fine per ricercarlo (ad esempio cercando nel campo ID il valore 82764) 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 nel file Gli indici sono dei file molto più piccoli. Le ricerche sono effettuate solo sugli indici e risultano quindi più veloci. Gli indici in generale vengono costruiti ordinati

13 BIOINFO3 - Lezione 213 ESEMPIO Indicizzare il seguente flat-file contenente i dati anagrafici di alcune persone. Quanti record? Quali campi? Qualè il campo chiave? > ID=1 NOME=MARIO SESSO=M > ID=2 NOME=LUIGI SESSO=M > ID=3 NOME=MARIO SESSO=M > ID=4 NOME=MARIA SESSO=F :1 2:33 3:66 4:100 ID LUIGI:33 MARIA:100 MARIO:1,66 NOMI F:100 M:1,33,66 SESSO

14 BIOINFO3 - Lezione 214 SRS Anche SRS funziona nel modo che abbiamo appena visto. I singoli database sono indicizzati e le ricerche sono effettuate sugli indici. FORM DI QUERY PAGINA DI RISPOSTA SRS DB 1 DBn … COMPUTER SERVER REMOTOPC UTENTERETE Indici DB 1 Indici DB n 0 6

15 BIOINFO3 - Lezione 215 SVANTAGGI Ogni volta che si modifica, o si aggiunge, o si cancella un record è necessario ripetere lindicizzazione Il sistema è usato solo per le ricerche. Non esiste un sistema diretto per modificare il database

16 BIOINFO3 - Lezione 216 DATABASE RELAZIONALI Esiste un DBMS (DataBase Management System) che si preoccupa di gestire fisicamente laggiunta, la modifica e la cancellazione dei record e la gestione degli indici. Non ci interessa il modo in cui ciò avviene realmente Il DBMS funge da interfaccia verso il database, in una tipica configurazione CLIENT-SERVER. Il server è residente su un computer remoto, mentre i client sono in generale altri computer DBMS DB SERVER CLIENT RETE richieste risultati

17 BIOINFO3 - Lezione 217 ORGANIZZAZIONE CLIENT-SERVER E unorganizzazione piuttosto comune e naturale nellinformatica. Esiste una risorsa, gestita da un server ed un certo numero di utenti (client), che necessitano della risorsa. In genere i client si mettono in coda per accedere alla risorsa. Quando il server è libero ascolta la richiesta del primo cliente in coda, se possibile la esegue restituendo al client quanto richiesto Alcuni esempi di client-server della vita comune?

18 BIOINFO3 - Lezione 218 SQL Structured Query Language E sicuramente il DBMS più diffuso. SQL è uno standard di cui esistono alcune implementazioni ORACLE (commerciale) MySQL (free) SQL e` un linguaggio ANSI (American National Standars Institute) standard per l`accesso e la manipolazione di database. I comandi SQL sono usati per recuperare, aggiornare, immagazzinare dati all`interno di un database. Sfortunatamente esistono differenti versioni di SQL, ma per rispettare gli ANSI standard, devono supportare la maggior parte delle parole chiave in un modo simile ( come SELECT, UPDATE, DELETE, INSERT, WHERE...)

19 BIOINFO3 - Lezione 219 SQL PIU IN DETTAGLIO SQL è un linguaggio attraverso cui è possibile comunicare col database (DBMS=interfaccia tra database ed utente) SQL permette di: Definire la struttura del database (struttura dei dati). E un DDL (Data Definition Language) Interagire con i dati, manipolarli. E un DML (Data Manipulation Language) In questa settimana vedremo meglio entrambi gli aspetti

20 BIOINFO3 - Lezione 220 DATABASE RELAZIONALE Un DATABASE RELAZIONALE è un insieme di TABELLE (table), in origine chiamate relazioni, con un qualche collegamento logico tra di esse. Una tabella di un DB relazionale è lequivalente di un flat-file tabelle database relazionale La progettazione di un DB è guidata dal mondo reale. In genere si vuole creare un modello di qualcosa (banca, traffico aereo, sistema biologico,…). Si tratta di capire quali entità devono essere rappresentate ed in genere si costruisce una tabella per ciascuna di esse

21 BIOINFO3 - Lezione 221 RECORD Una tabella è un contenitore di RECORD Se la tabella rappresenta unentità del mondo reale, ogni record rappresenta unistanza di quellentità Esempio delle automobili. Se definiamo una tabella di automobili, avremo un record per ogni modello di automobile Se definiamo una tabella di sequenze di proteine, avremo un record per ogni sequenza di proteine Possiamo pensare ad una tabella come formata da tante righe. Ogni riga rappresenta un record della tabella telethonin actin titin calmodulin Tabella proteine record

22 BIOINFO3 - Lezione 222 CAMPI A sua volta ogni record è composto da un certo numero di campi (fields). Ogni campo rappresenta un attributo dellentità da modellare. Un campo può contenere valori solo di un certo tipo (numeri interi, numeri reali, date, stringhe di caratteri,…) Ad esempio il nome del modello di automobile, il suo prezzo, lanno di produzione ecc… In una tabella di un db relazionale tutti i record sono formati dagli stessi campi. Eventualmente un campo di un record potrà anche non essere definito. In questo caso si usa il valore speciale NULL (nei flat-file invece determinati campi potevano tranquillamente essere non definiti per un record). Se i record rappresentano le righe di una tabella, i campi ne rappresentano le colonne

23 BIOINFO3 - Lezione 223 ESEMPIO DI UNA TABELLA > ID=1 NOME=MARIO SESSO=M > ID=2 NOME=LUIGI > ID=3 NOME=MARIO SESSO=M > ID=4 NOME=MARIA SESSO=F \ Esercizio 5. Dato il flat-file qui a fianco convertirlo in una tabella di un database relazionale. Dare un nome alla tabella ed un nome per ogni campo. Raffigurare tutti i record in una matrice (una riga per ogni record, una colonna per ogni campo) idmarcamodelloprezzo 1FIAT FIAT LANCIAbetaNULL

24 BIOINFO3 - Lezione 224


Scaricare ppt "BIOINFO3 - Lezione 21 DATABASE PRIMARI Cosa sono i database primari di acidi nucleici? Sono i contenitori di tutte le sequenze prodotte nel mondo e rese."

Presentazioni simili


Annunci Google