universita di milano bicocca laurea magistrale in bioinformatica
Download
Skip this Video
Download Presentation
UNIVERSITA

Loading in 2 Seconds...

play fullscreen
1 / 46

UNIVERSITA - PowerPoint PPT Presentation


  • 265 Views
  • Uploaded on

Abbiamo un insieme di sequenze (DNA o proteine) non allineate e funzionalmente ... SP-Star (2000) Per tutti i pattern p che occorrono esattamente nelle ...

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'UNIVERSITA' - Kelvin_Ajay


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
universita di milano bicocca laurea magistrale in bioinformatica

UNIVERSITA’ DI MILANO-BICOCCALAUREA MAGISTRALE IN BIOINFORMATICA

Corso di

BIOINFORMATICA: TECNICHE DI BASE

Prof. Giancarlo Mauri

Lezione 9

Pattern discovery

il problema
Il problema
  • Abbiamo un insieme di sequenze (DNA o proteine) non allineate e funzionalmente correlate
  • Sappiamo che:
    • tutte le sequenze (o la maggior parte di esse) contengono regioni “simili” tra loro
    • le regioni comuni potrebbero essere responsabili della funzione delle sequenze
  • Problema: esiste un metodo efficiente e affidabile per trovare tali regioni?
un problema pi generale confronto di sequenze
Un problema più generale: confronto di sequenze
  • Obiettivo: individuare regioni simili all’interno di due o più sequenze per scoprire
    • origine evolutiva comune
    • funzioni comuni
    • Per le biosequenze (DNA, RNA e proteine), una forte similarità di solito implica una significativa similarità funzionale o strutturale
  • Esempi:
    • Similarità tra l’oncogene n-sys del virus del sarcoma delle scimmie e il gene del fattore di crescita PDGF (Doolittle 83, Waterfield, 83).
    • Similarità tra i geni delle globine nell’uomo e nello scimpanzè
quanto simili
Quanto simili?
  • Identiche
  • Con nucleotidi diversi permessi in alcune posizioni
  • Con mutazioni (in generale)
  • Con inserzioni e/o delezioni
  • Con alcune parti conservate separate da regioni casuali
  • All of the above(??)
mutazioni in posizione fissa
Mutazioni in posizione fissa

ttatcACAAAccaatggcgattccgaactttacc

gtacaactatcttAGAAAagcaaggattacttat

gggtgagtaATAAAtagtcgctaactactgaatc

gaccctggcaccccaacaAAAAAagaggaataca

ttatcACAAAccaatggcgattccga

gtacaactatcttAGAAAagcaaggattacttat

gggtgagtaATAAAtagtcgctaactactgaatc

ccccaacaAAAAAagaggaataca

Regione: AXAAA

mutazioni
Mutazioni

atattACAAAacctttgctctggtagaggttacg

ccccctggagcttaAAGAAcgtgatcggttcctt

ggggacccctgAAAATattatggcaagattgtga

aaacctgGAAAAagaccataaatggagccgttaa

gcccgactttccgttttcAAACAaggagttccct

atattACAAAaccttt

ccccctggagcttaAAGAAcgtgatcggttcctt

ggggacccctgAAAATattatggcaaga

aaacctgGAAAAagaccata

ttccgttttcAAACAaggagttccct

Regione: AAAAA

slide7
Gap

ccaaacAAAgcgAAAggtatcaaacacccggctt

agagcagcagtagtAAAtgAAAacgtcaggcaac

aacAAAggactAAActccgcatatgctctactac

cgaaatttctgagcttcctgAAAcAAAcctttat

caaacAAA---gcAAAggt

gagcagcagtagtAAA---tgAAAacgtcaggcaa

aacAAAggactAAAc

ttaatcctgAAAc----AAAcctttat

Regione: AAAX(1,5)AAA

pattern discovery
Pattern Discovery
  • Obiettivo:
    • dato un insieme di sequenze (nucleotidi o proteine) trovare tutti i pattern (anche detti segnali o motivi) che occorrono in forma esatta o approssimata (con mutazioni, inserzioni o delezioni) in tutte o in un numero significativo di esse
  • Ricercare un singolo pattern esatto è facile (O(n)):

ACGAGCGAGCACGAAGCG

XXGXGXGAGCXXGAXGXG

