efficient q gram filters for finding all matches over a given length l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Efficient q -Gram Filters for Finding All Î -Matches over a Given Length PowerPoint Presentation
Download Presentation
Efficient q -Gram Filters for Finding All Î -Matches over a Given Length

Loading in 2 Seconds...

play fullscreen
1 / 83

Efficient q -Gram Filters for Finding All Î -Matches over a Given Length - PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on

Efficient q -Gram Filters for Finding All Î -Matches over a Given Length. Kim R. Rasmussen, Jens Stoye, Eugene W. Myers. Seminario di: Francesca Pratesi Giacomo Righetti. Sommario. Motivazioni biologiche del problema Differenze tra algoritmo esatto, euristiche e filtri

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 'Efficient q -Gram Filters for Finding All Î -Matches over a Given Length' - xadrian


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
efficient q gram filters for finding all matches over a given length

Efficient q-Gram Filters for Finding All Î-Matches over a Given Length

Kim R. Rasmussen, Jens Stoye, Eugene W. Myers

Seminario di:

Francesca Pratesi

Giacomo Righetti

Q-Gram Filters for Finding All Î-Matches

sommario
Sommario
  • Motivazioni biologiche del problema
  • Differenze tra algoritmo esatto, euristiche e filtri
  • Definizione del problema
  • Formulazione semplificata

- alcuni esempi

- condizioni di filtraggio

- algoritmo proposto

  • Formulazione completa

- condizioni di filtraggio

- algoritmo completo

- complessità

  • Applicazioni e risultati sperimentali

Q-Gram Filters for Finding All Î-Matches

motivazioni biologiche
Motivazioni biologiche

Comparare sequenze biomolecolari A, B Î ∑*

È interessante ricercare sequenze omologhe

  • L’omologia (carattere qualitativo) fa riferimento ad una relazione evolutiva presente o assente.

• La similarità (carattere quantitativo) fa riferimento al grado di similitudine che viene misurato tra due sequenze precedentemente allineate.

  • Allineare due o più sequenze vuol dire determinare una relazione tra le sequenze in modo da rendere massimo il grado di similarità
  • L’allineamento può essere globale oppure locale

Q-Gram Filters for Finding All Î-Matches

motivazioni biologiche sequence similarity
Motivazioni biologicheSequence similarity
  • Si possono identificare delle regioni funzionali (ad esempio siti, geni o proteine) in sequenze biologiche
    • Da queste regioni è possibile ricavare altre informazioni; ad esempio, attraverso la ricerca di similarità tra siti di restrizione è possibile localizzare potenziali enzimi di restrizione (Rebase software di R. Roberts)
    • C'è un algoritmo derivato da Smith-Waterman che serve per trovare potenziali geni gRNA (che guida la modifica del criptogene) da un dato criptogene (gene originale)
    • Le trascriptasi inverse sono proteine omologhe, usate da alcuni tipi di retrovirus (Moloney murine leukemia e HIV Type I) per replicare la propria informazione genetica che è conservata nell'RNA

Q-Gram Filters for Finding All Î-Matches

motivazioni biologiche sequence similarity5
Motivazioni biologicheSequence similarity

Methanocaldococcus Jannaschii: ha delle caratteristiche degli eucarioti (proteine coinvolte nella trascrizione, traduzione e regolazione) e altre dei procarioti (assenza di membrana nucleare, proteine del metabolismo)

Ricerca degli effetti della sclerosi multipla: la sclerosi multipla è una malattia autoimmune nella quale il sistema immunitario attacca le cellule nervose del paziente

È stato ipotizzato che le proteine delle guaine di mielina identificate dalle T-cellule siano simili quelle di alcuni virus o batteri

Sono state effettuate delle ricerche che hanno portato all’identificazione di certi epitopi (di batteri e di virus) che potevano essere confuse con le proteine delle guaine protettive di mielina

Q-Gram Filters for Finding All Î-Matches

