Introduzione
Per capire meglio il ruolo degli Hidden Markov Models nella Bioinformatica, dobbiamo prima dare un breve accenno della disciplina e dobbiamo spiegare a che serve la bioinformatica, che obiettivo si pone ecc. Una volta capita questa disciplina sarà possibile interpretare a pieno perché noi facciamo uso degli Hidden Markov Models.
L’era genomica ha assistito ad una crescita esponenziale delle informazioni biologiche rese disponibili dai progressi nel campo della biologia molecolare. In particolare, il sequenziamento del genoma umano e di altri organismi ha dato un forte impulso a quel settore della bioinformatica che si occupa dello studio del DNA e delle proteine. La grande sfida che la comunità scientifica sta ora affrontando consiste nel cercare di analizzare e capire l’enorme quantità di dati prodotta in laboratorio. La bioinformatica e’ una nuova disciplina che si occupa dello sviluppo e dell'integrazione delle applicazioni della scienza dell’ informazione al servizio della ricerca scientifica in campo biotecnologico. Per fare ciò utilizza strumenti informatici per analizzare i dati biologici che descrivono sequenze di geni, composizione e struttura delle proteine, processi biochimici nelle cellule, etc.
Definizione di BIOINFORMATICA :
(da Wikipedia, l'enciclopedia libera http://it.wikipedia.org/)
Disciplina ultima arrivata nel campo delle bioscienze, la bioinformatica costituisce l'ambizioso tentativo di descrivere dal punto di vista numerico e statistico i fenomeni biologici: storicamente ed epistemologicamente la biologia ha sempre sofferto di una carenza in tal senso rispetto a discipline come la fisica e la chimica, ma oggi la bioinformatica tenta di supplire a questa lacuna fornendo ai risultati tipici della biochimica e della biologia molecolare un corredo di strumenti analitici e numerici
davvero promettente. La bioinformatica principalmente si occupa di:
Banche dati
Una delle attività principali dei bioinformatici consiste nella progettazione, costruzione e uso di banche dati di interesse biologico. Una banca dati raccoglie dati e informazioni derivati da esperimenti di laboratorio, da esperimenti in silico (cioe’ utilizzare il dato informatico come punto di partenza per gli esperimenti in vitro. Si dice "in silico", in quanto i processori dei calcolatori sono costituiti da silicio) e dalla letteratura scientifica. Le banche dati sono progettate come contenitori costruiti per immagazzinare dati in modo efficiente e razionale al fine di renderli facilmente accessibili a tutti gli utenti: ricercatori, medici, studenti, etc.
Una banca dati è costituita da voci (in inglese entry) ciascuna contenente informazioni sull’oggetto caratteristico della banca dati (ad esempio: sequenze nucleotidiche o referenze bibliografiche) insieme a tutte le altre informazioni che si riferiscono a quella entry in particolare). Una entry di una banca dati di sequenze nucleotidiche potrebbe contenere, oltre alla sequenza di una molecola di DNA, il nome dell’organismo cui la sequenza appartiene, la lista degli articoli che riportano dati su quella sequenza, le caratteristiche funzionali (cioè si tratta di un gene o di una sequenza non codificante) e ogni altra informazione ritenuta di interesse.
Esempio di banca dati: la rubrica telefonica. Ognuno di noi ha esperienza di banche dati come le rubriche telefoniche. In una rubrica telefonica, una entry ha come oggetto principale il numero di telefono di uno dei nostri amici o parenti. La nostra rubrica sarebbe totalmente inutile se insieme ai numeri di telefono non catalogassimo anche il nome e il cognome del possessore del numero di telefono La nostra rubrica potrebbe essere arricchita anche con altre informazioni: l’indirizzo della persona (di casa e di lavoro), la sua occupazione (più informazioni abiamo più la nostra ricerca sarà rapida ed efficace), il suo compleanno. Una banca dati potrà di conseguenza apparire come un elenco di righe o come un insieme di tabelle.
Tipi di banche dati: primarie e specializzate
Le banche dati possono essere di due tipi: primarie o specializzate. Le banche dati primarie contengono informazioni e annotazioni delle sequenze nucleotidiche e proteiche, strutture del DNA e proteine e dati sull’ espressione di DNA e proteine. Le principali banche dati primarie sono: la EMBL datalibrary, la GenBank e la DDBJ. La EMBL datalibrary è la banca dati europea costituita nel 1980 nel laboratorio Europeo di Biologia Molecolare di Heidelberg (Germania). La GenBank è la corrispondente banca americana costituita nel 1982 e la DDBJ è la corrispondente Giapponese. Fra le tre banche dati è stato stipulato un accordo internazionale per cui il contenuto dei dati di sequenza presenti nelle tre banche dati è quasi del tutto coincidente in quanto gli aggiornamenti quotidiani apportati in ciascuna banca dati vengono automaticamente trasmessi alle altre due. Le banche dati specializzate si sono sviluppate successivamente e raccolgono insiemi di dati omogenei dal punto di vista tassonomico e funzionale disponibili nelle Banche dati Primarie o in Letteratura, o derivanti da vari approcci sperimentali, rivisti e annotati con informazioni di valore aggiunto.
I principali strumenti possono essere cosi organizzati:
Ricerca di sequenze simili
Sequenze omologhe sono sequenze che hanno un gene ancestrale comune. Il grado di similarità fra due sequenze può essere misurato mentre l’omologia è un dato qualitativo. Esistono una serie di strumenti (es BLAST) che possono essere utilizzati per identificare similarità fra nuove sequenze con funzione e struttura sconosciuta e sequenze (archiviate nelle banche dati) la cui struttura e funzione sono note.
Studio delle funzione delle proteine
Questo gruppo di programmi (es. PROSITE, SMART) permette di utilizzare una sequenza per estrarre informazioni su motif, domini strutturali dalle banche dati specializzate. Questo potrebbe essere di aiuto per avere informazioni sulla funzione della proteine ignota.
Analisi delle strutture
Questi strumenti permettono di comparare una struttura con una banca dati di strutture note. Molto spesso proteine con struttura simile hanno una stessa funzione, quindi determinare la struttura secondaria/terziaria e’ cruciale per capire la funzione. (es. EBIMSD)
Analisi della sequenza primaria
Identificare/analizzare l’evoluzione, identificare mutazioni, regioni idrofobiche o altre proprietà che permettano di capire la funzione della proteina. (es. ENSEMBL)
Da come si può capire le banche dati sono vastissime, e ogni elemento sembra quasi uguale al successivo, ma c’è quella piccola differenza che lo contraddistingue dall’altro, in questo contesto di piccole differenze si doveva cercare un’algoritmo che tenesse conto di tutto questo e che dia i risultati desiderati senza inserire molte informazioni come input, allora si è pensati agli algoritmi di apprendimento automatico.
Algoritmi ad apprendimento automatico
Se si possiedono dei buoni modelli probabilistici che descrivano bene l’informazione contenuta in un contesto biologico, è possibile far “imparare” le relazioni che il modello propone ad un computer.
L’applicazione pratica di questo concetto si ritrova in:
Proprio perchè oggi disponiamo di un gran numero di informazioni ma piuttosto disordinate, è possibile cercare di istruire un computer allo scopo di capire da solo le relazioni che intercorrono tra i vari elementi.La Bioinformatica che è un’incrocio tra biologia e informatica cerca di far confluire queste due materie in un unico scopo quello di trovare sequenze biologice perfette con l’ausilio del computer, ma da solo il computer può fare ben poco, dobbiamo fornire al computer i mezzi necessari per poter operare in maniera efficiente, gli Hidden Markov Models ci forniscono i mezzi necessari per trovare le sequenze biologiche nei database.
Hidden Markov Models (HMMs)
Sono modelli matematici che descrivono le probabilità di trovare una data sequenza in un database (che può essere anche un dataset di proteine multiallineate) conoscendo il contenuto del database. Una catena di Markov è un insieme di numeri in successione in cui ogni numero dipende solo dai k numeri che lo precedono (k si
definisce come l’ordine della catena). Questi numeri possono essere probabilità, e quindi una catena di
Markov è come un modello che descrive le probabilità condizionate di avere un residuo data una serie di residui precedenti. Il programma più utilizzato basato su questi modelli è HMMER che ha come input un multiallineamento precedente (o una ricerca i banca dati) ed è in grado di cercare in banca dati utilizzando non le
sequenze ma solo i profili che da essi vengono generati.