Università degli studi di Pisa

Documenti analoghi
Allineamento multiplo di sequenze

FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990) Algoritmi EURISTICI di allineamento

Quarta lezione. 1. Ricerca di omologhe in banche dati. 2. Programmi per la ricerca: FASTA BLAST

BLAST. W = word size T = threshold X = elongation S = HSP threshold

Lezione 8. Ricerche in banche dati (databases) attraverso l uso di BLAST

Lezione 8. Ricerche in banche dati (databases) attraverso l uso di BLAST

Ricerca di omologia di sequenza

Pairwise Sequence Alignment BIOINFORMATICA. Corso di Laurea in Ingegneria Informatica e Biomedica. Università Magna Graecia Catanzaro

Algoritmi di Allineamento

Laboratorio di Informatica 2004/ 2005 Corso di laurea in biotecnologie - Novara Viviana Patti Esercitazione 7 2.

UNIVERSITÀ DEGLI STUDI DI MILANO. Bioinformatica. A.A semestre I. Allineamento veloce (euristiche)

Esempio di utilizzo del programma BLAST disponibile all NCBI Form di Nucleotide BLAST

Dati e Algoritmi 1: A. Pietracaprina. Text Processing

Lezione 6. Ricerche in banche dati (databases) attraverso l uso di BLAST

Informatica 3. Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Lezione 21 - Modulo 1. Introduzione (1) Introduzione (2) Ricerca:

Metodi euristici di allineamento

Dizionari Liste invertite e Trie

Informatica e biotecnologie

SAGA: sequence alignment by genetic algorithm. ALESSANDRO PIETRELLI Soft Computing

Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006. Ordinamenti non basati su confronti

Suffix Trees. Docente: Nicolò Cesa-Bianchi versione 21 settembre 2017

Bioinformatica ed applicazioni di bioinformatica strutturale!

Z-score. lo Z-score è definito come: Z-score = (opt query - M random)/ deviazione standard random

Query Languages. R. Basili. a.a

La ricerca di similarità in banche dati

Sommario. Presentazione dell opera Ringraziamenti

Lezione 2 (10/03/2010): Allineamento di sequenze (parte 1) Antonella Meloni:

Modello computazionale per la predizione di siti di legame per fattori di trascrizione

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

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

Le sequenze consenso

Introduzione Presentazione del problema. Soluzione standard Primo algoritmo Premesse e definizioni. Secondo algoritmo. Conclusioni.

Il progetto Genoma Umano è iniziato nel E stato possibile perchè nel 1986 era stato sviluppato il sequenziamento automatizzato del DNA.

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

Bioinformatica. Analisi del genoma

Algoritmi e strutture di dati 2

Bioinformatica e Biostatistica / Lezione7. Lezione 7: Allineamento delle reads ad un genoma di riferimento

La ricerca di similarità: i metodi

Encryption and compression for collections of text files* Dott. Ferdinando Montecuollo Università degli Studi della Campania «Luigi Vanvitelli»

FASTA. Lezione del

Algoritmi e Complessità

Suffix Tree & Suffix Array

Towards Robust Indexing for Ranked Queries

crittosistemi a flusso

Comunicazioni Elettriche II

Capitolo 9: Trattabilitá e intrattabilitá dei problemi

ALLINEAMENTO DI SEQUENZE

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Soluzione dei problemi di Programmazione Lineare Intera

Appunti lezione Capitolo 13 Programmazione dinamica

Algoritmo per A. !(x) Istanza di B

Perché considerare la struttura 3D di una proteina

Complessità computazionale

Teoria dell informazione

TRIE (albero digitale di ricerca)

Per regnare occorre tenere divisi i nemici e trarne vantaggio. fai ad ogni passo la scelta più conveniente

Modello di sistema di comunicazione

una possibile funzione unidirezionale

che si ripete n volte, con n molto grande. Determinare il rate ottenuto dalla codifica LZ77, usando i parametri:

Problemi dello zaino e di bin packing

Soluzione dei problemi di Programmazione Lineare Intera

Giorgio Valentini DSI Università degli Studi di Milano. Sommario

1 Esercizio - caso particolare di ottimalità

Allineamenti a coppie

Automi e Linguaggi Formali

Allineamento e similarità di sequenze

BLAST: Basic Local Alignment Search Tool

Parallel Frequent Set Counting

Relazione Laboratorio di bioinformatica

Generatori di sequenze pseudocasuali. Manuela Aprile Maria Chiara Fumi

Crittografia Moderna. Segretezza Perfetta: nozioni

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

Programmazione Lineare Intera: Piani di Taglio

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

Algoritmi e strutture dati

Lezione 5. Giuditta Franco. 19 Febbraio 2008

Informazione, Entropia e Probabilità

1. Problemi di ottimizzazione combinatoria

Problemi intrattabili

Algoritmo di Branch & Bound

PROGRAMMAZIONE DINAMICA. Prof. Reho Gabriella Olimpiadi di Informatica

Indice. 1 Introduzione 2. 2 Algoritmo di compressione LZ78 3

I teoremi sulle derivate: Lagrange e Cauchy