motivazioni biologiche sequence assembly
Motivazioni biologicheSequence assembly

Un programma (assemblatore) allinea i frammenti e, sfruttando le parti che essi hanno in comune, li mette insieme. Viene ricostruita così la sequenza originale

I frammenti sono generati:

  • tramite shotgun sequencing: il DNA viene diviso in modo casuale in milioni di frammenti (che possono essere letti)
  • dalla trascrizione di geni (ESTs)

Q-Gram Filters for Finding All Î-Matches

motivazioni biologiche est clustering
Motivazioni biologicheEST clustering

Le Expressed Sequence Tag sono dei brevi frammenti di DNA trascritti e sequenziati da una sequenza di cDNA (mRNA risultante dopo il processo di splicing) più lunga

Le EST sono strutture indispensabili per la scoperta di geni e lo studio del genoma

Un singolo EST rappresenta una sequenza parziale di un gene

L’obiettivo è raggruppare EST appartenenti allo stesso gene; per poterli raggruppare, questi si devono sovrapporre e la distanza tra i frammenti non deve superare una certa soglia

Q-Gram Filters for Finding All Î-Matches

sommario8
Sommario
  • Motivazioni biologiche del problema
  • Differenze tra algoritmo esatto, euristiche e filtri
  • Definizione del problema
  • Formulazione semplificata

- alcuni esempi

- condizioni di filtraggio

- algoritmo proposto

  • Formulazione completa

- condizioni di filtraggio

- algoritmo completo

- complessità

  • Applicazioni e risultati sperimentali

Q-Gram Filters for Finding All Î-Matches

come risolvere il problema
Come risolvere il problema?

Tipologie di algoritmo:

  • esatto
  • euristico
  • filtro

Q-Gram Filters for Finding All Î-Matches

che cos un filtro
Che cos’è un filtro
  • Serve per ridurre l’area di ricerca
  • Elimina le sottostringhe che sicuramente non soddisfano il problema
  • Può restituire dei falsi positivi
  • È necessario applicare un algoritmo esatto sul risultato restituito (la dimensione dell’input è ridotta)
  • Si basa su una condizione necessaria

Q-Gram Filters for Finding All Î-Matches

che cos un filtro 2

A

B

Fase di filtraggio

Fase di verifica

Che cos’è un filtro (2)

Match potenziali

Falsi positivi

Match reali

Q-Gram Filters for Finding All Î-Matches

che cos un filtro 212

A

B

Fase di filtraggio

Fase di verifica

Che cos’è un filtro (2)

Preprocessing

Indice

Match potenziali

Falsi positivi

Match reali

Q-Gram Filters for Finding All Î-Matches

lavori precedenti
Lavori precedenti
  • L’inefficienza di Smith-Waterman ha motivato lo sviluppo di euristiche quali FASTA (1988) e BLAST (1990-97)
  • Il primo algoritmo di filtraggio è stato quello di Ukkonen (1992)
  • QUASAR (Burkhardt 1999) basato sul precedente
  • SSAHA (Ning 2001) e BLAT (Kent 2002)
  • FLASH (Califano, Rigoutos 1993)

Q-Gram Filters for Finding All Î-Matches

sommario14
Sommario
  • Motivazioni biologiche del problema
  • Differenze tra algoritmo esatto, euristiche e filtri
  • Definizione del problema
  • Formulazione semplificata

- alcuni esempi

- condizioni di filtraggio

- algoritmo proposto

  • Formulazione completa

- condizioni di filtraggio

- algoritmo completo

- complessità

  • Applicazioni e risultati sperimentali

Q-Gram Filters for Finding All Î-Matches

definizione del problema
Definizione del problema

allineamento (L) sequenza di operazioni (inserzione, cancellazione, sostituzione) per far sì che B sia uguale ad A

δ(L) numero di operazioni in L

distδ(A,B) min{δ(L)}

error rate (Î)

