24
BIOINFO3 - Lezione 2 1 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.

DATABASE PRIMARI

  • Upload
    beau

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

DATABASE PRIMARI. Cosa sono i database primari di acidi nucleici? - PowerPoint PPT Presentation

Citation preview

Page 1: DATABASE PRIMARI

BIOINFO3 - Lezione 2 11

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.

Page 2: DATABASE PRIMARI

BIOINFO3 - Lezione 2 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)

Page 3: DATABASE PRIMARI

BIOINFO3 - Lezione 2 33

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.

Page 4: DATABASE PRIMARI

BIOINFO3 - Lezione 2 44

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).

Page 5: DATABASE PRIMARI

BIOINFO3 - Lezione 2 55

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)

Page 6: DATABASE PRIMARI

BIOINFO3 - Lezione 2 66

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)

Page 7: DATABASE PRIMARI

BIOINFO3 - Lezione 2 77

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

DB1

DBn

12

3

45

COMPUTER „SERVER“ REMOTOPC UTENTE RETE

Page 8: DATABASE PRIMARI

BIOINFO3 - Lezione 2 88

ANCORA DATABASE!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

Page 9: DATABASE PRIMARI

BIOINFO3 - Lezione 2 99

FLAT-FILEFLAT-FILE

Come dice il nome, anche un semplice file di testo può costituire un DATABASE.

All’interno del file esistono delle sequenze di caratteri che permettono di individuare i singoli record

I record rappresentano l’unità di memorizzazione del database

All’interno 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

RECORD

separatore

RECORD

separatore

RECORD

campo1 valore1

campo2 valore2

campo3 valore3

FLAT-FILE

Page 10: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1010

UN ESEMPIOUN 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 : 28877PARENT ID : 28876RANK : no rankGC ID : 1SCIENTIFIC NAME : IDIR agentSYNONYM : Infectious Disease of Infant RatsSYNONYM : Rotavirus (GROUP B / STRAIN IDIR)SYNONYM : infectious diarrhea of infant rats agent IDIR//ID : 55279PARENT ID : 6607RANK : familyGC ID : 1MGC ID : 5SCIENTIFIC NAME : Idiosepiidae//ID : 82764PARENT ID : 82761RANK : familyGC ID : 1MGC ID : 5SCIENTIFIC NAME : Idoteidae//

Page 11: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1111

UN ALTRO ESEMPIOUN ALTRO ESEMPIO

MGI:11945 Ablim1 actin-binding LIM protein GDB:7173461 ABLIM1 3983

MGI:87902 Acta1 actin, alpha 1, skeletal muscle GDB:120535 ACTA1 58

MGI:87909 Acta2 actin, alpha 2, smooth muscle, aorta GDB:125197 ACTA2 59

MGI:87904 Actb actin, beta, cytoplasmic GDB:118964 ACTB 60

Quale è il separatore di record?

Quale è l’identificatore (separatore) di campo?

MGI:11945 Ablim1 actin-binding LIM protein GDB:7173461 ABLIM1 3983

MGI:87902 Acta1 actin, alpha 1, skeletal muscle GDB:120535 ACTA1 58

MGI:87909 Acta2 actin, alpha 2, smooth muscle, aorta GDB:125197 ACTA2 59

MGI:87904 Actb actin, beta, cytoplasmic GDB:118964 ACTB 60

Le righe (record) sono separate dal carattere NEW-LINE (vai a capo)

I campi sono separati dal carattere TAB (tabulazione)

Page 12: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1212

INDICIZZAZIONEINDICIZZAZIONE

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 dall’inizio 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

Page 13: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1313

ESEMPIOESEMPIO

Indicizzare il seguente flat-file contenente i dati anagrafici di alcune persone. Quanti record? Quali campi? Qual’è il campo chiave?

>ID=1NOME=MARIOSESSO=M>ID=2NOME=LUIGISESSO=M>ID=3NOME=MARIOSESSO=M>ID=4NOME=MARIASESSO=F

1

33

66

100

1:12:333:664:100

ID

LUIGI:33MARIA:100MARIO:1,66

NOMI

F:100M:1,33,66SESSO

Page 14: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1414

SRSSRS

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

DB1

DBn

…1

2

3

4

5

COMPUTER „SERVER“ REMOTOPC UTENTE RETE

Indici DB1

Indici DBn

0

6

Page 15: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1515

SVANTAGGISVANTAGGI

Ogni volta che si modifica, o si aggiunge, o si cancella un record è necessario ripetere l’indicizzazione

Il sistema è usato solo per le ricerche. Non esiste un sistema diretto per modificare il database

Page 16: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1616

DATABASE RELAZIONALIDATABASE RELAZIONALI

Esiste un DBMS (DataBase Management System) che si preoccupa di gestire fisicamente l’aggiunta, 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

DBMSDB

SERVERCLIENT

RETE

richieste

risultati

Page 17: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1717

ORGANIZZAZIONE CLIENT-SERVERORGANIZZAZIONE CLIENT-SERVER

E’ un’organizzazione piuttosto comune e naturale nell’informatica.

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?

Page 18: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1818

SQLSQLStructured 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 ...)

Page 19: DATABASE PRIMARI

BIOINFO3 - Lezione 2 1919

SQL PIU’ IN DETTAGLIOSQL 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

Page 20: DATABASE PRIMARI

BIOINFO3 - Lezione 2 2020

DATABASE RELAZIONALEDATABASE 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 è l’equivalente 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

Page 21: DATABASE PRIMARI

BIOINFO3 - Lezione 2 2121

RECORDRECORD

Una tabella è un contenitore di RECORD

Se la tabella rappresenta un’entità del mondo reale, ogni record rappresenta un’istanza di quell’entità

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

Page 22: DATABASE PRIMARI

BIOINFO3 - Lezione 2 2222

CAMPICAMPI

A sua volta ogni record è composto da un certo numero di campi (fields). Ogni campo rappresenta un attributo dell’entità 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, l’anno 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

Page 23: DATABASE PRIMARI

BIOINFO3 - Lezione 2 2323

ESEMPIO DI UNA TABELLAESEMPIO DI UNA TABELLA

>ID=1NOME=MARIOSESSO=M>ID=2NOME=LUIGI>ID=3NOME=MARIOSESSO=M>ID=4NOME=MARIASESSO=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)

id marca modello prezzo

1 FIAT 126 3500

2 FIAT 500 4000

3 LANCIA beta NULL

Page 24: DATABASE PRIMARI

BIOINFO3 - Lezione 2 2424