pattern discovery approssimato
Pattern Discovery approssimato
  • Obiettivo: dato un insieme di sequenze (nucleotidi o proteine) trovare tutti i pattern (anche detti segnali o motivi) che:
    • occorrano, con un numero di mutazioni, inserzioni o delezioni non superiore a un massimo assegnato, in ogni sequenza del set; oppure:
    • occorrano come sopra in forme non più distanti di un massimo assegnato, secondo una assegnata misura di distanza; oppure:
    • occorrano come sopra in un numero di sequenze “sorprendentemente” elevato
  • ma...
    • non si sa quale pattern si deve cercare
pattern discovery approssimato10
Pattern Discovery approssimato

Problema 1

INPUT:

una sequenza S sull’alfabeto S, due valori e,q  N

OUTPUT:

tutti i pattern che occorrono in S

almeno q volte con

al più emismatches

pattern discovery approssimato11
Pattern Discovery approssimato

Problema 2

INPUT:

un insieme S = {S1, …, Sk} di sequenze sull’alfabeto S, due valori e, qN

OUTPUT:

tutti i pattern che occorrono in

almenoq elementi di S con

al piùemismatches

pattern discovery approssimato12
Pattern Discovery approssimato

Problema 3

INPUT:

una sequenza S definita sull’alfabeto S, due valori e, qN ed una misura di distanza d

OUTPUT:

tutti i pattern P che occorrono in Salmenoq volte con un forma P’ tale che d(P,P’)  e

Misure di distanza:

- numero di mismatches (mutazioni)

- distanza di edit

-weightmatrices (PAM,BLOSUM)

metodi pattern driven
Metodi Pattern Driven
  • La soluzione più semplice:
    • Generare tutti i pattern fino ad una lunghezza massima m
    • Cercare separatamente ogni pattern nelle sequenze
    • Riportare il pattern più significativo sulla base di qualche misura statistica
  • La ricerca è più efficiente con l’aiuto di una struttura di indicizzazione dei testi adatta
  • Limite: ci sono 4m o 20m pattern candidati per ogni lunghezza m:
    • m = 5 : 1024 pattern
    • m = 10 : 1.048.576 pattern
    • m = 15 : 1.073.741.824 pattern
metodi pattern driven14
Metodi Pattern Driven
  • L’enumerazione di tutti i pattern possibili funziona solo per lunghezze limitate e per DNA (l’alfabeto è più piccolo)
  • Soluzioni possibili per accelerare la ricerca sono:
    • Ridurre a priori il numero di pattern candidati (limitando la ricerca a quelli che occorrono almeno una volta senza errori)
    • Imporre restrizioni alle posizioni in cui possono verificarsi mutazioni (ossia permettere errori solo in specifiche posizioni)
  • Se il pattern è contenuto nel set di candidati, questi metodi garantiscono di trovarlo
metodi pattern driven15
Metodi Pattern Driven
  • Funzionano bene nella pratica:
    • con pattern corti (fino a 8-10 residui)
    • se il pattern occorre esatto in almeno una sequenza
    • se sono solo permesse mutazioni in posizione fissa (ad esempio: ATXGGGXTCAXXG)
  • Limite: deve essere predefinito un valore di errore massimo (dipendente dalla dimensione del pattern)
metodi sequence driven
Metodi Sequence Driven
  • La maggior parte dei software usati si basano su metodi sequence driven che:
    • prendono tutti i pattern che occorrono nelle sequenze, e cercano similarità tra di essi
    • non necessitano di un limite superiore della lunghezza del motivo e/o del numero di mutazioni
    • non necessitano di una soglia di distanza: semplicemente cercano il gruppo (o i gruppi) dei pattern più simili (uno per ogni sequenza)
  • Limite: il problema diventa anche più difficile di prima
metodi sequence driven17

ACAAA

GAAAA

GGATA

AAAAT

GAAAA

Metodi Sequence Driven

Esempio: pattern di lunghezza m con al più d mutazioni

Grafo in cui:

  • i nodi sono i pattern
  • gli archi connettono pattern entro una distanza 2d (possono essere istanze dello stesso pattern)
metodi sequence driven18
Metodi Sequence Driven

Equivalente a trovare una cricca massimale nel grafo...

…è NP-difficile!!!

metodi sequence driven19
Metodi Sequence Driven
  • Miglioramenti: introdurre euristiche per ottenere una buona (possibilmente la migliore) soluzione in un tempo accettabile, senza verificare tutti i profili possibili
  • La soluzione ottima non è più garantita
  • I programmi più ampiamente utilizzati:
    • CONSENSUS (greedy)
    • Gibbs Sampler (probabilistico)
    • MEME (machine learning)

sono sequence driven. Ognuno è basato su un’euristica diversa