q-gram sottostringa di lunghezza q

q-hit coppia (i,j) tale che A[i, i+q-1]=B[j, j+q-1]

Q-Gram Filters for Finding All Î-Matches

alcuni esempi
Alcuni esempi

0 123 45 6 789 10 11 12 13 14

A = ACCTTTGCAAACGTA

B = CGCAAACCGTTTGC

5-gram:

A

B

{ACCTT,CCTTT,CTTTG,TTTGC,TTGCA,TGCAA,GCAAA,CAAAC,AAACG,AACGT,ACGTA}

{CGCAA,GCAAA,CAAAC,AAACC,AACCG,ACCGT,CCGTT,CGTTT,GTTTG,TTTGC}

Q-Gram Filters for Finding All Î-Matches

alcuni esempi17
Alcuni esempi

0 123 45 6 789 10 11 12 13 14

A = ACCTTTGCAAACGTA

B = CGCAAACCGTTTGC

5-gram:

A

B

{ACCTT,CCTTT,CTTTG,TTTGC,TTGCA,TGCAA,GCAAA,CAAAC,AAACG,AACGT,ACGTA}

{CGCAA,GCAAA,CAAAC,AAACC,AACCG,ACCGT,CCGTT,CGTTT,GTTTG,TTTGC}

5-hit:

{ (CAAAC,7,2) , (TTTGC,3,9) }

Q-Gram Filters for Finding All Î-Matches

definizione del problema18
Definizione del problema

Trovare gli Î-match (allineamento locale con error rate al più Î)

Input: due stringhe A e B, una lunghezza minima n0 ed un error rate massimo Î

Output: tutti gli Î-match(α,β) dove α e β sono sottostringhe di A e B e |β|³n0 e distδ(α,β)£ ëÎ|β|û

Q-Gram Filters for Finding All Î-Matches

idea di base
Idea di base
  • Cercare tutti i q-hit tra le due stringhe
  • Identificare le regioni contenenti “abbastanza” q-hit
  • Esaminare più attentamente queste regioni

Q-Gram Filters for Finding All Î-Matches

sommario20
Sommario
  • Motivazioni biologiche del problema
  • Differenze tra algoritmo esatto, euristiche e filtri
  • Definizione del problema
  • Formulazione semplificata

- alcuni esempi

- condizioni di filtraggio

- algoritmo proposto

  • Formulazione completa

- condizioni di filtraggio

- algoritmo completo

- complessità

  • Applicazioni e risultati sperimentali

Q-Gram Filters for Finding All Î-Matches

formulazione iniziale
Formulazione iniziale

Caso più semplice: |β|=n0

La struttura di base usata per risolvere il problema è il “parallelogramma”, associata all’uso della matrice di edit

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

B

Supponiamo di ricercare regioni contenenti 2 q-hit

A

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi23
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

B

Supponiamo di ricercare regioni contenenti 2 q-hit

A

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi24
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

B

Supponiamo di ricercare regioni contenenti 2 q-hit

A

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi25
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

B

Supponiamo di ricercare regioni contenenti 2 q-hit

A

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi26
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

.

B

Supponiamo di ricercare regioni contenenti 2 q-hit

A

.

.

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi27
Trovare i parallelogrammi

Parallelogramma n0·e

n0 caratteri

Supponiamo di ricercare regioni contenenti 2 q-hit

e+1 diagonali

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi28
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

B

Supponiamo di ricercare regioni contenenti 2 q-hit

ATC

A-C

A

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi29
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

B

Supponiamo di ricercare regioni contenenti 2 q-hit

A

e+1 diagonali

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi30
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

B

Supponiamo di ricercare regioni contenenti 2 q-hit

ATCT

ACGT

A

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi31
Trovare i parallelogrammi

Esempio: date le stringhe GATCT e ACGTC

PB

B

A

Supponiamo di ricercare regioni contenenti 2 q-hit

PA

