720 likes | 886 Views
Corsi di Laurea in Biotecnologie (primo anno interfacoltà). Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1. Daniela Besozzi Dipartimento di Informatica e Comunicazione Università degli Studi di Milano. Ottava lezione: Introduzione alla Bioinformatica.
E N D
Corsi di Laurea in Biotecnologie (primo anno interfacoltà) Corso integrato di Matematica, Informatica e StatisticaInformatica di baseLinea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università degli Studi di Milano
Ottava lezione:Introduzione alla Bioinformatica Informatica di base – Linea 1 e 2
Prima parteCos’è la Bioinformatica? Informatica di base – Linea 1 e 2
Una definizione di Bioinformatica • La Bioinformatica è la scienza che si occupa della soluzione di problemi biologici, sfruttando gli strumenti e le teorie dell’Informatica • Nata con lo scopo di fornire metodi automatici per l’analisi di sequenze di DNA e di proteine: • sviluppo di database di dati biologici • enorme impulso dal Progetto Genoma Umano (sequenziamento di genomi su larga scala) Informatica di base – Linea 1 e 2
Una definizione di Bioinformatica • Oggi si usa spesso anche il termine “Biologia Computazionale”: • sviluppo di modelli matematici e statistici per l’integrazione e l’interpretazione dei dati sperimentali • definizione di algoritmi per l’analisi di sequenze, l’espressione dei geni, la previsione di strutture molecolari, lo studio di processi evolutivi, … • sviluppo di strumenti per la simulazione di processi cellulari e sistemi biologici complessi Informatica di base – Linea 1 e 2
Bioinformatica Relazione fra Informatica e Biologia Informatica Biologia • Problema di biologia: • In cosa consiste? • Perché è importante? • E’ “facile o difficile”? • Possiamo risolverlo? • Che ricadute ha? Metodologie informatiche soluzione? Informatica di base – Linea 1 e 2
(Alcuni) problemi della Biologia (1) • Analisi di sequenze genomiche: • sequenziamento e mappatura di genomi • ricerca di geni con la stessa funzione in organismi diversi • Analisi di sequenze e strutture proteiche: • prevedere la funzione di una proteina poco nota • ricerca di proteine omologhe in organismi diversi • Evoluzione di organismi: • ricostruire l’albero filogenetico di un insieme di organismi • capire le relazioni evolutive fra proteine (e geni) Informatica di base – Linea 1 e 2
(Alcuni) problemi della Biologia (2) • Funzionamento di processi cellulari: • comprensione dei meccanismi di interazione fra le varie specie molecolari presenti nella cellula • localizzazione e concentrazione delle specie molecolari • studio delle dinamiche del processo • Comportamento di sistemi multicellulari: • comprensione dei meccanismi di interazione fra cellula e cellula (in un tessuto, in una colonia di microrganismi) • studio di metodi per intervenire positivamente o negativamente sul sistema multicellulare: • es. colonia di batteri patogeni Informatica di base – Linea 1 e 2
(Alcuni) problemi della Biologia (3) • Sviluppo di farmaci e terapie mediche: • progettazione di farmaci specifici per una certa patologia, e analisi di tossicità/assorbimento del farmaco • previsione e prevenzione di malattie, ottimizzazione delle terapie mediche • medicina personalizzata • Risanamento ambientale (bioremediation): • uso di biotecnologie per la “costruzione” di batteri in grado di degradare contaminanti ambientali Informatica di base – Linea 1 e 2
Gli strumenti dell’Informatica • Molti concetti che avete già visto in questo corso: • Algoritmi • Modelli • Software e hardware dedicati • Database • Calcolo parallelo • Calcolo distribuito • … Informatica di base – Linea 1 e 2
Seconda parteAllineamenti di sequenze Informatica di base – Linea 1 e 2
Qual è il problema biologico? • Es.1 - In un laboratorio viene sequenziato un gene di un organismo. Si vuole sapere: • se questo gene è presente anche in altri organismi, per i quali è già stata identificata la sua funzione • se un altro laboratorio, che ha sequenziato lo stesso gene, ha ottenuto lo stesso identico risultato • Es.2 - Viene scoperta una nuova proteina, di cui non si conosce la funzione. Si vuole sapere: • se esiste qualche altra proteina simile a quella appena scoperta, di cui sono già note la funzione e/o la struttura tridimensionale Informatica di base – Linea 1 e 2
DNA e proteine: sono sequenze! • Ogni molecola può essere descritta come una sequenza di simboli: • ci dimentichiamo della sua struttura tridimensionale e delle sue proprietà chimiche, fisiche o biologiche • ci interessa soltanto sapere quali sono gli “elementi” (simboli) che la costituiscono • DNA: è una sequenza con 4 simboli (A, C, G, T) • consideriamo un solo filamento (l’altro è complementare) • RNA: è una sequenza con 4 simboli (A, C, G, U) • Proteina: è una sequenza con 20 simboli (gli aminoacidi) Informatica di base – Linea 1 e 2
Somiglianza fra due sequenze • Come si fa a sapere se due sequenze sono simili, e quanto sono simili? • si confrontano i simboli di una sequenza con i simboli dell’altra sequenza • si dà un buon punteggio a tutte le coppie di simboli uguali (es. A con A, T con T, C con C, G con G) • si dà un punteggio più basso alle coppie di simboli diversi (es. A con T, A con C, A con G, …) • biologicamente, coppie di questo tipo corrispondono ad eventi di mutazione (base sostituita da un’altra base) Informatica di base – Linea 1 e 2
Allineamento di due sequenze • In questo modo, possiamo “misurare” quanto sono simili le due sequenze: • più alta è la somma dei punteggi di tutte le coppie di simboli che confrontiamo, più simili saranno le due sequenze • In pratica, stiamo allineando ogni simbolo della prima sequenza con un simbolo dell’altra: • cioè, li scriviamo uno sopra l’altro. Esempio: ACTCG AGTCC • ci sono 3 coppie di simboli uguali (A-A, T-T, C-C) e 2 coppie di simboli diversi (C-G, G-C) Informatica di base – Linea 1 e 2
I gap • “Aspetta, aspetta… ma se le sequenze non sono lunghe uguali, non posso allineare tutti i simboli di una con simboli dell’altra!” • Come si fa allora? • si usa un simbolo speciale, che si chiama “gap” e si denota con “” • es. allineamento delle sequenze AACTCTG e AATCT: AACTCTG AATCT il punteggio di una coppia “simbolo-gap” è molto basso! Informatica di base – Linea 1 e 2
Il significato biologico dei gap • “Stai barando! Così modifichi la sequenza! Che senso ha?” • Un gap può corrispondere ad un evento biologico di: • delezione (base eliminata dalla molecola) • inserimento (base aggiunta nella molecola) • Usare i gap può essere molto utile per trovare allineamenti migliori fra sequenze Informatica di base – Linea 1 e 2
Quanti allineamenti ci sono? • Date due sequenze A e B, il primo simbolo di A può essere allineato con ognuno dei simboli di B • idem per ogni altro simbolo di A • Inoltre, posso inserire gap in qualsiasi punto della sequenza • (ma non si può allineare un gap con un altro gap) • Quindi: il numero di possibili allineamenti fra due sequenze è altissimo! • come si fa a scegliere l’allineamento migliore? Informatica di base – Linea 1 e 2
L’allineamento migliore • Soluzione poco furba: • costruisco tutti gli allineamenti, valuto il punteggio di ognuno, e poi scelgo l’allineamento con il valore più alto • ma ci vorrebbe un tempo di calcolo esponenziale (rispetto alla lunghezza delle due sequenze)… • Una soluzione più furba: • se provassimo a dividere il problema in sottoproblemi, risolvere ogni sottoproblema, e quindi trovare la soluzione finale rimettendo insieme le soluzioni parziali? Informatica di base – Linea 1 e 2
L’algoritmo di allineamento • Sfrutta la tecnica di “programmazione dinamica”: • molto simile al metodo divide et impera • la soluzione di un sottoproblema può servire per trovare la soluzione di un altro sottoproblema (cioè, i sottoproblemi non sono indipendenti fra loro) • Come funziona in pratica? • costruisce l’allineamento migliore in modo progressivo, partendo dai simboli iniziali delle due sequenze • a mano a mano che allunga l’allineamento, sceglie sempre la soluzione migliore fra quelle possibili • per costruzione, l’allineamento completo sarà quindi il migliore allineamento! Informatica di base – Linea 1 e 2
L’algoritmo di allineamento • Un esempio con le sequenze ATTCT e GACT: • inizio ad allineare i primi simboli delle due sequenze: A A G G • restano da allineare TTCT e ACT. Osservazione: quanti modi ci sono per allungare un allineamento? • solo 3: simbolo-simbolo, simbolo-gap, gap-simbolo • quindi si sceglie il migliore fra: A T A T A G A G G A • eccetera eccetera… il migliore fra questi tre allineamenti e poi restano da allineare TCT e CT
L’algoritmo di allineamento • Funziona! • E’ un buon algoritmo? • la sua complessità computazionale è quadratica • se n è la lunghezza delle sequenze, l’algoritmo esegue circa n2 istruzioni • quindi: possiamo trovare il migliore allineamento fra due sequenze in un tempo ragionevole, senza dover provare a costruire tutti gli altri possibili allineamenti
I database biologici • Esistono moltissimi database di dati biologici: • sequenze nucleotidiche (GenBank, EMBL, GENES) • sequenze proteiche (SWISSPROT) • strutture proteiche (PDB) • profili di espressione ricavati da microarray (GEO) • percorsi metabolici (KEGG, Enzyme) • dati mitocondriali (MITOMAP) • …
Ricerca in database biologici • Torniamo al gene sequenziato in laboratorio: si usa l’algoritmo di allineamento per cercare nel database tutte le sequenze simili? • in un database ci sono milioni di sequenze • se ad es. impiego 0,01 sec per un allineamento fra due sequenze, mi servono 10000 sec=3 ore circa per confrontare la mia sequenza con tutte quelle presenti nel database • se devo confrontare 6000 geni (es. lievito), ci metto 2 anni per completare l’analisi
Ricerca in database biologici • Come si fa allora? • Si usano altri metodi, basati su “tecniche euristiche”: • sono procedure empiriche ed intuitive, in generale non supportate da precisi fondamenti teorici • non garantiscono di trovare la soluzione migliore, ma di solito funzionano bene • sono molto veloci • es. BLAST, FASTA (basati su indicizzazione di sequenze) Informatica di base – Linea 1 e 2
Allineamenti multipli • E se volessimo confrontare più sequenze contemporaneamente? • ad es. per vedere se una proteina è simile a un insieme di altre proteine note • i siti funzionalmente più rilevanti di una proteina sono di solito ben conservati e invariati rispetto a proteine omologhe • E’ un problema di Biologia molto importante: • in ambito evolutivo, per capire la relazione di discendenza fra organismi (alberi filogenetici) • in ambito molecolare, per la previsione della struttura di una proteina Informatica di base – Linea 1 e 2
Alberi filogenetici • Sono diagrammi che esprimono le relazioni di discendenza fra gruppi di organismi: • esiste un progenitore comune • eventi di speciazione danno origine a diverse linee di discendenza Informatica di base – Linea 1 e 2
Allineamenti multipli: un esempio Informatica di base – Linea 1 e 2
Allineamenti multipli: un altro esempio Informatica di base – Linea 1 e 2
Algoritmi di allineamento multiplo • Possiamo estendere l’algoritmo di allineamento fra due sequenze, per definire un algoritmo di allineamento fra molte sequenze? • Si! Ma c’è un problema: • la complessità computazionale dell’algoritmo diventa esponenziale • “Cerchiamo un altro algoritmo allora!” • sfortunatamente, tutti gli algoritmi che possiamo definire per questo problema avranno complessità esponenziale • “Perché??! E come fai a saperlo? Hai già provato a costruire mille algoritmi diversi per risolvere il problema?” Informatica di base – Linea 1 e 2
Un problema difficile • Si può dimostrare che l’allineamento multiplo è un problema “molto difficile”: • è oggettivamente (non soggettivamente) difficile, la sua complessità è intrinseca al problema stesso • questo problema è “NP-completo”: • in pratica, non ci sono speranze di trovare un algoritmo efficiente che possa risolverlo (a meno che P=NP) • come si risolve allora? • con le tecniche euristiche, “accontentandosi” della soluzione trovata, che non sarà necessariamente la migliore Informatica di base – Linea 1 e 2
Problemi facili e problemi difficili “Perciò mi stai dicendo che: • l’allineamento fra due sequenze è un “problema facile” perché ho trovato un algoritmo efficiente, • l’allineamento multiplo è un “problema difficile” e (quasi sicuramente) non troverò mai un algoritmo efficiente. Uhm, tutto questo non mi piace… non è che esistono anche altri problemi di Biologia che sono altrettanto difficili?” Informatica di base – Linea 1 e 2
Terza partePrevisione di strutture molecolari Informatica di base – Linea 1 e 2
Studiare la struttura delle molecole • Esistono metodi sperimentali per determinare la struttura tridimensionale di una proteina: • cristallografia a raggi X • risonanza magnetica nucleare (NMR) • Sono metodi complessi, costosi, e richiedono molto tempo • Non si possono utilizzare per tutti i tipi di proteine: • ad es. proteine transmembrana Informatica di base – Linea 1 e 2
Perché studiare la struttura? • La funzione di una proteina è determinata dalla “struttura nativa” che la proteina assume nella cellula in condizioni fisiologiche • struttura primaria = sequenza di aminoacidi • struttura secondaria = formazione di -eliche e foglietti- • struttura terziaria = struttura tridimensionale (nativa) • struttura quaternaria = associazione di più unità polipeptidiche • Ogni proteina ha specifici domini di legame con altre molecole • es. siti attivi su un enzima (zone di legame con i reagenti e attività catalitica) Informatica di base – Linea 1 e 2
Strutture proteiche non “corrette” • Numerose patologie sono dovute a ripiegamenti errati di una proteina, oppure ad anomale aggregazioni/dissociazioni di proteine: • il morbo di Alzheimer, il morbo di Huntington, il morbo di Parkinson, l'encefalopatia spongiforme bovina, la malattia di Creutzfeldt-Jakob, la fibrosi cistica, l’anemia falciforme, molti tipi di tumore, ecc. • Riuscire a determinare la struttura nativa di una proteina consente quindi sia di identificare la sua funzione, sia di “intervenire” sulla proteina in modo da inattivarla/attivarla per curare la specifica patologia Informatica di base – Linea 1 e 2
Il protein folding • Consiste nel prevedere la struttura nativa di una proteina, usando come dato in input la sequenza primaria dei suoi aminoacidi • Data la sequenza iniziale, esiste un numero esponenziale di possibili strutture tridimensionali • come cercare un ago in un pagliaio… Informatica di base – Linea 1 e 2
Protein folding e funzione di energia • La struttura nativa migliore è quella che minimizza il valore di “energia libera” associato alla struttura • Il valore di energia si determina considerando le forze di Van der Waals, le forse elettrostatiche, i legami idrogeno, le lunghezze/angoli di legame, gli angoli di torsione, le interazioni col solvente, i contributi entropici, … Informatica di base – Linea 1 e 2
Il protein folding in Bioinformatica • Questo problema è facile o difficile? • è molto difficile, è un altro problema NP-completo • tutti gli algoritmi che possiamo definire per risolvere questo problema avranno complessità esponenziale • ma possiamo sfruttare anche in questo caso delle tecniche euristiche (ma senza dare garanzie sulla bontà della soluzione trovata): • ad es. la tecnica per gli allineamenti multipli (si parla di folding comparativo o per omologia) • ne vediamo un’altra fra un po’… Informatica di base – Linea 1 e 2
Interazioni fra macromolecole • In alcuni casi, non è solo importante sapere come la proteina si avvolge, ma anche come interagisce con altre molecole: • es. di interazione fra macromolecole: • proteina-proteina, proteina-DNA, proteina-molecola • enzima e substrato, antigene e anticorpo, recettore e ligando • processo che sta alla base del riconoscimento molecolare, fondamentale per la formazione dei complessi molecolari e il generale funzionamento di tutti i processi cellulari Informatica di base – Linea 1 e 2
Il docking molecolare • Il problema di docking consiste nel determinare se e come due molecole interagiscono fra di loro, e qual è la geometria del complesso che esse formano: • per poter risolvere questo problema, bisogna conoscere le geometrie delle molecole meccanismo “chiave-serratura” • Ad es. fra queste tre coppie di molecole, qual è la coppia con l’interazione “migliore”? Informatica di base – Linea 1 e 2
Docking e funzione di energia • Anche in questo caso, l’interazione migliore viene definita tramite una opportuna funzione di energia che stima l’affinità di legame fra le due molecole • Il valore di energia si determina considerando le varie forze elettrochimiche, l’interazione col solvente, la complementarietà geometrica e chimica fra le superfici a contatto, l’entropia, la flessibilità delle molecole interagenti, ecc. il complesso migliore è quello che minimizza il valore di energia Informatica di base – Linea 1 e 2
Il docking in Bioinformatica • Indovinate? Un altro problema difficile! • Non esistono algoritmi efficienti in grado di trovare la soluzione ottimale, ma è possibile applicare tecniche euristiche • Il risultato ottenuto dall’analisi computazionale dovrà essere sottoposto a successive (e numerose) analisi sperimentali e cliniche Informatica di base – Linea 1 e 2
Drug design • La progettazione e lo sviluppo di farmaci (drug design) sono il principale campo di applicazione del docking: • determinare le modalità con cui farmaci già noti si legano alla molecola target che si sta studiando • effettuare una ricerca in un database di potenziali molecole che risultino attive su nuovi target (“virtual screening” di grandi librerie di strutture chimiche) • prevedere in modo computazionale (“in silico”) la potenziale attività farmacologica di nuove molecole Informatica di base – Linea 1 e 2
Dalla sequenza all’interazione interazione sequenza affinità di legame struttura funzione
Quarta parteI processi cellulari e la “Biologia dei Sistemi” Informatica di base – Linea 1 e 2
I processi cellulari • Tutti i processi cellulari sono determinati da interazioni fra molecole: • espressione genica, processi metabolici, percorsi di trasduzione del segnale, modificazioni post-traduzionali di proteine, potenziale di membrana, ecc. • Esistono numerosi e complessi metodi di controllo e di regolazione cellulare per tutte queste interazioni • Non è sempre facile o possibile effettuare esperimenti e misurazioni in laboratorio per determinare: • la concentrazione delle molecole, la loro localizzazione dentro la cellula, la successione temporale delle interazioni in un dato percorso cellulare, ecc. Informatica di base – Linea 1 e 2
I processi cellulari: componenti e interazioni • Es. percorso di trasduzione del segnale: • segnale esterno alla cellula (molecola ligando) • recettore di membrana (proteina transmembrana) • cascata di interazioni fra proteine citoplasmatiche • sintesi di secondi messaggeri • attivazione di proteina effettore • attivazione/disattivazione di geni OSS. Alcune di queste molecole potrebbero essere coinvolte in più processi cellulari! Informatica di base – Linea 1 e 2
Ricorriamo all’Informatica? • Un approccio Bioinformatico permette di: • sviluppare modelli matematici per descrivere tutte le componenti del processo cellulare e le loro reciproche interazioni: • quando non c’è una precisa conoscenza biologica, si possono definire tanti modelli diversi basati su ipotesi • usare software appositi per simulare la “dinamica” del processo cellulare: • cioè, vedere come variano le concentrazioni delle molecole nel tempo, a seconda delle condizioni della cellula e dei meccanismi di controllo e regolazione che sono attivi in quelle condizioni Informatica di base – Linea 1 e 2