carattere a b c d e f cod. var

Algoritmi e strutture dati

Programmazione dinamica

Introduzione ai Linguaggi Formali

FACOLTA DI INGEGNERIA INGEGNERIA INFORMATICA A.A. 2008/2009. Corso VISIONE E PERCEZIONE. Docente. Prof. FIORA PIRRI. Tutor MATIA PIZZOLI

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Programmazione Lineare Intera

Esame di Stato per l abilitazione alla professione di Ingegnere II sessione, anno 2008 Candidati in possesso della Laurea triennale

Classificazione Mario Guarracino Data Mining a.a. 2010/2011

Allineamenti multipli

Studio dell aleatorietà: : proprietà di indipendenza ed uniformità. Daniela Picin

Transcript:

Università degli studi di Pisa Nicola Guido PATTERNHUNTER: Faster and More Sensitive. Homology Search Seminario: Bioinformatica a.a. 2008/2009

Contenuto della presentazione Introduzione Scenario PatternHunter Modello probabilistico semplice Risultati Conclusioni 2

Introduzione Algoritmi per la ricerca di omologie nei db: per studi filogenetici per l'analisi di cambiamenti strutturali del genoma collegati a malattie... Algoritmi accurati tendono ad essere lenti. Esistono tecniche di ricerca scalabili basate su euristiche che danno limitate garanzie sull'accuratezza risultato. 3

Introduzione Paradismi esistenti Obiettivo Lenti, molto accurati Veloci, meno accurati Veloci, molto accurati 4

Contenuto della presentazione Introduzione Scenario PatternHunter Modello probabilistico semplice Risultati Conclusioni 5

Scenario: Paradigmi esistenti Algoritmo di Smith-Waterman. GCNTACACGTCACCATCTGTGCCACCACNCATGTCTCTAGTGATCCCTCATAAGTTCCAACAAAGTTTGC GCCTACACACCGCCAGTTGTG-TTCCTGCTATGTCTCTAGTGATCCCTGAAAAGTTCCAGCGTATTTTGC GAGTACTCAACACCAACATTGATGGGCAATGGAAAATAGCCTTCGCCATCACACCATTAAGGGTGA---- GAATACTCAACAGCAACATCAACGGGCAGCAGAAAATAGGCTTTGCCATCACTGCCATTAAGGATGTGGG ------------------TGTTGAGGAAAGCAGACATTGACCTCACCGAGAGGGCAGGCGAGCTCAGGTA TTGACAGTACACTCATAGTGTTGAGGAAAGCTGACGTTGACCTCACCAAGTGGGCAGGAGAACTCACTGA GGATGAGGTGGAGCATATGATCACCATCATACAGAACTCAC-------CAAGATTCCAGACTGGTTCTTG GGATGAGATGGAACGTGTGATGACCATTATGCAGAATCCATGCCAGTACAAGATCCCAGACTGGTTCTTG Date due sequenze lunghe rispettivamente m ed n. La complessità in tempo e spazio è O(mn). 6

Scenario: Paradigmi esistenti m sequenza 1 n sequenza 2 Vengono confrontate tutte le basi della prima sequenza con tutte le basi della seconda. Sequenza Genoma Umano = 3x10 Sequenza Genoma Topo = 3x10 9 9 Umano vs Topo = 9x10 18 7

Scenario: Paradigmi esistenti Paradigmi esistenti più veloci sono basati su euristiche. 1) approccio basato sul concetto di 'seed' 2) approccio basato sui 'suffix tree' 8

Scenario: approccio 1 Blast family FASTA SIM SENSEI In questi programmi si cercano 'seed' nella sequenza target, che vengono successivamente estesi. Aumenta la dimensione del seed da ricercare, diminuisce l'accuratezza della ricerca. Diminuisce la dimensione del seed da ricercare, rallenta la computazione. 9

Scenario: approccio 2 MUMmer REPuter QUASAR La ricerca si basa sugli alberi di suffissi. La struttura dati evidenzia la sequenza di basi per facilitare la ricerca di sottosequenze I suffix trees sono utilizzati per il match esatto di stringhe. La struttura dati richiede per la memorizzazione una quantità di spazio considerevole. 10

Scenario: ciò che verrà presentato PATTERN HUNTER: basato sull'approccio seed Programma scritto in Java. Nuovo modello di 'seed' per aumentare l'accuratezza della ricerca 11

Contenuto della presentazione Introduzione Scenario PatternHunter Modello probabilistico semplice Risultati Conclusioni 12

PatternHunter : Terminologia Seed = piccolo segment pair tra due sequenze Segment = sottostringa di una sequenza. Segment pair = Date due sequenze, è una coppia di sottostringhe appartenenti ognuna ad una sequenza. 13

PATTERNHUNTER vs BLAST BLAST = cerca seed di k=11 lettere consecutive. Questi seed sono poi estesi in entrambe le direzioni, senza gap, fino al massimo possibile score ammesso per l'estensione del seed. Avere K lettere consecutive limita l'accuratezza della ricerca 14