Q-Gram Filters for Finding All Î-Matches

lemma 1
Lemma 1

Siano α e β sottostringhe di A e B tali che |β|=n0

e distδ(α,β) £ e

e = ëÎn0 û

τ = f(n0,q,e) = (n0+1) – q(e+1)

Esiste un parallelogramma n0 ·e tale che:

  • contiene almeno τq-hit
  • β è la proiezione di B
  • la proiezione di A è contenuta in α

Q-Gram Filters for Finding All Î-Matches

lemma 1 precisazioni
Lemma 1 - Precisazioni

τ = f(n0,q,e) = (n0+1) – q(e+1)

e = ëÎn0 û

Q-Gram Filters for Finding All Î-Matches

lemma 1 precisazioni34
Lemma 1 - Precisazioni

τ = f(n0,q,e) = (n0+1) – q(e+1)

e = ëÎn0 û

Q-Gram Filters for Finding All Î-Matches

lemma 1 precisazioni35
Lemma 1 - Precisazioni

τ = f(n0,q,e) = (n0+1) – q(e+1)

e = ëÎn0 û

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi36
Trovare i parallelogrammi

n0=8

e=2

q=2

τ=3

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi37
Trovare i parallelogrammi

β

PB

n0=8

e=2

q=2

τ=3

PA

α

Q-Gram Filters for Finding All Î-Matches

trovare i parallelogrammi38
Trovare i parallelogrammi

n0=8

e=2

q=3

τ=0

Q-Gram Filters for Finding All Î-Matches

passi dell algoritmo 1
Passi dell’algoritmo (1)

Preprocessing:Indicizziamo la stringa A, in modo da sapere le occorrenze di ogni q-gram (Morris-Pratt)

Q-Gram Filters for Finding All Î-Matches

passi dell algoritmo 2
Passi dell’algoritmo (2)
  • Si trovano tutti i q-hit
  • Per ogni possibile parallelogramma
    • Si contano quante occorrenze di q-hit vi sono
    • Se tale numero supera la soglia τ α e β potrebbero costituire un Î-match

Q-Gram Filters for Finding All Î-Matches

sommario41
Sommario
  • Motivazioni biologiche del problema
  • Differenze tra algoritmo esatto, euristiche e filtri
  • Definizione del problema
  • Formulazione semplificata

- alcuni esempi

- condizioni di filtraggio

- algoritmo proposto

  • Formulazione completa

- condizioni di filtraggio

- algoritmo completo

- complessità

  • Applicazioni e risultati sperimentali

Q-Gram Filters for Finding All Î-Matches

formulazione completa
Formulazione completa

In questo caso: |β|≥n0

  • È necessaria una nuova funzione per il calcolo di τ
  • Parallelogramma w x e’ (di area maggiore rispetto al precedente)
  • β può non coincidere con pB
  • pB può coincidere con B
  • pA può coincidere con α

Q-Gram Filters for Finding All Î-Matches

formulazione completa deriviamo
Formulazione completa - Deriviamo τ

U(1, 2, 0.25) = 0

U(2, 2, 0.25) = 0

U(3, 2, 0.25) = 2

U(4, 2, 0.25) = 1

U(5, 2, 0.25) = 2

U(6, 2, 0.25) = 3

U(7, 2, 0.25) = 4

U(8, 2, 0.25) = 3

Q-Gram Filters for Finding All Î-Matches

formulazione completa deriviamo44
Formulazione completa - Deriviamo τ

Per , è strettamente crescente

Q-Gram Filters for Finding All Î-Matches

formulazione completa deriviamo45
Formulazione completa - Deriviamo τ

È sufficiente calcolare la funzione in n0 e in n1

Per non perdere soluzioni, la scelta di τ deve essere meno vincolante possibile (quella in cui sono richiesti meno q-hit)

Q-Gram Filters for Finding All Î-Matches

formulazione completa deriviamo46
Formulazione completa -Deriviamo τ