metodi sequence driven20
Metodi Sequence Driven
  • Pregi:
    • Non si deve imporre nessun limite alla lunghezza della regione comune
    • Non si deve definire esplicitamente un limite superiore all’errore
    • Una soluzione viene sempre trovata
  • Difetti:
    • Non garantiscono di trovare la soluzione migliore
    • La dimensione della regione deve sempre essere “suggerita” all’algoritmo
metodi sequence driven21
Metodi Sequence Driven
  • La sequenza può essere vista come generata da due diverse sorgenti:
    • una che genera nucleotidi appartenenti a rumore di fondo casuale (random background noise)
    • una che genera il motivo
  • Soluzione: provare a stimare i parametri della sorgente che genera il motivo
  • Più il motivo differisce dal rumore di fondo, più ci si aspetta che sia significativo
metodi sequence driven22
Metodi Sequence Driven
  • Computano la frequenza di ogni nucleotide nelle sequenze (pi)
  • Tentano di costruire un profilo della sorgente del pattern con una matrice di frequenze
  • Trovano la matrice le cui frequenze differiscono maggiormente dalle frequenze di background
  • Più il segnale è vicino alla distribuzione del rumore di fondo, più è arduo rilevarlo con metodi sequence driven
profili
Profili

atattACAAAaccttt

ccccctggagcttaAAGAAcgtgatcggttcctt

ggggacccctgAAAATattatggcaaga

aaacctgGAAAAagaccata

ttccgttttcAAACAaggagttccct

1 2 3 4 5

-----------------

A | 4 4 4 4 4

C | 0 1 0 1 0

G | 1 0 1 0 0

T | 0 0 0 0 1

1 2 3 4 5

-------------------

A | 0.80.80.80.80.8

C | 0.00.20.00.20.0

G | 0.20.00.20.00.0

T | 0.00.00.00.00.2

scoring patterns sd
Scoring Patterns (SD)
  • Il solo conteggio del numero di occorrenze di un pattern può non essere sufficiente
  • Obiettivo: associare ad ogni pattern (o profilo) un punteggio statistico, tentando di riflettere il più possibile la sua rilevanza biologica
  • Riporta dunque i pattern con score più elevato
  • Pattern driven: computa il numero di occorrenze di un pattern e lo compara con qualche valore atteso:

S(p) = Obs(p)/Exp(p)

scoring patterns sd25
Scoring Patterns (SD)
  • I metodi SD classificano la matrice di frequenza secondo il suo contenuto di informazione (o entropia relativa):
  • Minimo quando fi,j = Pri
  • Massimo quando il nucleotide meno probabile occorre esclusivamente
consensus 1990

1 2 3 4 5

A 2 1 1 2 2

C 0 1 0 0 0

G 0 0 1 0 0

T 0 0 0 0 0

Consensus (1990)
  • Prende un pattern dalla prima sequenza, uno dalla seconda e costruisce la matrice delle frequenze
  • Ripete per ogni coppia di pattern
  • Salva la matrice migliore
consensus 199027
Consensus (1990)
  • Ripete per k volte, aggiungendo ad ogni passo i pattern di una nuova sequenza e salvando le più elevate matrici di scoring
  • Alla fine, stampa in output le matrici “migliori”, che corrisponderanno alle occorrenze del motivo (uno per ogni sequenza)
  • L’algoritmo è greedy: nessuna garanzia che le matrici finali siano le migliori possibili
gibbs sampler 1993
Gibbs Sampler (1993)
  • Sceglie a caso un pattern da ogni sequenza
  • Costruisce la matrice delle frequenze
  • Scarta il pattern appartenente ad una sequenza (S’)
  • Per ogni pattern di S’ calcola la verosimiglianza (likelihood) che venga generato dalla sorgente del motivo rispetto alla sorgente di background:

L(Pi) = M(Pi)/B(Pi)

  • Assegna ad ogni posizione i di S’ una probabilità proporzionale a L(Pi) e sceglie uno nuovo pattern da S’
gibbs sampler 199329
Gibbs Sampler (1993)
  • Si ferma dopo un dato numero di iterazioni, o quando gli score della matrice sono stabili
  • Riporta i profili migliori
  • Necessita di un elevato (>10) numero di sequenze in input
  • Una soluzione candidata (profilo) potrebbe essere rimpiazzata da una peggiore
  • Deve essere eseguito più di una volta
gibbs sampler 199330
Gibbs Sampler (1993)

1-1 1 AATGCTCAGC cataccaata

2-1 2 c AATCGTCAGC cagagctgtg

3-1 3 aa AATCCCCAGC gaataacgcg

4-1 4 gtg AATGCTCAGC cagttaatgg

