Bioinformatica: DNA e Algoritmi



Documenti analoghi
Carpire il segreto della vita con l informatica Giosuè Lo Bosco Dipartimento di Matematica e Informatica, Università di Palermo, ITALY.

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Fisica Medica x OPD. Angelo Scribano (ottobre 2006) Le scienze e il metodo scientifico Fisica Medica. A. Scribano pag.1

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Corso di Calcolo Numerico

Paola Bonizzoni. Università degli Studi di Milano-Bicocca

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Corso di Laurea Triennale in MATEMATICA APPLICATA Università degli Studi di Verona

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Introduzione. Informatica B. Daniele Loiacono

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

L enigma del XXI secolo: decifrare il codice della vita

Fasi di creazione di un programma

MATEMATICA CLASSE PRIMA

Applicazioni biotecnologiche in systems biology

Algoritmi e Complessità

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Algoritmi e strutture dati. Codici di Huffman

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Introduzione ai Metodi Formali

Varianti Macchine di Turing

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

10 - Programmare con gli Array

Appunti di Sistemi Elettronici

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione alla Programmazione

Perché abbiamo deciso di sequenziare il genoma umano

Progetto e analisi di algoritmi

TECNICHE DI SIMULAZIONE

CONTENUTI METODOLOGIA STRUMENTI METODO DI STUDIO VALUTAZIONE ANNO COMPETENZE OBIETTIVI DI APPRENDIMENTO

Informatica. Scopo della lezione

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Esempi di algoritmi. Lezione III

PROGETTO EM.MA PRESIDIO

Una sperimentazione. Probabilità. Una previsione. Calcolo delle probabilità. Nonostante ciò, è possibile dire qualcosa.

e-dva - eni-depth Velocity Analysis

DISEGNO 3D IN AutoCad.

Avanzamento dei sistemi di sequenziamento

Metodologie di programmazione in Fortran 90

PROGRAMMA SVOLTO NELLA SESSIONE N.

LABORATORIO DI MATEMATICA I PROBLEMI DI SCELTA IN CONDIZIONI DI INCERTEZZA CON EXCEL

Matematica generale CTF

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

La macchina di Turing (Alan Turing, 1936)*

Funzioni in C. Violetta Lonati

Le macchine di Turing

Gestione del processore e dei processi

Tipologie di macchine di Turing

La macchina universale

Corso di Fisica generale

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

I PROBLEMI ALGEBRICI

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Multimedia. Creazione di Modelli 3D usando ARC3D

Pro e contro delle RNA

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Automazione Industriale (scheduling+mms) scheduling+mms.

Cos è un Calcolatore?

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

Laboratorio di Pedagogia Sperimentale. Indice

TNT IV. Il Diavolo è meno brutto di come ce lo dipingono!!! (Guarda il video)

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

LA CONOSCENZA DEL MONDO SCUOLA DELL INFANZIA. OBIETTIVI DI APPRENDIMENTO 3 anni 4 anni 5 anni

Origini e caratteristiche dei calcolatori elettronici

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6

Dispensa di Informatica I.1

Corso Programmazione

LEZIONI CON I PAD Docente scuola secondaria IC Moglia Carla Casareggio Classi seconde 2014/2015 Proprietà triangoli e quadrilateri con Sketchometry

Didattica della matematica a.a IL LINGUAGGIO DEL PROBLEM SOLVING

Linguaggi di programmazione

Pianificazione e progettazione

Introduzione alla teoria dei database relazionali. Come progettare un database

Calcolo delle probabilità

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Le Macchine di Turing

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

I tre concetti si possono descrivere in modo unitario dicendo che f e iniettiva, suriettiva, biiettiva se e solo se per ogni b B l equazione

Polimorfismi LEZIONE 6. By NA 1

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Sole. Instante 0. Rotazione della Terra

Introduzione. Rappresentazione di numeri in macchina, condizion

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno

Transcript:

Bioinformatica: DNA e Algoritmi Alberto Policriti Dpt. of Mathematics and Informatics, University of Udine. Applied Genomics Institute

Di cosa parleremo In generale Deniamo i termini: DNA & Algoritmi Tecnologie ( Problemi) Sequenziamento e Assemblaggio Bioinformatica: Passato e Futuro

Di cosa parleremo In generale Deniamo i termini: DNA & Algoritmi Tecnologie ( Problemi) Sequenziamento e Assemblaggio Bioinformatica: Passato e Futuro

Di cosa parleremo In generale Deniamo i termini: DNA & Algoritmi Tecnologie ( Problemi) Sequenziamento e Assemblaggio Bioinformatica: Passato e Futuro