Q-Gram Filters for Finding All Î-Matches

dimensionamento del parallelogramma calcolo di e
Dimensionamento del parallelogramma - Calcolo di e

Un parallelogramma, per essere considerato valido, deve contenere almeno τ q-hit (distribuiti lungo più diagonali)

Q-Gram Filters for Finding All Î-Matches

dimensionamento del parallelogramma calcolo di e48
Dimensionamento del parallelogramma - Calcolo di e

e deve essere sufficientemente grande, ma non troppo (per non aumentare i falsi positivi)

Conoscendo il numero di q-hit richiesti (dato da U) e il numero massimo di q-hit contenuti in una diagonale (τ -1), si trova il numero di diagonali su cui si distribuiscono i q-hit

Q-Gram Filters for Finding All Î-Matches

dimensionamento del parallelogramma calcolo di e49
Dimensionamento del parallelogramma - Calcolo di e

Si stabilisce una relazione tra questo valore e il numero di errori ammessi nel caso dello specifico parallelogramma (di dimensioni ), ottenendo:

Q-Gram Filters for Finding All Î-Matches

dimensionamento del parallelogramma calcolo di w
Dimensionamento del parallelogramma - Calcolo di w

Effettuando vari calcoli, si ottiene una formula per trovare il valore dell’altra dimensione del parallelogramma:

Q-Gram Filters for Finding All Î-Matches

lemma 2
Lemma 2

Sia β una sottostringa di B tale che |β|≥n0 che ha un Î-match con una sottostringa α di A

Siano , , e

  • Esiste un parallelogramma w·e:
  • contenente almeno τ q-hit
  • le cui proiezioni intersecano α e β

Se |β|≤w allora PB contiene β; altrimenti è una sottostringa di β

Q-Gram Filters for Finding All Î-Matches

alcuni valori d esempio
Alcuni valori d’esempio

Parametri ottenuti con Î=0,05:

Aumentando τ aumentano anche n0, w ed e

Q-Gram Filters for Finding All Î-Matches

algoritmo completo
Algoritmo completo

Preprocessing

Indicizziamo la stringa A, in modo da sapere tutte le occorrenze di ogni possibile q-Gram

Iterazione

Troviamo tutti i possibili parallelogrammi w·e

Sfruttiamo il concetto di bin (insieme di (e+1) diagonali adiacenti) e di sliding window

Un bin conta il numero di q-hit contenuti nel parallelogramma definito dalle diagonali del bin e dalle colonne della sliding window

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 2

B

A

Algoritmo completo (2)

Q-Gram Filters for Finding All Î-Matches

slide55

B

A

Algoritmo completo (2)

e+Δ

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 256

B

A

Algoritmo completo (2)

τ q-hit non possono essere dispersi in più di e+1 diagonali

e+Δ

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 257

B

A

Algoritmo completo (2)

e+Δ

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 258

B

A

Algoritmo completo (2)

e+Δ

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 259

B

A

Algoritmo completo (2)

e+Δ

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 260

B

A

Algoritmo completo (2)

e+Δ

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 261

B

A

Algoritmo completo (2)

Q-Gram Filters for Finding All Î-Matches

algoritmo completo 3
Algoritmo completo (3)

Ottimizzazioni in tempo:

  • non si possono avere τ q-hit in una stringa più corta di q+τ-1
    • si rilassa il problema, considerando i parallelogrammi w’·e, con w’≥ q+τ-1
  • due q-hit distanti più di w-q posizioni (in B) non possono stare nello stesso parallelogramma
    • per ogni bin, si usano gli indici min e max per indicare rispettivamente il minimo e il massimo indice j (riferito a B) dei q-hit trovati
    • si termina nel momento in cui si trova un q-hit tale per cui j-w+q>max

Q-Gram Filters for Finding All Î-Matches

algoritmo completo precisazioni
Algoritmo completo - Precisazioni

