create table est(
gi int unsigned primary key auto_increment,
acc char(8)not null,
nome varchar(20),
descrizione varchar(255),
sequenza text
);
insert into est values(‘’,’BU275994’,’ Cr_Emb_01B02_TEXF1’,’’,’ GGGGAATAATGCTC’);
BIOINFO3 - Lezione 08
1
QUERY
Ci interessano tutti i nomi degli enzimi ordinati alfabeticamente
Vogliamo vedere i nomi degli enzimi, ordinati per lunghezza del
nome e, a parità di lunghezza, alfabeticamente
BIOINFO3 - Lezione 08
2
QUERY
Vorremmo vedere tutti i nomi degli enzimi e la corrispondente
lunghezza della sequenza, ordinati per lunghezza decrescente e, a
parità di lunghezza, in ordine alfabetico
BIOINFO3 - Lezione 08
3
QUERY
Ci interessa sapere il numero degli enzimi che tagliano in
posizione 1
BIOINFO3 - Lezione 08
4
QUERY
Ci interessa sapere il nome e la posizione di taglio degli enzimi
che tagliano fuori della sequenza
BIOINFO3 - Lezione 08
5
QUERY
Come si chiama l’enzima che riconosce la sequenza GGATCC
Ci interessano i nomi e le sequenze riconosciute degli enzimi che
riconoscono sequenze contenenti basi indefinite, ordinati
alfabeticamente secondo il nome
BIOINFO3 - Lezione 08
6
BACKUP
Per sicurezza, vogliamo effettuare un dump del database
BIOINFO3 - Lezione 08
7
Tabella “orfconsensus”
Tabella “orfannotation”
BIOINFO3 - Lezione 08
8
Vogliamo selezionare il campo name dalla tabella “orfconsensus” e il campo
description dalla tabella “orfannotation” relativo ai geni sul chromosoma 1 che
vanno dalla base 100 alla base 5000
select orfconsensus.name, orfannotation.description,
orfconsensus.chromStart, orfconsensus.chromEnd
from orfconsensus,orfannotation
where orfconsensus.chromStart>=100 and orfconsensus.chromEnd<=5000
and orfconsensus.name=orfannotation.name and
orfconsensus.chrom='chr1';
BIOINFO3 - Lezione 08
9
Vogliamo selezionare il campo name, chromStat, chromEnd dalla tabella
“orfconsensus” e il campo description dalla tabella “orfannotation” relativo ai primi
10 geni sul chromosoma 1 che hanno una descrizione che contiene la parola
“transporter”, ordinati per posizione sul cromosoma.
select orfconsensus.name, orfannotation.description, orfconsensus.chromStart,
orfconsensus.chromEnd
from orfconsensus,orfannotation
where orfannotation.description like '% transporter %' and
orfconsensus.name=orfannotation.name and orfconsensus.chrom='chr1' order by
orfconsensus.chromStart limit 10;
BIOINFO3 - Lezione 08
10
REQUISITI UTENTE
Parallelamente (ma spesso è la prima cosa da fare!) bisogna
pensare allo schema esterno, cioè al progetto di una interfaccia
che permetta agli utenti finali di interagire (tipicamente
attraverso INTERNET) in modo intuitivo e semplice (non di
certo attraverso SQL!) con il database e la tabella enzimir in
particolare.
E’ importante che siano chiare quali saranno le esigenze degli
utenti (REQUISITI UTENTE)
Nel nostro esempio, tipicamente un utente vorrà poter
visualizzare i record del database impostando dei criteri di
ricerca. Si potrebbe poi decidere che gli utenti possano anche
cancellare o modificare i record oppure inserirne di nuovi
BIOINFO3 - Lezione 08
11
SCHEMA ESTERNO
Pagina
WEB
iniziale
(MENU)
ENZIMI R.
nome
sequenza
Query
Inserimento
Tabella con i
record selezionati
nome sequenza posiz. sito
posiz. sito
Inserimento
da file
RICERCA
Form di
ricerca
nome
sequenza
file
TROVA
posiz. sito
INSERISCI
Form per
l’inserimento
di un record
BIOINFO3 - Lezione 08
INSERISCI
Form per
l’inserimento
di un file di
record
nome
sequenza
nome
sequenza
posiz. sito
posiz. sito
MODIFICA
Form per la
modifica di
un record
CANCELLA
Form per la
cancellazione
di un record
12
SCHEMA ESTERNO
•Pagina WEB iniziale (MENU)
Funziona da menu, cioè permette all’utente di scegliere quale operazione eseguire tra quelle
disponibili
•Form di ricerca
Permette di inserire in alcune caselle di input, corrispondenti ai vari campi, i valori richiesti per i
record da visualizzare (o di selezionare i valori da un insieme già predisposto)
•Tabella con i record selezionati
Elenca, sotto forma tabellare, i record selezionati dalla query
•Form per la modifica di un record
Permette di modificare un record selezionato, sostituendo direttamente il valore dei campi
•Form per la cancellazione di un record
Permette di cancellare un record selezionato
•Form per l’inserimento di un record
Permette di inserire un record, digitando direttamente i valori dei campi nelle corrispondenti
caselle
•Form per l’inserimento di un file di record
Permette di inserire più record, leggendoli da un file, il cui nome è inserito in una casella di input
BIOINFO3 - Lezione 08
13
ESERCIZIO SQL
Supponiamo che esista una tabella di sequenze EST creata con il seguente
comando
create table est(
gi int unsigned primary key,
acc char(8),
nome varchar(20),
descrizione varchar(255),
sequenza text
)
BIOINFO3 - Lezione 08
14
ESERCIZI SQL
Selezionare tutti i nomi delle est in ordine alfabetico
select nome from est order by nome
Selezionare le sequenze delle est che non contengono nucleotidi
indefiniti (N)
select sequenza from est
where not (sequenza like ‘%N%’)
OPPURE
select sequenza from est where sequenza not like ‘%N%’
Selezionare tutte le sequenze est e la loro lunghezza ordinate per
lunghezza crescente
select sequenza,length(sequenza) from est
order by length(sequenza)
BIOINFO3 - Lezione 08
15
ESERCIZI SQL
Selezionare gi e sequenza delle est che non contengono N e sono
di lunghezza superiore a 200 basi, ordinate per gi
select gi, sequenza from est
where sequenza not like ‘%N%’
and length(sequenza)>200
order by gi
BIOINFO3 - Lezione 08
16
LE PROSSIME LEZIONI
Nelle prossime lezioni impareremo a progettare delle pagine web
contenenti delle form in grado di ricevere degli input dall’utente
Impareremo successivamente anche a scrivere dei semplici
programmi per interpretare gli input ricevuti, interagire con il
database e restituire all’utente delle pagine web con i risultati
opportunamente formattate
BIOINFO3 - Lezione 08
17
RIEPILOGO
•Progettazione di un database di enzimi di restrizione (creazione
di un modello informatico di un aspetto ben preciso e limitato del
mondo reale)
•Analisi
•Schema concettuale
•Schema logico
•Implementazione
•Schema esterno
•Query a volontà...
BIOINFO3 - Lezione 08
18
Scarica

bioinfo3