PATTERNHUNTER vs BLAST Utilizzando un seed di k=11 lettere consecutive non trovo hits. GAGTACTCAACACCAACATTAGTGGGCAATGGAAAAT GAATACTCAACAGCAACATCAATGGGCAGCAGAAAAT Dilemma: Seed corti: più accurati, meno velocità Seed lunghi: meno accurati, più velocità 15

PatternHunter : spaced seed Come aumentare contemporaneamente velocità e accuratezza? PatternHunter = introduce seed di k lettere non consecutive (spaced seed). Questo semplice cambiamento ha degli effetti sorprendenti sull'accuratezza della ricerca. 16

PatternHunter : spaced seed MODELLO(stringa binaria) k = peso 111010010100110111 1s = 11 dove: 1 = richiesto match 0 = don't care 17

PatternHunter : spaced seed Supponiamo di avere due sequenze simili, s e t, di lunghezza L. Definiamo una stringa binaria, v = v (s,t) tale che v[i] = 1 sse s[i] = t[i] v[i] = 0 altrimenti Si dice che un modello m copre una stringa u sse m[i] u [i]. 18

PatternHunter : Esempio di seed MODELLO k = peso 111010010100110111 1s = 11 GAGTACTCAACACCAACATTAGTGGCAATGGAAAAT GAATACTCAACAGCAACACTAATGGCAGCAGAAAAT 111010010100110111 19

PatternHunter : Esempio di seed MODELLO k = peso 111010010100110111 1s = 11 GAGTACTCAACACCAACATTAGTGGCAATGGAAAAT GAATACTCAACAGCAACACTAATGGCAGCAGAAAAT 111010010100110111 Come già visto, seed 11111111111 non rileva nessuna omologia tra le due sequenze. Spaced seed forniscono risultati più accurati. 20

Contenuto della presentazione Introduzione Scenario Pattern Hunter Modello probabilistico semplice Osservazioni 21

Modello Probabilistico semplice Caratteristiche dei seed a confronto TTGACCTCACC?? TTGACCTCACC? 11111111111 11111111111 CAA?A??A?C??TA?TGG????????? CAA?A??A?C??TA?TGG? 111010010100110111 111010010100110111 BLAST: eventi di match dipendenti PH: eventi di match indipendenti 22

Modello Probabilistico semplice PatternHunter ha poca sovrapposizione 111010010100110111 111010010100110111 111010010100110111 111010010100110111 111010010100110111 111010010100110111 111010010100110111... 23

Modello probabilistico semplice Consideriamo una regione di lunghezza L e consideriamo gli eventi, di avere un match in differenti posizioni, indipendenti Formalmente, la regione può essere vista come una sequenza di L variabiali casuali di Bernulli X0 X1 X2... XL-1. dove Pr( Xi = 1) = p i = 0...N-1 24

Modello Probabilistico semplice Il numero di hits atteso è dove: (L M + 1) p K L = la lunghezza della regione M = la lunghezza del modello p = la probabilità di avere un match K = peso del modello 25

Modello Probabilistico semplice Con L=64, p=0,70 e k=11 La probabilità di trovare almeno un hits è Blast's consecutive model --M=11--> 30,0% PH's nonconsecutive model --M=28--> 46,6% Il numero atteso di hits è Blast's consecutive model --M=11--> 1,09 PH's nonconsecutive model --M=28--> 0,93 26

Modello Probabilistico semplice Posso effettuare (L M + 1 ) shift diversi L = lunghezza regione BLAST PH M = lunghezza modello M = lunghezza modello Con BLAST posso effettuare più shift rispetto PH 27

Modello Probabilistico semplice Probabilità di avere almeno un hits Similarità su una regione lunga 64 28

Modello Probabilistico semplice Theorema. Trovare il seed ottimo, data la lunghezza e il peso, è un problema np-arduo Idea di dimostrazione (viene effettuata una riduzione) SeedOttimo < logspace 3-SAT 29

Contenuto della presentazione Introduzione Scenario Pattern Hunter Modello Probabilistico semplice Risultati Conclusioni 30

Risultati Consideriamo la ricerca di omologie tra Arabidopsis Chromosome 2 (20Mb) e Chromosome 4 (18Mb) Lunghezza sequenza Blastn PatternHunter 20Mb vs 18Mb Out of memory 13 min Considerando Megablast... 31

Risultati 32

Risultati Sequenza genoma UMANO vs TOPO Pentium IV 3GHz Linux PC SSearch Blastn PatternHunter 20 Days 575 s Seeds 1 2 4 8 General 242 s 381 s 647 s 1027 s Specific 214 s 357 s 575 s 996 s 33

Contenuto della presentazione Introduzione Scenario Pattern Hunter Modello Probabilistico semplice Risultati Conclusioni 34

Conclusioni PatternHunter è un algoritmo basato su euristiche, che presenta un'accuratezza paragonabile all'algoritmo di Smith-Waterman, ma veloce tanto quanto Blast. 35

Riferimenti [1] PatternHunter: faster and more sensitive homology search. [2] Patternhunter II: highly sensitive and fast homology search. [3] Optimal spaced seed for homologous coding regions [4] A Tutoria of recent developments in the seeding of local alignment. 36