In seguito a queste ottimizzazioni, l’algoritmo può perdere accuratezza (si creano un maggior numero di falsi positivi). Questo non comporta conseguenze solamente negative perché anche questi casi possono essere interessanti da un punto di vista biologico

(Può capitare in casi particolari, in cui i q-hit si trovano esattamente ogni w-q+1 posizioni in B)

Q-Gram Filters for Finding All Î-Matches

complessit in tempo
Complessità in tempo

Preprocessing:

Lunghezza liste (pessimo): |A|

Lunghezza liste (medio):

Q-Gram Filters for Finding All Î-Matches

complessit in tempo65
Complessità in tempo

Preprocessing:

Complessità (medio):

Lunghezza liste (pessimo): |A|

Lunghezza liste (medio):

Complessità (pessimo): O(|A|·|B|)

Q-Gram Filters for Finding All Î-Matches

complessit in spazio
Complessità in spazio

Totale occorrenze: |A|

Numero massimo di entrate:

Dimensione tabella occorrenze:

Q-Gram Filters for Finding All Î-Matches

complessit in spazio67
Complessità in spazio

Totale occorrenze: |A|

Numero massimo di entrate:

Dimensione tabella occorrenze:

Parallelogrammi: w·(e+Δ) Δ>0

Ogni bin è associato a: e+Δ diagonali

I bin si sovrappongono su e diagonali

Q-Gram Filters for Finding All Î-Matches

complessit in spazio68
Complessità in spazio

Totale occorrenze: |A|

Numero massimo di entrate:

Dimensione tabella occorrenze:

Parallelogrammi: w·(e+Δ) Δ>0

Ogni bin è associato a: e+Δ diagonali

I bin si sovrappongono su e diagonali

Bin richiesti:

Di solito: Δ = 2z, 2z>e, z Î N

Q-Gram Filters for Finding All Î-Matches

complessit in spazio69
Complessità in spazio

Totale occorrenze: |A|

Numero massimo di entrate:

Dimensione tabella occorrenze:

Parallelogrammi: w·(e+Δ) Δ>0

Ogni bin è associato a: e+Δ diagonali

I bin si sovrappongono su e diagonali

Bin richiesti:

Di solito: Δ = 2z, 2z>e, z Î N

Q-Gram Filters for Finding All Î-Matches

complessit in spazio70
Complessità in spazio

Totale bin:

Bin e parallelogrammi: 3 interi

Totale parallelogrammi: 3p

Q-Gram Filters for Finding All Î-Matches

complessit in spazio71
Complessità in spazio

Totale bin:

Bin e parallelogrammi: 3 interi

Totale parallelogrammi: 3p

Complessità:

Tabella occorrenze + bin + parallelogrammi

3p

Q-Gram Filters for Finding All Î-Matches

complessit in spazio72
Complessità in spazio

Totale bin:

Bin e parallelogrammi: 3 interi

Totale parallelogrammi: 3p

Complessità:

Tabella occorrenze + bin + parallelogrammi

3p

Q-Gram Filters for Finding All Î-Matches

sommario73
Sommario
  • Motivazioni biologiche del problema
  • Differenze tra algoritmo esatto, euristiche e filtri
  • Definizione del problema
  • Formulazione semplificata

- alcuni esempi

- condizioni di filtraggio

- algoritmo proposto

  • Formulazione completa

- condizioni di filtraggio

- algoritmo completo

- complessità

  • Applicazioni e risultati sperimentali

Q-Gram Filters for Finding All Î-Matches

applicazioni
Applicazioni

I filtri trovano maggior utilizzo negli allineamenti di sequenze di DNA che non in quelle di aminoacidi

Alcuni esempi:

  • Sequence assembly
  • EST clustering

Q-Gram Filters for Finding All Î-Matches

applicazioni sequence assembly
Applicazioni – Sequence assembly

Nel contesto biologico del sequence assembly, il filtro è usato per costruire l'overlapper dei frammenti