5-1 5 agcg ATTCCTCAGC tgtcgggtag

6-1 6 gttgg GATCCTCAGC ataaaaaaaa

7-1 7 ctcgac AATCCTCAGG agacgactta

8-1 8 tgctacg AATCCTCAGT atcttattca

9-1 9 tcaaaaga AATCCTCCGC aaatggttac

10-1 10 agacaaacc AATTCTCAGC agaatgaagt

11-1 11 atgacgaaat AATCCTCTGC agacctggtc

12-1 12 gaacaaaact AATCCTCACC tagcttgagg

13-1 13 aactacggct AATCCTCATC tcctgggaag

14-1 14 tacagacgat AATCCTTAGC agcccgctac

15-1 15 gttcaggcta AATCCCCAGC ggcacggtct

sites: **********

gibbs sampler 199331
Gibbs Sampler (1993)

Motif model (residue frequency x 100):

POS A C G T Info

1 87 . . . 1.2

2 87 . . . 1.2

3 . . . 93 1.5

4 . 75 . . 0.9

5 . 87 . . 1.3

6 . . . 81 1.1

7 . 87 . . 1.3

8 81 . . . 1.0

9 . . 81 . 1.0

10 . 81 . . 1.1

limiti di performance

10

12

13

15

16

18

19

20

1

2

3

3

4

5

5

6

Limiti di performance

Falliscono tutti sul seguente benchmark (Pevzner 2000):

Trovare un segnale lungo 15 nucleotidi che appare con esattamente 4 mutazioni in un campione di 20 sequenze, ognuna lunga 600 nucleotidi

In generale, Pevzner ha evidenziato i seguenti valori limite per lunghezza pattern/numero di mismatches per insiemi di venti sequenze di lunghezza 600

segnale 15 4
AGGAAGCCGAGCGAT

gctgtcgcacAGGAATCCGACGGACaatggcagctggggttaaagcatg

tcctgaaaagAGGAAGCCATATGATgggctttactacaccgagagaggt

gtttcaggtgTGAAAGCCGGGGGATacggcagcggaattgaataacggt

gagtgtcggtTGGATACCGATCGATtaaacgtcgcggtacaagtatcat

actcacgggaAGGAAGCCACGAGCTcacacataccactacctaagtcaa

ctccaagtatAATAAGCCGAGCGTCgcaagaggcttctatctacaattt

aaacacaaacAGTTGGCCGAGCGACttatgtgacgtacactccttattg

ataggtcataAAGAATCCGAGACATgacctcaacgattggcacacaagg

cgaggtcaccAAGAAGGCGAAAGATccaagggtataagtcaaggagtta

ggcaacggaaCGGATGCCGAGATATatgaacgccaggtgggaaggttcc

aggcctccggAGTAATTCTAGCGATctgtaacacctcggacgcaacgcc

tcttttattaAGTAAGCCCCGCGTTcgtggttacgtgggtgggcggaca

atgccaagtaACTAAGCTGAGCGACcgaagagtagactgcggagactgt

gactcgtcgcCCGAAGGTGAGCGATtatctgaattacacatctccatcg

tcgtgtccgaACGAAGCCGAATTATgtcgaatggacgaatggtagggca

ccctgtgcgcAGGAAGGCGACCGTCagggagtgccattagtttacgacg

ttatattccaAGGAAGTGGAACTATgcgtcacaagcggaggtaaaggca

ttgggaaggtATGAAGCAGCCCGATgggctccatggcacgtccttccga

tacctcccctGGGAAGCTGAACGAGagctttaaccctataaccagagca

ggggtcgatgTGGAAGCCCGTCGATgggtcgcgactcgggacgtgcgat

Segnale (15,4)
le ricerche pi recenti
Le ricerche più recenti
  • La ricerca recente si è focalizzata sul problema del motivo (l,e) per il DNA: trovare tutti i pattern di lunghezza l che occorrono con al più e mutazioni in un insieme di sequenze
  • Il problema è stato “probabilmente” risolto in modo adeguato
  • Più alta è la probabilità di successo desiderata, più tempo richiede il programma
  • Alcuni programmi:
    • SP-Star
    • Projection
    • Weeder
sp star 2000
SP-Star (2000)
  • Per tutti i pattern p che occorrono esattamente nelle sequenze, si trova la migliore istanza pi in ogni sequenza i
  • Si selezionano i pattern che minimizzano:
  • Si raffinano i pattern trovati costruendo una stringa di consensus
projection 2001
Projection (2001)
  • Idea: proiettare un pattern di m caratteri in un sottospazio a k dimensioni, con k<l-d:

