Informazioni e database
L'importanza di informarsi (e di farlo bene) anche nel contesto delle Biotecnologie.
Viviamo in un periodo in cui l'interconnessione tra le persone, tra queste e le fonti di informazione, è
sempre più presente e importante. Apparentemente, quindi, risulta facile ottenere le informazioni
d'interesse.
Esistono però dei limiti, il primo dei quali è il crescente "rumore di fondo", generato da
informazioni irrilevanti, secondarie e molto spesso ampiamente ridondanti. Probabilmente,
ciascuno di noi ha incontrato più di una volta questo problema "lanciando" semplici ricerche con
Google e ricevendo come risultato decine o centinaia di pagine ridondanti di fonti secondarie,
terziarie..., relative a domande sul tema (magari prive di risposta, o con risposte poco serie o errate)
ecc. Tale rumore di fondo, amplificato dalla prassi del "rilancio" di notizie, commenti e documenti, in
pratica relega l'informazione utile in posizione poco consultabile (ad esempio tra gli ultimi risultati),
impedendo a chi ha fatto la richiesta di individuarla come l'ago nel pagliaio, sebbene l'informazione
stessa fosse stata estratta dal motore di ricerca. Estratta, e poi ri-sepolta dal rumore di fondo.
Un secondo limite è riconducibile alla disinformazione: che si tratti di scienza, sport, politica,
economia, nelle ricerche in rete si incontrano spesso fonti per nulla o scarsamente attendibili che,
per l'assenza di adeguati meccanismi di controllo e feedback, riportano informazioni totalmente o
parzialmente infondate, o distorte. La diffusione di informazioni false, diffamatorie o tendenziose, i
"polveroni" di informazioni fuorvianti e contraddittorie sollevati ad arte per sviare e svilire inchieste e
l'insabbiamento di informazioni veritiere attraverso il gran risalto dato a uno o più eventi secondari
contemporanei o generati proprio per seppellire la notizia scomoda in un trafiletto in pagine
secondarie sono ben note tecniche di manipolazione delle informazioni a fini di lotta politica. Ci si
attende, tuttavia, che le informazioni nel (e dal) mondo "non politico" siano decisamente meno
contaminate e quindi più affidabili. In realtà, invece, in ogni campo bisogna essere prudenti: "voci" e
"rumors" infondati ma diffusi ad hoc possono influenzare le borse, la quotazione di un'azienda e
perfino la solidità del bilancio di uno stato, mettere fuori strada la concorrenza, favorire o sminuire il
successo commerciale di un prodotto, di un albergo ..... tutto ciò, però, è ancora una volta
riconducibile a "disinformazione intenzionale" e si immagina che questo non avvenga almeno nel
campo della ricerca scientifica. E' una presunzione d'innocenza un po' ingenua, soprattutto quando ci
sono in ballo tanti, tanti soldi, come nel caso di prodotti pharma-biotech strategici. Ma il motivo per
cui spesso si incontrano informazioni errate, infondate o distorte è che gran parte delle stesse non è
prodotta intenzionalmente, ma in buona fede.... ovvero, chi rilascia tali informazioni in rete è convinto
di fornire un servizio utile alla comunità, rilasciando informazioni che "crede" essere giuste....
producendo invece "disinformazione involontaria"! Un esempio è rappresentato dalle erronee
informazioni che possono essere (talora, non sempre!) tratte da Wikipedia. Molti la considerano una
fonte affidabile e infatti, oltre ad essere utile, spesso riporta anche informazioni di una certa
completezza e correttezza. Tuttavia, bisogna essere consapevoli della sua gestione open: chiunque
puo' creare e modificare le schede. Schede che, certamente, potranno successivamente essere
controllate da altri e corrette, ma nell'intertempo tra immissione dell'informazione errata (o distorta) e
correzione della stessa, tutti coloro che avranno consultato la scheda, ne avranno tratto una o più
informazioni errate. Purtroppo, per la natura di Wikipedia che non ha dei revisori professionali - e
generando e pubblicando schede in qualunque campo, neppure potrebbe permetterseli - più è specifica
e di settore l'informazione errata, tanto più sarà lenta e improbabile la correzione: insomma, se si
inseriscono errori nella scheda wiki dedicata a un personaggio pubblico o un evento famoso, o si
altera la strofa di una canzone nota in tutto il mondo, verosimilmente la scheda sarà corretta quasi in
tempo reale... ma se si crea o modifica, inserendo errori, la scheda wiki di un gene poco caratterizzato,
il rischio che l'errore resti in rete molto a lungo è concreto. Morale: va bene cercare in Wikipedia
informazioni generiche su un gruppo musicale, una città o una squadra di calcio, ma per informazioni
scientifiche, soprattutto in campi specifici, meglio cercare, o almeno poi controllare, utilizzando fonti
qualificate. Un'altro esempio è fornito dalle Yahoo anwers. Si trovano in rete domande su qualsiasi
cosa e quindi anche su "fatti di scienza". Il problema sono le risposte.... a volte è presente una singola
risposta e non sempre chi risponde ha la capacità di tacere (o in questo caso, non scrivere) quando
dovrebbe..... per non parlare del sistema che individua nella "risposta migliore" quella con il maggior
punteggio: tuttavia spesso una risposta è riportata come "migliore" solo perchè la domanda ha
ricevuto... UNA risposta. Mai prendere sul serio il migliore, se non aveva avversari.... Ma anche
quando le risposte sono molteplici, chi ne valuta l'adeguatezza è a sua volta qualificato come giudice?
Ulteriori esempi di informazioni potenzialmente fuorvianti sono quelle tratte da documenti (ppt, pdf,
doc ecc.) ottenuti con Google o altri motori di ricerca e corrispondenti ad elaborati e presentazioni
per esami, tesi di laurea e dottorato: potrebbe trattarsi del lavoro d'ottima qualità, prodotto dal più
brillante tra gli studenti d'ogni tempo, quanto il risultato confuso e pieno di errori del lavoro di un
azzeccagarbugli...... E' importante insomma, "sapersi muovere" tra le informazioni, utilizzando solo
fonti affidabili, ovvero generate e/o referenziate da esperti qualificati nel campo specifico e
comunque validate da robusti sistemi di controllo della qualità.
Un terzo limite è la scarsa consapevolezza dell'utilità delle informazioni disponibili e, soprattutto,
della fondamentale necessità di reperirle e tenersi aggiornati frequentemente: in molti casi si inizia
a lavorare a un progetto senza essere adeguatamente informati su "cosa è stato già scoperto" nel
campo e "cosa stanno facendo gli altri". Cio' porta abbastanza spesso a trovarsi "bruciati" nella
competizione per un brevetto o una pubblicazione, o in casi meno gravi comportare comunque tanto
lavoro inutile in una tesi o un dottorato.... Se da una parte un certo rischio esiste sempre, soprattutto
nei settori più competitivi, ove team fortissimi lavorano in gran segreto, rischiare di perder tempo,
danaro e forse tutto il lavoro fatto solo perchè non abbiamo cercato, o saputo individuare, preziose e
necessarie informazioni pubblicamente disponibili, ha minori giustificazioni...
Informatica per le Biotecnologie, quindi, deve innanzitutto aiutarci a trovare e gestire informazioni!
Differenza tra servers, database e tools di ricerca e analisi.
Attualmente, le principali risorse bioinformatiche sono accessibili gratuitamente, presso istituzioni di
tipo accademico/pubblico, o a pagamento, presso grandi ditte con team bioinformatici, attraverso
internet. Si definisce postazione client il computer con cui si accede via internet alle risorse di un
server remoto, che può essere sulla stessa scrivania, nello stesso edificio o a migliaia di km di
distanza. Il computer locale o remoto può consentire l'uso di software (o tools) bioinformatici e la
gestione ed interrogazione di database.
Requisiti fondamentali di un database
Alla domanda "cos'è un database?" molti si scoprono in difficoltà, immaginando una risposta
complicata ... Niente di più semplice in realtà! I primi database erano cartacei; basti pensare agli
schedari ed alle cassettiere; l’avvento dei computer ha reso possibile “dematerializzare”, ovvero
immagazzinare i dati in formato digitale, trasformando i database da insiemi di fogli di carta a files.
Tuttavia il concetto non cambia: si tratta di insiemi di dati. Ciò che accomuna database cartacei
“vintage”e database informatici e li differenzia da un insieme disordinato e/o disomogeneo di dati è la
necessità di “ordine ed omogeneità”: un database non solo è una semplice collezione di dati, poiché i
dati devono essere depositati e mantenuti secondo un certo ordine strutturale, che comporta
omogeneità di organizzazione, pur nella differenza dei dati contenuti. Inoltre è fondamentale (e
reso estremamente facile dal formato digitale) che i database siano conservati in copie multiple (backup), per evitare la perdita irreversibile nel caso siano depositati in un solo computer. Per i grandi
database, la distruzione di hard disk o computer rappresenta una perdita minima rispetto all'immenso
valore dei dati, cosicchè è fondamentale garantire che copie multiple siano salvate su più supporti e
server. La distribuzione multi-server ha anche un altro scopo: facilita e velocizza l’accesso,
garantendo contimuità del servizio agli utenti remoti mediante reindirizzamento ai mirror sites: la
modalità di mirroring è particolarmenta utile quando un server molto utilizzato è offline per problemi,
manutenzione o ha un accesso rallentato da troppe utenze contemporanee.
Elementi cruciali dei database: schede, campi e valori.
La figura a destra esemplifica un piccolissimo database:
Si tratta di testo non formattato, ovvero salvato con un editor di testo, che non aggiunge i tag di
formattazione tipici dei word processor (come Microsoft Office o LibreOffice) che appesantiscono il
file: anche un semplice file testo (flat file) può essere un database! Il flat file è un file sequenziale, il
cui testo cioè viene scritto (e letto) in sequenza. I rimandi a capo spesso sono inseriti per consentire
una rappresentazione grafica in pagine, meglio interpretabile dall'occhio umano e più adatta ai mezzi
di visualizzazione (monitor, pagine a stampa ecc.).
Si nota un certo ordine nella disposizione dei dati, distribuiti in 4 gruppi, ciascuno dei quali contiene
cinque tipi di informazioni. Il tutto è intervallato, "scandito" da un sistema ordinato di caratteri.
Ciascuno dei quattro gruppi rappresenta nel mini-database un'unità chiamata entry o record (in
italiano, scheda). L'entry è in pratica una parte di database, che racchiude l'informazione relativa ad
un certo oggetto. Nell’esempio, ciascun record coincide con una persona, di cui descrive numero,
nome, sesso, età ed altezza. Tali caratteristiche, definite fields (in italiano, campi), sono associati a
valori variabili (non necessariamente numerici). Coerentemente con l'ordine e l'omogeneità strutturale
che devono contraddistinguere qualsiasi database, tutte le entries/schede del database devono avere lo
stesso numero, ordine e tipo di campi. Non importa che alcune riportino più informazioni (disponibili
per tutti o quasi tutti i campi) ed altre meno (ovvero manchi l'informazione per alcuni campi): se si
decide di inserire un tipo di informazione creando un campo ad hoc, questo dovrà essere presente in
tutte le entries/schede, anche quando l'informazione/valore non è (ancora...) disponibile. Bisogna
infatti ricordare che i database sono continuamente aggiornati e che, quindi, i valori saranno
progressivamente aggiunti, non appena noti.
In un database flatfile l'organizzazione deve rendere distinguibili record, campi e valori. Nell’esempio
"-----" funge da separatore di record, i due punti delimitino i campi dai rispettivi valori ed i caratteri
di "a capo"(o nuova riga) separano le varie coppie campo-valore:
Il campo chiave o primary key è speciale, poiché non può assumere un valore già appartenente ad un
altro record in quanto deve consentire l'identificazione univoca del record, rendendolo distinguibile
da tutti gli altri. Nell'esempio, i record sono pochi e mostrano valori differenti, ma è intuibile
l'importanza del campo chiave in un database di centinaia o migliaia di records. In tal caso, molti
record possono presentare valori uguali in uno o più campi (stesso sesso, o nome, altezza....) e solo la
numerazione progressiva del campo chiave "numero" consente di distinguere con certezza ciascun
record. Torniamo all’esempio: già con solo 4 record, il campo “sesso” non consente identificazione
univoca, poiché tre soggetti sono maschi. Centriamo ora l’attenzione sul nome, ad esempio Maria. In
Italia è il nome femminile più comune (frequenza pari a circa 7.6%) e nel mini-database di sole 4
persone compare una sola volta. Ampliandosi progressivamente le dimensioni del database, il nome
Maria potrà identificare univocamente una persona solo se associato ad un altro indicatore, ad
esempio l’altezza o l’età, ma prima o poi l’estensione del database determinerà la presenza di persone
uguali per nome, sesso, età e altezza:
Dunque, solo il campo chiave, ovvero un numero progressivo nell’esempio, potrà mantenere
l’identificazione univoca indipendentemente dalle dimensioni del database. Il campo chiave nei
database bioinformatici ha spesso un altro nome e assume valori alfanumerici (numeri e lettere), non
necessariamente progressivi, sebbene unici. La numerazione semplice, infatti, può creare problemi
nelle ricerche, poiché se tutti i database bioinformatici adottassero come chiave primaria i numeri
naturali, a ciascun numero corrisponderebbero i record di più database. Per evitare ciò, nel creare un
nuovo database si ricorre a un sistema di alfa-numerazione tale da evitare sovrapposizioni con quanto
già esistente. Ciò, in fondo, accade anche per i database non bioinformatici: gli identificativi dei codici
fiscali, ad esempio, sono differenti da quelli delle targhe, a loro volta basati su sistemi che consentono
di distinguere la targa di un paese da quella di un altro ecc.
Che i dati in un database siano relativi a persone, merci o biosequenze, la logica di compilazione non
cambia. La figura che segue mostra una porzione della banca dati di proteine Uniprot (curata dal
centro bioinformatico europeo, EBI), nella quale sono visibili un'intera entry e l'inizio della
successiva, marcato dalla sequenza di caratteri "//" che fa da separatrice di record:
I nomi dei campi, rappresentati con due lettere maiuscole ad inizio riga, sono seguiti dai
corrispondenti valori. Le sigle a inizio riga servono anche a far capire che alcuni campi occupano più
righe consecutive (man mano che giungono nuove informazioni grazie al lavoro sperimentale, in molti
casi diventa impossibile contenere tutti i dati in una sola riga di testo). E' possibile ottenere indicazioni
complete sul formato Uniprot (per formato si intende la strutturazione ordinata dei caratteri, non la
presenza di formattazioni. Si tratta sempre di testo semplice) attraverso la sua guida in linea; qui di
seguito, invece, si forniscono indicazioni sui campi principali.
I campi Identification (ID) ed Accession Number (AC) riportano codici identificativi creati dai
gestori del database. Il campo ID solitamente occupa la prima riga di un'entry ed include elementi
descrittivi: nome abbreviato della sequenza, lunghezza, organismo ecc. Invece il campo chiave AC è
un codice alfanumerico, per definizione univoco e stabile rispetto agli aggiornamenti del database.
Mentre l'ID può cambiare (anzi, deve) in conseguenza del miglioramento dell'annotazione - ad es. nel
passaggio da generata automaticamente (preliminary ID) a revisionata manualmente (standard ID) l'AC non cambia ed è preservato. In caso di fusione tra record, ad esempio, tutti gli Accession Number
sono mantenuti e distinti in un AC primario ed uno o più AC secondari. Poiché gli AC sono indicati
in molte pubblicazioni, è molto importante che siano mantenuti: ad esempio, se in un articolo del 2008
ad un gene è associato un certo AC, è possibile giungere alle informazioni più recenti di una nuova
scheda del gene, se all’AC primario della scheda recente è associato l’AC secondario “vecchio”. E'
vero anche il contrario: partendo da un AC più recente si ritrovano gli AC "vecchi" che sono utili
anche per informazioni, associate alle schede originarie, non sempre pubblicate. I database utilizzano
differenti codifiche di AC, per garantire l'identificazione univoca anche tra record di database diversi.
E' quindi opportuno far riferimento all'AC di una sequenza come suo identificativo unico. Esso
permetterà di risalire direttamente e senza incertezze alla entry di interesse in un certo database e, con
buona probabilità, anche in diversi altri.
Accordi tra i principali istituti bioinformatici mondiali favoriscono - attraverso lo scambio reciproco e
periodico delle sequenze depositate - l'aggiornamento delle banche dati, nelle quali sono riportati
come cross references i codici d'accesso relativi ai record equivalenti degli altri database. Uno degli
attuali problemi della bioinformatica è la dispersione dei dati in un numero eccessivo di database: tale
"torre di Babele" elettronica può confondere le interrogazioni e generare false piste. Un aspetto
positivo nello sviluppo dei nuovi database è però la proposizione di nuovi e più efficienti sistemi di
catalogazione, ovvero una continua revisione della struttura con cui le entry sono compilate e dalla
quale dipende la possibilità di interrogazione del database. Talora le organizzazioni che gestiscono i
database più importanti possono trarre suggerimenti da sistemi più efficienti di catalogazione ed
interrogazione associati a database minori. Struttura e contenuto di una entry Uniprot sono riassunte in
una tabella tratta dalla già citata guida in linea.
L'annotazione di una entry dipende da tipologia e numero di campi; la sua qualità non dipende solo
dal numero di caratteristiche riportate, ma soprattutto da quanto correttamente sono immesse in
ciascuna scheda e verificate. La descrizione dei campi può essere più o meno esplicita, in funzione di
sigle o nomi; in tempi recenti si sta diffondendo l'utile abitudine di associare alla sigla o nome del
campo un "link" che rimanda ad una pagina web con le spiegazioni sul campo stesso. Nella scheda
Uniprot, come nelle schede di altri database di biosequenze, rivestono fondamentale importanza, oltre
ovviamente al campo che riporta la sequenza (SQ), i campi relativi alle informazioni tassonomiche
(campi OS , OC ed OX), al nome del gene codificante (Gene Name, GN), alle informazioni
bibliografiche, che riportano la prima pubblicazione inerente la sequenza, ma spesso anche le
successive, alle date (DT) di deposito ed aggiornamento della sequenza. Infine, la differenza in
termini di ricchezza di annotazione tra record in un database e tra database, è da cercare tra le
caratteristiche o proprietà (FEATURES o FT) associate alla sequenza, quali ad esempio attività
biochimica, presenza di domini o motivi ecc. Un riferimento per la ricerca rapida di sequenze
associabili ad un certo argomento o ad una funzione è quanto indicato nel campo delle parole chiave
(KEYWORDS o KW).
Per evitare malintesi è fondamentale conoscere le convenzioni usate dai curatori di un database.
Sapere che parole come "Potential", "Probable" e "By similarity" indicano un'informazione non
supportata da evidenze sperimentali è certamente non marginale...
Si passa ora ad un esempio di database flat file, un formato di dati estremamente diffuso, per
rinsaldare il concetto principale: un database è necessariamente la combinazione di un contenuto e
di un suo ordine strutturale, che nel caso dei file di testo si traduce in una determinata
organizzazione di caratteri. L'entry presentata nella figura precedente è mostrata in differente formato,
in testa ad altre tre che la seguono, nella figura che segue:
Il simbolo ">" segna l'inizio di un record ed è seguito da testo descrittivo, che nell'esempio racchiude
il valore del campo ENTRY_NAME (riga ID del formato Uniprot) e, separati da uno spazio ed in
successione, l'AC delimitato da parentesi tonde ed il valore del campo description (DE). La fine di
questa prima riga coincide con un carattere di "a capo", al quale segue la sequenza aminoacidica
distribuita in righe da 80 caratteri. Si tratta del formato FASTA, estremamente sintetico e snello
(pochi campi rappresentati direttamente dai loro valori), nonché di semplice struttura e per questo il
più usato come formato d'input dagli algoritmi di analisi di sequenza.
Anche in questo caso si deve pensare alle dimensioni dei database: per uno strumento d’analisi
“scorrere” lungo il flatfile contenente le informazioni complete del record standard o quelle ridotte
della sua versione FASTA non fa molta differenza. Quando però deve cercare la sequenza di ciascun
record di un database con decine o centinaia di migliaia di record, la differenza di tempo si sente....
allo stesso tempo, per l'interpretazione rapida, è importante associare alla sequenza non solo l'AC (che
poi rimanda univocamente alla scheda completa) ma anche l'ID (che con la descrizione consente di
farsi velocemente una prima idea dell'oggetto).
L'indicizzazione ed i limiti dei flat file
Le figure appena mostrate sono solo porzioni di due database (UniprotKB/Swiss-Prot, in formato
Uniprot e fasta) che contengono centinaia di migliaia di entries. Va quindi considerata l'enormità di
tali file, che, per quanto contenenti solo semplice testo, rimangono comunque scomodi per ricerche e
modifiche mirate. Un ausilio è sicuramente fornito dall'indicizzazione, ossia dalla creazione di indici
che associano, per il/i principale/i campo/i, i valori assunti alla loro posizione nel file. Esattamente
come gli indici analitici dei libri, questi nuovi file, sicuramente più piccoli e "leggeri", permettono di
raggiungere direttamente una parola all'interno del testo, a vantaggio della velocità di ricerca.
Tuttavia, se dal libro togliamo una pagina, gli indici devono essere riscritti... così come rimane
impossibile operare dirette modifiche "puntuali" senza dover "reimpaginare" tutto... Si può
comprendere come il problema sia costante per database enormi, corrispondenti a un libro con
migliaia o milioni di pagine, in cui ogni giorno fluiscono dati che fanno slittare diverse pagine! In
questi casi una differente organizzazione è assolutamente necessaria.
Database relazionali e DBMS
Questi limiti portano a introdurre l'altro principale tipo di banche dati, i database relazionali ed i
sistemi preposti alla loro gestione, i database managment system (DBMS), che offrono enormi
poteri d'intervento. L'organizzazione dei dati è concettualmente semplice; l'informazione è infatti
strutturata in tabelle, nelle quali ogni riga è un record e ogni colonna un campo:
In pratica, un determinato campo di una specifica entry corrisponde ad una cella e i cambiamenti
nell'informazione in essa contenuta (valore) non determineranno lo spostamento della cella, che avrà
sempre le stesse coordinate. Ciò consente un'indicizzazione stabile e velocizza i sistemi di ricerca,
poichè quando si seleziona un campo, in database flatfile si scorre sequenzialmente nel testo delle
entries, mentre in database tabellari si scorrere nella sola colonna del campo selezionato.
I DBMS permettono di definire, selezionare e manipolare i dati. L'utente può infatti formulare
richieste al DBMS, che provvede ad eseguirle sul database, in un linguaggio specifico o structured
query language (SQL), che non fa uso di codici o simboli algebrici e quindi risulta lineare ed
espressivo, molto vicino ad un elementare inglese tecnico. Le richieste (queries) formulabili possono
essere molto complesse e mirate, grazie alle possibili combinazioni (da qui l'appellativo "structured")
ed all'uso di clausole specifiche. Per quanto le queries possano essere complesse, il DBMS
provvederà a tradurle operativamente. Anche per l'indicizzazione tutto diventa più semplice: una volta
creati gli indici per i campi desiderati, sarà il DBMS a gestirne l'aggiornamento nel tempo. Questo
tipo di rapporto "client-server", molto frequente in informatica, è schematizzato nella figura che
segue; una richiesta formulata in linguaggio SQL è inoltrata al DBMS - tra i più diffusi Oracle,
MySQL e PostgreSQL - che la esegue sul database, restituendo i risultati:
Tutto ciò può, ma non necessariamente deve, verificarsi interamente sul computer locale:
È anche possibile infatti che il database si trovi fisicamente su un altro computer (remoto) più o meno
lontano e collegato in rete al computer locale (figura a sinistra) o che anche il DBMS non sia installato
sul computer locale (figura a destra):
Anche quest'ultimo è un caso di relazione client-server, in cui il computer locale (client) inoltra
richieste ad un secondo computer (server), in cui risiede il DBMS, che provvede alle operazioni sul
database (eventualmente presente su un ulteriore terza macchina...) e restituisce risultati. Solitamente
gli utenti occasionali si collegano come client a server che contengono tutto (DBMS e database, ma
quando sono da svolgere ricerche intensive, non è possibile lavorare on line in modo proficuo. I
server, infatti, adottano due strategie principali per impedire a un singolo client di eseguire migliaia di
richieste: escludono il client, inviando un warning message di attività non consentita, oppure accettano
la sua prima richiesta (ad es. analisi relativa alla prima sequenza), ma mettono la seconda in coda a
tutte le prime richieste degli altri client, la terza in coda a tutte le seconde e così via.... In tal caso, è
necessario dotarsi di DBMS locale e scaricare sul proprio computer i database da consultare (essendo
pubblici, sono liberamente scaricabili dai server bioinformatici insieme a numerosi tools d’analisi).
La trasmissione delle richieste che il client invia al server ed i corrispondenti risultati, possono essere
ulteriormente mediati da interfacce grafiche di facile uso, che permettono di inserire i parametri della
ricerca o più in generale della richiesta e si occupano di trasmetterli al server ed incorporarli nelle
queries. Analogamente, elaborano graficamente i risultati ottenuti dalle interrogazioni. Tale sistema è
comunissimo e chiunque ne avrà fatto esperienza più o meno consapevole navigando il web:
La figura che segue è un esempio di come il risultato di un interrogazione possa essere presentato
attraverso interfaccia grafica. L'esempio non è casuale, perchè raffigura una porzione dell'entry
presentata in precedenza. Si può notare come il suo contenuto sia equivalente:
Un link in fondo alla scheda rimanda alla sequenza in formato fasta, ossia al file di testo:
Si chiude il cerchio... la stessa informazione può essere fornita in maniera semplice (testo non
formattato, ma ben ordinato) o conservata in formato tabellare da programmi gestori appositi, infine
estratta e presentata in vario modo (interfacce web). Tuttavia i concetti di fondo non cambiano e
siamo pronti a riconoscere i dati sotto qualsiasi forma.
Si deve sottolineare il fatto che i database relazionali rappresentano il sistema elettivo per le ricerche,
ovvero meglio si adattano ai comandi dei DBMS. Tuttavia i database sono quasi sempre organizzati
sia in forma tabellare che sequenziale, in modo che la prima possa essere utile per le ricerche veloci e
specifiche e la seconda possa rappresentare l'interfaccia più adatta alla consultazione umana. In
pratica, quando l'entry viene rintracciata, "cliccando" sul link alla stessa (spesso consistente nell'AC),
il sistema non richiama la tabella bensì si collega all'entry in forma flatfile, visualizzata come "pagina"
e quindi più adatta alla lettura da parte dell'essere umano.
Nei database non sempre le informazioni sono interpretabili mediante lettura e talora sono necessari
tools di traduzione grafica. Si confronti ad esempio la figura che segue le entry testuali UniProt:
Niente di nuovo, se non per il diverso contenuto di informazioni! Si comprende che dati in tale
formato possono non essere interpretabili “ad occhio” in assenza di adeguati programmi in grado di
far corrispondere un’immagine alle coordinate atomiche (molecular viewers). In tal modo pagine di
numeri e caratteri sono convertiti a video in immagini come questa:
Invece di dati di sequenza, c'è qualcosa che deriva dalla sequenza, ad un livello successivo di
complessità: la struttura tridimensionale di una proteina, ossia le sue coordinate atomiche nello spazio.
In particolare, in figura é riportata parzialmente una scheda del principale database di strutture, il
ProteinDataBank (PDB): semplice testo che, ben ordinato, racchiude le informazioni di interesse,
raffigurabili poi graficamente con appositi viewers.
Banche dati primarie e secondarie
Mentre le banche dati primarie riportano le informazioni basilari (di fatto le sequenze in sè e le
principali informazioni necessarie ad accompagnarle), le banche dati secondarie aggiungono dalle
prime elementi che, come detto, derivano dalle sequenze. Oltre all'esempio delle coordinate atomiche
(che dipendono dal fold), si possono citare esempi di dati non necessariamente concreti, ma
eventualmente virtuali, che registrano la ricorrenza di elementi regolari all'interno delle sequenze
oppure riportano informazioni peculiari specifiche. Tali informazioni trascendono dalla sequenza,
perchè sono in essa contenuti, ma non appaiaono immediatamente visibili. In pratica, i dati possono
essere “biologicamente” secondari (ad esempio sequenze proteiche dedotte, “secondarie” in quanto
derivanti dalla traduzione con il codice genetico delle sequenze primarie di DNA) o
“informaticamente” secondari (ad esempio, sequenze consenso ottenute per confronto di sequenze
reali). Come si vedrà durante il corso, il passaggio da dati primari a dati secondari non è banale,
perchè segna il passaggio della bioinformatica da mero sistema di gestione di biosequenze a strumento
di dissezione funzionale di elementi biologici. Delle banche dati secondarie si parlerà estesamente
lungo il prosieguo del corso. Nella figura che segue sono riportate le principali banche dati primarie
mondiali:
Organizzazioni internazionali e principali database. Risorse NCBI ed EBI.
Con lo sviluppo delle tecniche di sequenziamento massivo la genomica ha acquisito miliardi di
sequenze, rendendo la quantità di dati da analizzare e gestire enorme. In poche parole, anche la
biologia è divenuta “big science” e il deposito dei dati, ma soprattutto la loro analisi, richiedono
risorse informatiche ingenti e cluster di migliaia di processori:
I piccoli team hanno ancora un ruolo, soprattutto nella creazione e gestione di database
iperspecializzati; tuttavia spesso i loro servizi hanno vita breve perchè l’ideatore o il principale
curatore, spesso un brillante dottorando o post-doc, per motivi di carriera deve lasciare il gruppo e
non sempre è rimpiazzato:
In Europa, molti istituti sono associati alla rete EMBnet (European Molecular Biology network),
strutturata su una serie di "nodi" nazionali, alcuni dei quali hanno caratteristiche particolari. Tanto in
Europa quanto negli USA sono state anche istituite organizzazioni in grado di gestire le grandi
quantità di dati associabili ai database "globali" (preposti a catalogare e annotare massivamente i dati
di sequenza del DNA e delle proteine) ed a numerosi database "specializzati" ma particolarmente
ricchi in sequenze o strutture e relative informazioni. Negli Stati Uniti la più importante
organizzazione bioinformatica è l'NCBI (National Center for Biotechnology Information), sorta in
collaborazione tra la NLM (National Library of Medicine) dell'NIH (National Institute of Health) e
l'agenzia governativa per la ricerca. I database dell’NCBI sono collegati per favorire l’accesso al
maggior numero possibile di informazioni:
In Europa l'EMBL (European Molecular Biology Laboratory, la più importante organizzazione
transnazionale per la ricerca biomolecolare) ha dato origine all'EBI (European Bioinformatics
Institute), che gestisce le banche dati europee. Un altro centro europeo importante è il SIB (Swiss
Institute of Bioinformatics), che per anni ha gestito la miglior banca dati mondiale di sequenze
proteiche (Swiss-Prot) ed attualmente collabora con l'EBI alla gestione ed annotazione delle
sequenze di Swiss-Prot e TrEMBL. Tra i più grandi centri bioinformatici internazionali si possono
citare anche il DKFZ, il CEPH, il SANGER center, ma ve ne sono numerosi altri. La più importante
banca dati giapponese è la DNA Data Bank of Japan o DDBJ, che collabora con EBI e NCBI.
Genbank, EMBL e DDBJ fanno parte della International Nucleotide Sequence Database
Collaboration (INSDC) e scambiano informazioni su base giornaliera.
Tale politica di scambio totale ed accesso libero alle informazioni prevede standard condivisi per la
formattazione delle entries e per la presentazione dei dati. Tuttavia non possono essere esclusi
problemi di interscambio e, considerate anche alcune differenze nell’organizzazione dei campi e
nella definizione dei valori (ad es., uso di nomi alternativi di geni e proteine), quando si effettuano
ricerche su un database è errato dare per certo che le informazioni reperibili siano identiche a quelle
che possono essere ottenute considerando i database collegati.
L'importanza di un database è relativa alle ricerche che un gruppo svolge in un dato momento,
cosicché un database specialistico può essere fondamentale per alcuni e risultare ignoto ad altri. Se
per importanza si intende la completezza dei dati relativi a classi di molecole, progetti genomici,
strutture, organismi modello, allora su tutti spiccano in particolare alcuni database, prevalentemente
europei e americani. E’ difficile separare la realtà di un database da quella del sistema di
interrogazione, poichè gli stessi sono sempre più integrati. Ha più senso, pertanto, fare riferimento a
"poli" bioinformatici, che allocano risorse su più server dedicati ed interconnessi:
- risorse del server EBI: oltre al database EMBL, prima banca dati al mondo di sequenze
nucleotidiche, l'insieme di database gestito dall'EBI comprende anche il database di sequenze
proteiche UniProtKB, nel cui acronimo “KB” sta per “knowledgebase”, ovvero database di
conoscenza, in quanto integra il miglior database mondiale di sequenze proteiche annotate, SwissProt gestito dal SIB, con il più vasto TrEMBL (compilato grazie alla traduzione dinamica delle
sequenze codificanti) e con PIR. L'EMBL database, che include ulteriori risorse, è definito "virtual
library" ed è organizzato in sezioni; ciò è particolarmente utile in quanto consente interrogazioni
limitate a tali sezioni ed a sottosezioni, garantendo ricerche più specifiche e veloci. Ad esempio, la
sottosezione "new" contiene solo le sequenze di più recente immissione nel database; ciò favorisce la
ricerca sistematica poichè, una volta effettuata una ricerca sul database completo, essa potrà essere
aggiornata limitandosi alla sottosezione new, estraendo le ultime sequenze di interesse depositate,
senza perdere tempo a cercarle nell'intero database.
- Genbank: è la più importante banca dati americana, gestita dal l'NCBI e strutturata due anni dopo la
creazione dell'EMBL library. Le schede di Genbank sono organizzate in modo leggermente diverso
rispetto a quelle di EMBL. Sebbene esista un accordo con l'EBI, finalizzato allo scambio reciproco
dei dati, per essere sicuri di reperire il massimo in termini di informazioni, converrà cercare le
sequenze di DNA e proteine sia nei database europei che in quelli americani. In tal caso, si
estraggono molte sequenze ridondanti, ma si identificano anche sequenze presenti in solo uno dei
database o si rilevano differenti predizioni delle sequenze codificanti.
- Ensembl: dedicato alla genomica, integra database e sistema di interrogazione. Nato dalla
collaborazione tra EMBL-EBI e Sanger Institute, è finanziato principalmente da Wellcome Trust.
Gli organismi i cui genomi sono analizzabili presso il sito Ensembl sono molti, a vari livalli di
completezza ed annotazione, tra i quali uomo, topo, ratto, cane, Drosophila e zanzara, C. intestinalis,
C. elegans, lievito ecc.
Oltre ai server “generalisti”, ve ne sono numerosi che sono indirizzati a specifiche comunità di
studiosi. Si possono così distinguere server “organism-based”, sui quali sono allocati i database
nucleotidici e proteici relativi a organismi modello assieme ad informazioni utili per lo studio degli
stessi (pubblicazioni, collezioni di mutanti, link a laboratori ecc.), altri indirizzati a chi opera nel
campo della genetica biomedica, database “molecule-based” (ad esempio relativi ad anticorpi,
kinasi, CD antigens ecc..), “function-based” (raccolte di motif, profili, domini, signatures ecc..),
tassonomici dedicati a studi di filogenesi ecc. Quelli che seguono sono solo alcuni tra numerosi
esempi; NON saranno oggetto di domande specifiche d'esame, ma sono riportati - e si consiglia
comunque la lettura - per utilità di informazione:
- OMIM: il database OMIM (Online Mendelian Inheritance in Man) è dedicato a geni e fenotipi
umani con ereditarietà mendeliana. Chiunque lavori nel campo delle malattie genetiche e della
biomedicina si ritrova costantemente a contatto con informazioni relative ad OMIM.
- GENEATLAS: come OMIM, contiene informazioni utili a chi studia i geni umani ed opera nel
campo della biomedicina e delle malattie genetiche.
- MIPS yeast genome database: il genoma di Saccharomyces cerevisiae ha rappresentato il primo
successo in un progetto di sequenziamento di un intero genoma eucariotico ed il database che ne
contiene la sequenza di DNA è tuttora prezioso per analisi evoluzionistiche e funzionali.
- TAIR (The Arabidopsis Information Resource): Arabidopsis thaliana rappresenta la pianta modello
nella sperimentazione genomica, biomolecolare, evoluzionistica ed agrobiotecnologica, in quanto
sono disponibili ampie collezioni di mutanti ed il suo è stato il primo genoma vegetale sequenziato.
Il sito contiene un database annotato con sequenze genomiche, trascritti e sequenze proteiche di
Arabidopsis, nonchè link a risorse correlate (stock di semi, collezioni di mutanti ecc.).
- ACEDB (A Caenorhabditis Elegans Data Base): è l'equivalente dei database appena illustrati per il
nematode modello genomico e di sviluppo C. elegans; recentemente ha incluso anche dati relativi a
Brachidanio rerio (zebrafish).
- PDB: è un'importantissima risorsa per accedere a strutture proteiche, molto ben organizzata e che
fornisce anche la possibilità di ottenere gratuitamente, via ftp, i software necessari per la
visualizzazione delle strutture.
- PROSITE: rappresenta il più noto esempio di database funzionale (sarà trattato in seguito), ovvero
contenente sequenze associabili a funzioni quali motivi e pattern conservati.
- Pfam: banca dati specializzata nella catalogazione dei domini proteici; sarà trattata più ampiamente
in seguito.
- InterPro: uno dei più recenti "sistemi integrati" per l'analisi delle proteine. Dalla home page di
InterPro si può accedere a numerosi database dedicati.
Non può essere infine dimenticato PubMed, gestita ed aggiornata dall'NCBI, contiene un enorme
numero di referenze bibliografiche e riveste enorme importanza negli studi biomolecolari,
biotecnologici ed anche bioinformatici.
L'elenco potrebbe continuare su molte pagine con numerosi database più o meno "importanti", ma
ciò non è necessario in quanto sistemi di ricerca e server bioinformatici sono interconnessi
dall’ampio uso di "link" all'interno dei campi di ciascuna entry e sulle pagine e sottopagine dei siti.
Interrogazioni semplici e complesse. SRS, Entrez, PubMed/Medline.
La possibilità di reperire informazioni biologiche dipende tanto dai sistemi di interrogazione quanto
dalla struttura che hanno i database. La struttura delle banche dati è variabile ma, indipendentemente
da numero e tipo dei campi presenti nelle entries, o dal numero di queste ultime, le possibilità di
interrogazione dipendono anche dal formato che ha il database. Il formato più semplice (flatfile)
consente la lettura di tutte le informazioni contenute tanto al sistema di elaborazione informatica
quanto, direttamente, all'occhio umano ed il suo formato descrittivo (e sequenziale) si presta bene
alla compilazione rapida ed efficace di database di biosequenze. Tuttavia, le banche dati che
richiedono sistemi di interrogazione più complesse, quali quelle genomiche o alcune banche dati che
riportano dati strutturali, topologici o di network d'interazione adottano sistemi relazionali (tabellari)
o anche object oriented (che possono essere paragonati a scatole cinesi, dal momento che
consistono in oggetti o superclassi che contengono altri oggetti o sottoclassi). I sistemi che
interrogano questi database non procedono in modo sequenziale e si spostano secondo le direttrici
indicate dalle scelte di interrogazione, che orientano le ricerche su specifici oggetti.
I motori di ricerca più utilizzati nella ricerca di sequenze, strutture ed altre informazioni biologiche
sono quelli gestiti dall'NCBI e dall'EBI. Entrambi i motori di ricerca consentono sia l’accesso a
banche dati bibliografiche, in particolare a Medline, che a database di sequenze. Nel tempo le
ricerche bibliografiche con PubMed, motorizzate da Entrez, sono divenute uno standard ed ormai ha
poco senso utilizzare i sistemi alternativi.
La home page di Entrez solitamente è preimpostata per ricerche su PubMed, ma il motore di ricerca
può essere reindirizzato ad un'altra sezione attraverso presente nel menu a tendina. Entrez consente
interrogazioni semplici, nelle quali il termine indicato è cercato in tutti i campi, senza specificità: si
seleziona la sezione di interessa (ref. bibliografiche, sequenze nucleotidiche, proteiche ecc.), poi si
inseriscono nella finestra d’interrogazione una o più parole (in inglese, o in latino per i nomi di
specie), che il sistema di ricerca collega automaticamente con l'operatore booleano "AND". Entrez
può estrarre in tempi brevi molte entries, presentate 20 per pagina, salvo diversa indicazione (da 5 a
500 / pagina) da parte dell'utente. Anche l'ordine di presentazione può essere modificato. La
modalità di presentazione (Display) dell'elenco delle entries è preimpostato su "Summary", ma
l'elenco può presentare anche altri formati, ad esempio per ciascuna entry può essere mostrata la
sequenza in formato FASTA. La scheda completa di ciascuna entry è richiamata "cliccando" sul
relativo accession number:
Negli anni passati Entrez consentiva ricerche abbastanza evolute in tutte le sezioni e ciò permetteva
di limitare abbastanza - anche se non del tutto - il numero di falsi positivi. Progressivamente la
politica di gestione del browser americano ha preferito l’abbondanza di informazioni alla specificità
di estrazione; oggi è ancora possibile rendere le ricerchè più specifiche, ma il sistema non è
particolarmente evoluto:
La politica del motore di ricerca europeo si è indirizzata per molti anni verso ricerche molto più
specifiche, talora perdendo ricchezza d’informazione. La competizione ha portato a due perdenti e
nessun vincitore, poiché ricerche di qualità devono essere sia complete che specifiche; si spera
quindi che una maggiore collaborazioni porti all’integrazione delle risorse.
Nelle interrogazioni semplici è importante tenere a mente regole altrettanto semplici:
- l’uso o l’aggiunta di parole “generiche” come “protein” o “gene” non rende le ricerche specifiche,
poichè queste parole sono estremamente condivise dalle schede
- quando un nome può essere indicato anche come sigla (ad es. protein tyrosine kinase = PTK) è
opportuno svolgere la ricerca in modo non alternativo e non combinatoriale, poichè in alcune schede
potrebbe esserci solo il nome per esteso, in altre solo la sigla ed in altri ancora entrambi.
- per estrarre tutte queste schede si deve usare l’operatore logico “OR”, che cerca il nome esteso o la
sigla indipendentementa dalla presenza dell’altro elemento.
Il motore SRS presso il sito dell'EBI ha consentito fino a febbraio 2013 ricerche molto precise e
sofisticate. Questo motore di ricerca è stato poi acquisito da una ditta e, a partire da marzo 2013, le
banche dati EBI sono state progressivamente rimosse da SRS. Ora sulla home page dell'EBI è
direttamente disponibile un'interfacia di quick search, purtroppo molto più simile a quella di Entrez
che non a quella di SRS, quindi non particolarmente specifica:
sono indicati i nuovi motori di ricerca da utilizzare per ricerche nei singoli database. Alle bance dati
nucleotidiche si può accedere ora attraverso l’interfaccia dell’European Nucleotide Archive (ENA),
che consente interrogazioni, non molto articolate, per testo e per sequenza:
UniprotKB aveva già un suo motore di ricerca, che consente ricerche avanzate ma non quanto quelle
di SRS. In particolare, con il motore di UniprotKB è possibile aggiungere una chiave di ricerca
associandola con uno degli operatori booleani AND, OR o NOT ad un campo specifico. Ciò è
particolarmente utile per eliminare falsi positivi, ad esempio specificando l'organismo da cercare nel
campo OS (organism source) oppure l'attività biochimica nel campo DE (definition). In attesa che
sia sviluppato da EBI un nuovo motore di ricerca integrato evoluto quanto SRS, a scopo didattico si
presentano comunque le caratteristiche di SRS come sistema per le interrogazioni complesse, dal
momento che questo motore di ricerca esiste ancora (è ad esempio reperibile, con più di 1000
libraries consultabili, presso il server DFKZ ad Heidelberg) e soprattutto perchè i meccanismi di
interrogazione che esso utilizza sono di significato generale.
L'interfaccia dell'SRS presenta la possibilità di operare - come Entrez - interrogazioni semplici (in
modalità Quick Text Search); tuttavia SRS è utilizzato al meglio per interrogazioni complesse. In tal
caso il primo passo è la selezione del/dei database in cui effettuare la ricerca, che si effettua nella
Library Page, nella quale compaiono sezioni di database, alcune delle quali sono mostrate già
aperte. La selezione iniziale di uno o più database è il primo passaggio che rende più specifica (e
veloce) l'interrogazione (query), evitando di estrarre positivi da database che non interessano e
risparmiando il tempo di consultarli inutilmente. Sono disponibili informazioni rapide (pop up) o più
approfondite (cliccando il link) su ciascun database disponibile:
Una volta selezionati i database, si passa alla pagina di interrogazione (Query Form), che mette a
disposizione un'interrogazione complessa rendendo compilabili fino a quattro campi (Fields), con
termini di ricerca (search terms) combinati mediante i classici operatori booleani AND, OR e BUT
NOT.
Nella Query Form standard le 4 finestre di ricerca sono preimpostate in modalità di ricerca "AllText"
(ovvero in tutti i campi): ciò richiama il massimo numero di entries ma porta a risultati meno
specifici e ad un elevato rumore di fondo. Inoltre è preimpostata l'opzione "append wildcards to
words", che estrae anche le parole che "contengono" la query. In generale, tale opzione è utile
quando si vuole che non pesi il plurale/singolare (ad esempio, digitando "exon" saranno estratti
anche i record contenenti la parola "exons") ma è da deselezionare quando rischia di far perdere
specificità; ad esempio, in modalità senza wildcard l’interrogazione con "transducin" (nome di una
proteina) è specifica, mentre l’aggiunta della wildcard comporta l’estrazione di numerosi falsi
positivi contenenti la parola "transducing". Numero e tipo di campi in cui effettuare le ricerche
dipendono dal database selezionato; pertanto, se nella library page si sono selezionati più database,
la ricerca può essere effettuata solo nei campi condivisi (ciò non vale solo per SRS, ma per qualsiasi
sistema di ricerca integrato). Ad esempio, se l'interrogazione cercherà sia in EMBL che in
UniProtKB, saranno selezionabili solo i campi condivisi dai due database ma non quelli specifici
dell’uno o dell’altro.
Effettuare ricerche in campi specifici anzichè in modalità All Text rende le interrogazioni più
specifiche e veloci. Ad esempio, con una Quick Search human calcium channel il sistema cercherà
le tre parole in tutti i campi, indipendentemente da ordine ed associazione e saranno quindi estratte
anche schede che non riguardano canali del calcio umani (falsi positivi). Gli esempi possibili sono
numerosi: human channel (nel campo description) per i quali la parola calcium può comparire in
altri campi (regulated by a calcium-dependent protein kinase; interacting with a calcium-binding
protein ecc.), oppure canali del calcio di altri organismi che mostrano similarità con quelli umani
(mouse calcium channel, similar to human....) oppure proteine umane che regolano canali del
calcio (human calcium-dependent protein kinase regulating potassium channel...) ecc.
Per rendere più specifica la ricerca, si potrà sostituire "AllText" con "Description" nella prima
opzione di interrogazione (inserendo nuovamente le parole "calcium channel", che quindi saranno
cercate nel solo campo description e non in tutta l'entry) e con "Organism" nella seconda (inserendo
il nome di specie "Homo sapiens").
Sui siti dedicati a database di tipo genomico può essere seguito un sistema di interrogazione che
prevede una serie di passaggi progressivi, da pagine principali a sottopagine. Ad esempio, Ensembl
media l'accesso a pagine dedicate ai genomi di numerosi organismi modello, anche l'EBI ha una
sezione dedicata alla genomica, ove i genomi sono raggruppati e selezionabili per grandi gruppi
tassonomici.
Ovviamente è improponibile illustrare tutti i motori di ricerca disponibili e si può concludere
ricordando che ne esistono molti, dedicati alla raccolta di informazioni tassonomiche, genomiche,
proteomiche, strutturali, alcuni dei quali possono essere "generali" ed altri molto specializzati,
ovvero con set notevolmente ristretto, sia relativamente aglii oggetti molecolari trattati (ad es., solo
fattori di trascrizione) che alle specie (ad es., solo mammiferi).
© Francesco Filippini e Sandro Vivona, 2007-2018