Si costruisce una stringa A concatenando i frammenti

Il filtro viene applicato ad A su se stessa, ignorando gli hit sulla diagonale della matrice di edit e sotto di essa

Q-Gram Filters for Finding All Î-Matches

risultati sperimentali sequence assembly
Risultati sperimentali-Sequence assembly

Si possono allineare sequenze di 60 Mbp (n0=50, Î=5%) in 90 secondi (Apple PowerBook G4, 1Gb di memoria)

Problemi di 1,8 Gbp (D. melanogaster) sono risolti in 18 ore

Utilizzando un Intel Itanium II con 16 Gb di memoria il problema può essere risolto in meno di 2 ore

Q-Gram Filters for Finding All Î-Matches

applicazioni est clustering
Applicazioni – EST clustering

Si utilizza il filtro adottando l’idea di BLAST

Si trovano i seed

Q-Gram Filters for Finding All Î-Matches

applicazioni est clustering78
Applicazioni – EST clustering

Si utilizza il filtro adottando l’idea di BLAST

Si trovano i seed

I seed vengono estesi

Q-Gram Filters for Finding All Î-Matches

risultati sperimentali est clustering
Risultati sperimentali – EST Clustering

Si confrontano i risultati ottenuti con:

  • SSEARCH (implementazione di Smith-Waterman)
  • BLAST
  • SWIFT (un algoritmo basato sul filtro)

Q-Gram Filters for Finding All Î-Matches

risultati sperimentali est clustering 2
Risultati sperimentali – EST Clustering(2)

Sono selezionate casualmente 40.000 sequenze dal DNA dell’H. sapiens (25Mbp) e 5.600 sequenze dal DNA del M. musculus (2Mbp)

La lunghezza dei q-gram è 11

Lo score minimo richiesto è 16

SSEARCH è stato eseguito su un cluster di 50 UltraSparcIIe a 500 MHz

BLAST e SWIFT sono stati eseguiti su un AMD Athlon-XP a 2 Ghz

Q-Gram Filters for Finding All Î-Matches

risultati sperimentali est clustering 3
Risultati sperimentali –ESTClustering(3)

Confrontiamo i risultati ottenuti variando Î ed n0 in SWIFT

Q-Gram Filters for Finding All Î-Matches

risultati sperimentali est clustering 382
Risultati sperimentali –ESTClustering(3)

Filtration Ratio: rapporto tra area totale dei parallelogrammi restituiti e dimensione totale della matrice di edit

Q-Gram Filters for Finding All Î-Matches

bibliografia
Bibliografia
  • Comincioli, V. Biomatematica: interazioni tra le scienze della vita e la matematica. APOGEO (2005), par. 2.2.
  • Setubal, J., Meidanis, J. Introduction To Computational Molecular Biology. PSW (1997), cap 3
  • Clote, P., Backofen, R. Computational Molecular Biology An Introduction. WILEY (2000), par 3.1, 3.6
  • Lesk, Introduzione alla bioinformatica. McGraw-Hill
  • Myers, E., Rasmussen, K.R., Stoye, J., Efficient q-Gram Filters for Finding All Eps-Matches over a Given Length. J. Comp. Biol. (2006) 13(2). Pp 296-308 e relative slides
  • Wikipedia
  • Pop, M., Salzberg, S.L., Shumway, M., Genome Sequence Assembly: Algorithms and Issues. IEEE (2002). Pp 47-54
  • Genome sequence assembly primer http://www.cbcb.umd.edu/research/assembly_primer.shtml
  • Cerutti, L., EST clustering (2003) www.ch.embnet.org/CoursEMBnet/Pages02/slides/est_clustering.pdf
  • Combinatorial Pattern Matchinghttp://www.dia.unisa.it/~ads/BIOINFORMATICA/CombinatorialPatternMatching/index.htm

Q-Gram Filters for Finding All Î-Matches