ACGAGGTCG

A AG T G

  • Alcune occorrenze del motivo saranno proiettate nello stesso sub-pattern
  • Le posizioni da rimuovere sono scelte a caso ad ogni passo
  • Il raffinamento del pattern avviene con un profilo
weeder 2001
Weeder (2001)
  • Idea: invece di ridurre il set di pattern candidati, ridurre il set di possibili match per ogni pattern, tentando di risparmiare un numero significativo di occorrenze valide
  • Invece di effettuare una ricerca esaustiva dei patterns che occorrono in ogni sequenza, si cercano pattern che occorrono in un loro sottoinsieme
  • L’algoritmo ha bisogno in input solo di un prefissato rapporto di errore 
weeder 200138
Weeder (2001)
  • Input: un insieme di sequenze e un rapporto di errore 
  • Output: tutti i pattern che occorrono in almeno q sequenze con al più m mutazioni
  • Le mutazioni non possono essere concentrate all’inizio del pattern
weeder 200139
Weeder (2001)
  • Dato un pattern P = p1p2....pm, l’algoritmo può trovare tutte le occorrenze valide di P (con al più |P| mutazioni), tale che al più i mutazioni occorrono nei primi i caratteri del pattern
  • Ma: alcune occorrenze del pattern possono venire dimenticate completamente
  • I segnali di DNA sono sempre così “puliti” da mostrarsi decomposti in blocchi?
    • La risposta è no, ma si può usare Weeder con buon senso
uso di weeder
Uso di Weeder
  • Esempio: pattern (15,4) che occorre in 20 sequenze i.i.d.
  • Possibili occorrenze valide (decomposte in blocchi): 829
  • Possibili occorrenze totali: 1365
  • Probabilità di “centrare” un’occorrenza possibile in una sequenza:

phit = .61

  • Probabilita di trovare il pattern in ogni sequenza: come tentare di vincere all’Enalotto!
  • Se si cercano pattern che occorrono in almeno 10 sequenze, la probabilità di vedere il pattern almeno 10 volte è:

Phit(20,10) = .89

uso di weeder41
Uso di Weeder
  • Si può usare Weeder come setaccio, per filtrare il set di pattern candidati
  • Tutti i pattern trovati da Weeder in almeno q sequenze possono essere ricercati nuovamente nelle sequenze, questa volta senza restrizione sulla posizione dei mismatch
  • Ci si aspetta che il numero dei pattern (pattern casuali diversi dal segnale reale) passati alla seconda fase sia molto più piccolo di quello originale (e non più esponenziale)
uso di weeder42
Uso di Weeder
  • La probabilità di trovare un pattern in una sequenza dipende dalla sua lunghezza e dal rapporto di errore
  • La probabilità di trovare un pattern in un insieme di sequenze (e in questo modo la scelta del quorum q per la prima fase) dipende dal numero di sequenze
  • Lo stesso approccio può essere applicato quando il segnale non compare in ogni sequenza
uso di weeder43
Uso di Weeder
  • Quando ci si aspetta che il segnale da trovare sia corto, l’algoritmo può essere usato in exact mode
  • Per segnale più lungo, più è basso il quorum q, più sarà alta la probabilità di trovare il segnale
  • Ma: anche il numero di pattern che soddisfano i vincoli di input è più elevato, e il programma è più lento
  • L’utente può scegliere un opportuno trade-off tra tempo e accuratezza
complessit teorica in tempo
Complessità teorica in tempo
  • Approccio naïve
    • O(4men)
  • Approccio con suffix tree (Sagot, 1998)
    • O(4emekn) con n dimensione dell’input, m lunghezza del pattern ed e numero di mutazioni permesse
  • Weeder
    • O((1/)e4ekn) con e numero di mutazioni che occorrono nel più lungo pattern trovato
conclusioni
Conclusioni
  • Metodi esaustivi
    • Adatti per pattern corti e analisi di dati once-for-all (ad esempio per interi genomi)
  • Metodi Sequence Driven
    • Danno risposte più veloci ma meno accurate
    • Per dati di dimensione limitata
    • E’ possibile scegliere un trade-off tra tempo e accuratezza
cosa troviamo sicuramente
Cosa troviamo sicuramente
  • Pattern corti
  • Pattern che occorrono esatti almeno una volta
  • Pattern composti da posizioni conservate e quelli wildcard (senza limiti di lunghezza, eccetto...)
  • DNA pattern con mutazioni (probabilmente! Ma si deve sapere quante mutazioni sono permesse)
  • Per il resto..... good luck!
ad