DATABASE PRIMARI Cosa sono i database primari di acidi nucleici?

Slides:



Advertisements
Presentazioni simili
DBMS (DataBase Management System)
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Connessione con MySQL.
Basi di Dati prof. A. Longheu
SQL Structured Query Language
L’uso dei database in azienda
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 IT FOR BUSINESS AND FINANCE ACCESS INTRODUCTION.
File.
Corso di Informatica (Basi di Dati)
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
Daniel Stoilov Tesi di Laurea
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
DBMS ( Database Management System)
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Implementare un modello di dati
C APITOLO 6 © 2012 Giorgio Porcu – Aggiornamennto 22/02/2012 G ESTIRE D ATI E C ARTELLE DI LAVORO Excel Avanzato.
Elementi di gestione di dati con MS Access
Database & Information Retrieval
INFORMATICA Corso Base Modulo G: I DataBase  Access.
DAGLI ARCHIVI AI DATABASE
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Progettare un database
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
PARSERIZZAZIONE DI FILE
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
EIPASS MODULO 5 Access 2007.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Interrogare il database
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
IV D Mercurio DB Lezione 1
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Pagine ASP parte 3 I data base Stefano Schacherl.
Microsoft Access Maschere (II).
Database Concetti di base
IV D Mercurio DB Lezione 2
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Modulo 5 Uso delle Basi di dati Paola Pupilli
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Programmazione Fondi Strutturali 2007/2013 Programma Operativo Nazionale: “Competenze per lo Sviluppo” finanziato con il Fondo Sociale Europeo Piano Integrato.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Lezione 4 – Linguaggi ed Interazione. Linguaggi La comunicazione è essenziale tra gli esseri umani Se vogliamo chiedere informazioni stradali ad un passante.
Transcript della presentazione:

DATABASE PRIMARI Cosa sono i database primari di acidi nucleici? BIOINFO3 - Lezione2 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. BIOINFO3 - Lezione 2

DATABASE COMPOSTI Problemi dei database primari formato dei dati BIOINFO3 - Lezione2 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) BIOINFO3 - Lezione 2

Problema della ridondanza BIOINFO3 - Lezione2 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. BIOINFO3 - Lezione 2

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

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

INTERROGAZIONI DELLE BANCHE DATI BIOINFO3 - Lezione2 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) BIOINFO3 - Lezione 2

SISTEMI INTEGRATI (RICERCA TESTUALE) BIOINFO3 - Lezione2 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 … 1 2 3 4 5 COMPUTER „SERVER“ REMOTO PC UTENTE RETE BIOINFO3 - Lezione 2

ANCORA DATABASE! CLASSIFICAZIONE BIOINFO3 - Lezione2 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 BIOINFO3 - Lezione 2

BIOINFO3 - Lezione2 FLAT-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 separatore campo1 valore1 campo2 valore2 campo3 valore3 FLAT-FILE BIOINFO3 - Lezione 2

UN ESEMPIO Quanti record sono? (quale è il separatore di record?) BIOINFO3 - Lezione2 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 : 28877 PARENT ID : 28876 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 : 55279 PARENT ID : 6607 RANK : family MGC ID : 5 SCIENTIFIC NAME : Idiosepiidae ID : 82764 PARENT ID : 82761 SCIENTIFIC NAME : Idoteidae BIOINFO3 - Lezione 2

UN ALTRO ESEMPIO Quale è il separatore di record? BIOINFO3 - Lezione2 UN 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) BIOINFO3 - Lezione 2

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

BIOINFO3 - Lezione2 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 ID=3 ID=4 NOME=MARIA SESSO=F 1 33 66 100 1:1 2:33 3:66 4:100 ID LUIGI:33 MARIA:100 MARIO:1,66 NOMI F:100 M:1,33,66 SESSO BIOINFO3 - Lezione 2

BIOINFO3 - Lezione2 SRS Anche SRS funziona nel modo che abbiamo appena visto. I singoli database sono indicizzati e le ricerche sono effettuate sugli indici. DB1 4 2 1 FORM DI QUERY … SRS Indici DB1 3 DBn PAGINA DI RISPOSTA Indici DBn 6 5 PC UTENTE RETE COMPUTER „SERVER“ REMOTO BIOINFO3 - Lezione 2

BIOINFO3 - Lezione2 SVANTAGGI 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 BIOINFO3 - Lezione 2

BIOINFO3 - Lezione2 DATABASE 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 richieste DBMS DB risultati RETE SERVER CLIENT BIOINFO3 - Lezione 2

ORGANIZZAZIONE CLIENT-SERVER BIOINFO3 - Lezione2 ORGANIZZAZIONE 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? BIOINFO3 - Lezione 2

SQL Structured Query Language E’ sicuramente il DBMS più diffuso. BIOINFO3 - Lezione2 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 ...) BIOINFO3 - Lezione 2

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

BIOINFO3 - Lezione2 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 è 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 BIOINFO3 - Lezione 2

RECORD Una tabella è un contenitore di RECORD BIOINFO3 - Lezione2 RECORD 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 BIOINFO3 - Lezione 2

BIOINFO3 - Lezione2 CAMPI 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 BIOINFO3 - Lezione 2

ESEMPIO DI UNA TABELLA \ BIOINFO3 - Lezione2 ESEMPIO DI UNA TABELLA id marca modello prezzo 1 FIAT 126 3500 2 500 4000 3 LANCIA beta NULL > ID=1 NOME=MARIO SESSO=M ID=2 NOME=LUIGI ID=3 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) BIOINFO3 - Lezione 2

BIOINFO3 - Lezione2 BIOINFO3 - Lezione 2