Di cosa parleremo In generale Le aree Deniamo i termini: DNA & Algoritmi Tecnologie ( Problemi) Sequenziamento e Assemblaggio Bioinformatica: Passato e Futuro Algoritmica su stringhe Matematica del discreto String matching esatto e approssimato Systems biology Matematica del continuo Automi e biologia Computare usando il DNA

Crick e Watson: 1953

Lettura interessante

Da cosa partiamo

Da cosa partiamo

Da cosa partiamo

Memorizzazione dell'informazione

Memorizzazione dell'informazione

DNA Le caratteristiche un turn di DNA: 3.4nm 10.5 bases una cellula: 2m di DNA un uomo: 10 13 celule... un mucchio di DNA! Estremamente delicato da manipolare

La losoa è scritta in questo grandissimo libro che continuamente ci sta aperto innanzi a gli occhi (io dico l'universo), ma non si può intendere se prima non s'impara a intender la lingua, e conoscer i caratteri, ne' quali è scritto. Egli è scritto in lingua matematica, e i caratteri son triangoli [A-T], cerchi [C-G], ed altre gure geometriche [Met, Lys, Leu,...], senza i quali mezi è impossibile a intenderne umanamente parola; senza questi è un aggirarsi vanamente per un oscuro laberinto. Galileo Galilei

Il nostro obiettivo TCAGGGCCAGCAGCAAAGTTTCCAGCTGATCATCCTGATGGTGCGCGGTGAGTAAGACACCACCTTCCGG GAGGTTTTGGCGAAAAACGTCGTAGCGGGCCTGACGGGCAAGATCCTCAAGACTTTGCCGGGCCTTTTTC TCAATTTCAACACGTTTTGCTATGAATGGTACTGTCAGTACATCGCAAACCTGCGCGCAATGGGTCAGCC' ATTGGTCAGCCTTAGGATTTAAACCATGATGCACATGCACTGCCTGCAGGGAAAAGCCGTCTCGCTGAGA TATATAACGGGCCAGCAATTCAAGTAACACGCGGGAATCGAGGCCGCCGCTGAATCCAACCAGTAAGTGC CCGGGCCGGATCAGCTGATCCAGCACAGAAAAGACACTTGCTTCCAATTCATGATGACTCACAACAGATA CTTCATCGATAAAGTACAATATGCGGATATTAGCAGATCCTGTTTGTCATTACGTGAACCGGGATAATAA GCCATATTGCTTGCGGCTCGTTTACACGATAACGATGATCGGATGGAAGAAATAAAAAAAGCCCCTGAGC GGGGCTTAAAGAAAAGGAAAGCATTAATACTTAACGGGTTTCCAGCGGAGCGAAGCTCTTCACAAGATCA TCAATGGCTTTCATCTGTTGCAGGAATGGCTCCAGCTTATCCAGTGGTAATGCACTAGGACCATCACAAC GTGCATGTTCCGGATCAGGATGCGACTCAATAAACAAGCCAGCCAGACCAACCGCCATACCAGCGCGTGC CAGTTCAGTCACTTGCTCACGACGACCACTTGAAGCCGCACCCAGCGGGTCACGACACTGCAGGGAATGC GTTACGTCAAAAATCACCGGGCTGCCCTGGCTGGCATCTTTCATCACGCCGAAGCCCAGCATGTCGACCA CCAGATTGTCATAACCGAAATTCACACCGCGTTCACACAGAATAATACGGTCGTTACCGCATTCGGCGAA TTTCTCAACGATGTTCTTAACCTGTCCCGGGCTCAGGAACTGCGGTTTTTTCACGTTAATCACGTTACCT GTTTTAGCCAGAGCTTCCACCAGATCAGTCTGACGCGCCAAGAAGGCCGGTAATTGCAGCACATCCACG CTTCACCGATCGGTTTGGCTTGCCATGTTTCATGCACATCTGTGATCAGGCTGACACCGAAGGTTTTCTT CAGTTCTTCAAAAATACGCAGACCTTCTTCCATACCCGGACCACGGTAGGAATGAACTGAGGAGCGGTTG GCTTTATCCCAGCTGGCTTTAAATACCAAAGGGATGCCCAGTTTTTCAGTTACGGTGACGTAGGTTTCAC AGATCGACATCGCCAGATCCCGTGACTCCAGTACATTCATGCCACCAAACAGTACGAATGGCTGATCATT AGCAACATTAATTCCGTTAAACTGAACGACTTTCTGTTTCATTCATCACTCCATCAGTGAAAAATTATGG CGTCATGATCCAGCATCGCCAGCTGTACTTTCAGTACGGCTGCAACCGGATCCTGAGGACATTGTTCAAT AAAATAGGTGTAATCATGAGCTGCCAGCTGCGGACATTCCAGCTGTTCATATACCAGCCCGCGATCACGG ATTTCATAGGGGTCATCGGGGTTCATCGCCAGCAAAACCTCGCTGCAGCGTAACGCCTCCGGCAAACAAC GACTTTGTAACATACAACCTTTAATCACGCTCAATAAACGTGACATTATCTGACGCTGATCTGTCTCTTT TGTATATTTACTATCCATCCGGGTTAAGTCACCGAGTGTGGCTCGCAGCATTAATGACTGCTGCTCATAA TCCCACTCTTCACCGGTAAACGGATCGATTAATACAGGCTTACTTTCCGGGAAAAGCAGCAAGAAGTTAC CAGGGAAGCAAACACCACGCACCGGCAATTCTATCGAATGAGCCAGATGCATTAACACGATACCCAGCGT GAGCGGCAAACCAGTGCGCTGCATCAGCACCTGATCCAGCAGGCAGTTTTCCGGTGCATAGTAATTCTGC CAGTCACCGGAAAATTGCAATTCATGATAGAACGCATGCAACAGTTGTTCACGACGCCCTTTATCATCAG GGGCCGTAATATACGGCCGGAGCTCTGTACACAAAGCGCGTAGCCGCTGCAATCCGTCGATCAATACCGG TTTATCTTGTACATCTTCTGAGGCCATCAATGCCAGCATGGCAATATCCAGCCCTTCAAAATCAGTATCG TGTGTAATGTTCATCTGCGTACTACCCTGCAACATCACCGGGCCACTGACCGCCGGAAACCCGATCCTGA

Termini Sequenziamento estrazione e frammentazione del DNA sequenziamento dei frammenti e generazione delle reads wet-lab activity Assemblaggio stoccaggio delle reads (+ altre informazioni) assemblaggio delle reads (corte) in contigs (lunghe) dry-lab activity

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte L'input degli algoritmi di assemblaggio

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte L'input degli algoritmi di assemblaggio GACTTTGTAACATACAACCTTTAATCACGCTCAATATGACATTATCTGACGCTGATCTGTCTC...

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte L'input degli algoritmi di assemblaggio GACTTTGTAACATACAACCTTTAATCACGCTCAATATGACATTATCTGACGCTGATCTGTCTC... GACTTTGTA ACATACAAC CTTTAATCACG CTCAATATGACAT TATCTGACGCTGA TCTGTCTC...

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte L'input degli algoritmi di assemblaggio GACTTTGTAACATACAACCTTTAATCACGCTCAATATGACATTATCTGACGCTGATCTGTCTC... CTTTAATCACG ACATACAAC CTCAATATGACAT TATCTGACGCTGA TCTGTCTC GACTTTGTA...

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte L'input degli algoritmi di assemblaggio GACTTTGTAACATACAACCTTTAATCACGCTCAATATGACATTATCTGACGCTGATCTGTCTC... CTTTAATCACG ACATACAAC CTCAATATGACAT TATCTGACGCTGA TCTGTCTC GACTTTGTA...?

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte La soluzione: tante copie

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte La soluzione: tante copie GACTTTGTA

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte La soluzione: tante copie GACTTTGTA TTTGTAACATAC

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte La soluzione: tante copie GACTTTGTAACATACAAC TTTGTAACATAC

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte La soluzione: tante copie GACTTTGTAACATACAAC TTTGTAACATACAACCTTTAA

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte La soluzione: tante copie GACTTTGTAACATACAACCTTTAATCACG TTTGTAACATACAACCTTTAA

La combinatorica del problema Vincoli L'attività di sequenziamento produce reads di lunghezza limitata Il costo di un progetto è proporzionale al numero di reads prodotte La soluzione: tante copie GACTTTGTAACATACAACCTTTAATCACG... TTTGTAACATACAACCTTTAATCACGCTCAATA...

Ripuliamo matematicamente il problema

Ripuliamo matematicamente il problema Definizione (Shortest Superstring Problem) Dato un insieme di stringhe {s 1, s 2,..., s n } trova la più corta super-stringa T tale che tutte le s i siano sotto-stringhe di T.

Ripuliamo matematicamente il problema Due problemi: 1 N P-completenezza [Gallant et al. 1980] 2 Il problema dell'assemblaggio è formulato in modo scorretto!

Elementi ripetuti

Elementi ripetuti e, in aggiunta,...

Morale Assemblaggi di qualità Alte coperture (tanti genomi equivalenti) Tante reads reads lunghe Buon sw (assembler) Buon hw (parallelo?)...

L'allineamento di sequenze Input...GTTGATTAGCTTATCCCAAAGCAAGGCACTGAAAATGCTAG GTGATGTAGCTTAACCCAAGCAAGGCACTAAAAATGCCTAG...

L'allineamento di sequenze Input...GTTGATTAGCTTATCCCAAAGCAAGGCACTGAAAATGCTAG GTGATGTAGCTTAACCCAAGCAAGGCACTAAAAATGCCTAG... Output...GTTGAT_TAGCTTATCCCAAAGCAAGGCACTGAAAATG_CTAG GT_GATGTAGCTTAACCCAA_GCAAGGCACTAAAAATGCCTAG...

L'allineamento di sequenze Input...GTTGATTAGCTTATCCCAAAGCAAGGCACTGAAAATGCTAG GTGATGTAGCTTAACCCAAGCAAGGCACTAAAAATGCCTAG... Output...GTTGAT_TAGCTTATCCCAAAGCAAGGCACTGAAAATG_CTAG GT_GATGTAGCTTAACCCAA_GCAAGGCACTAAAAATGCCTAG...

Un altro problema algoritmico (semplice?) Input T testo su un alfabeto Σ e P pattern su Σ.

Un altro problema algoritmico (semplice?) Input T testo su un alfabeto Σ e P pattern su Σ. Output Tutte le occorrenze di P in T

Un altro problema algoritmico (semplice?) Input T testo su un alfabeto Σ e P pattern su Σ.... è naturale aspettarsi P T operazioni di confronto ma si puó fare molto meglio! Output Tutte le occorrenze di P in T

Pitagora: Tutto è numero Idea Reads (corte) sono Numeri (grandi)

Fondamentali Definizione Σ dna = {a, c, g, t} alfabeto; P pattern P = m; T testo and T = n; T s è la stringa di m caratteri T [s,..., s + m 1]. Stringhe in Σ dna sono numberi in base 4 P p T s t s

Fondamentali Definizione Σ dna = {a, c, g, t} alfabeto; P pattern P = m; T testo and T = n; T s è la stringa di m caratteri T [s,..., s + m 1]. Stringhe in Σ dna sono numberi in base 4 P p T s t s a 0 c 1 g 2 t 3

Indice Text T T s t s ι(t s ) {t s ι(t s ) = ι(t s )} 1

Indice Problema I numeri diventano è GRANDI

Indice Text T T s t s t s mod q {t s t s mod q = t s mod q} 1

... e gli errori? P

... e gli errori? P P

... e gli errori? P P

... e gli errori? P P {P d H (P, P ) d} = d d ( ) m d (Σ 1) d

... e gli errori? P P {P d H (P, P ) d} = d d ( ) m d (Σ 1) d p p Z(d, m)

... e gli errori? P P {P d H (P, P ) d} = d d ( ) m d (Σ 1) d p p Z(d, m) (p p mod q)???

rna randomized Numerical Aligner opportuno q ( piccolo Z) diamo struttura a Z ( implementiamo un test di appartenenza veloce) euristiche

rna randomized Numerical Aligner opportuno q ( piccolo Z) diamo struttura a Z ( implementiamo un test di appartenenza veloce) euristiche Complessità Proporzionale, in media, alla dimensione del pattern.

Una notte del 1993 L. Adleman stava leggendo The molecular Biology of the Gene...... si sedette sul letto e disse a sua moglie:dio mio, queste cose possono calcolare

Una notte del 1993 L. Adleman stava leggendo The molecular Biology of the Gene...... si sedette sul letto e disse a sua moglie:dio mio, queste cose possono calcolare

DNA self-assembly Si sa da tempo che è possibile computare in 2D

DNA self-assembly Oggi si possono sintetizzare molecole di DNA che eseguono tali computazioni!

DNA self-assembly Per saperne di più

Domanda interessante qual è l'hardware e quale il software?

Per saperne di più

Conclusioni Campo stimolante Tanti bei problemi computazionali Tecnologie sosticate Forte impatto sulle scienze della Vita

Conclusioni È probabilmente vero in linea di massima che nella storia del pensiero umano gli sviluppi piú fruttuosi avvengono frequentemente in quei punti di interferenza fra due diverse linee di pensiero. W. Heisenberg

Definizione di Algoritmo Informale (Markov, 1960) Processo di calcolo che soddisfa tre requisiti principali: 1 Precisione prescrittiva. Denitezza 2 Applicabilità a dati iniziali variabili entro limiti pressati. Generalità 3 Processo orientato ad ottenere un risultato, calcolabile in base ai dati iniziali. Eettività Formale (Gödel, Church, Turing,...) Funzioni ricosrive,m lambda calcolo. macchine di Turing,...