UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA

Slides:



Advertisements
Presentazioni simili
Allineamento Pairwise e Multiplo di Bio-Sequenze.
Advertisements

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Sistemi di numerazione
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
gruppi di amminoacidi in base alle catene laterali
RICERCA DI SIMILARITA’ IN BANCHE DATI
UNIVERSITA DI MILANO-BICOCCA CdL IN INFORMATICA Corso di Algoritmi e Ricerca Operativa Prof. Giancarlo Mauri LEZIONE 2.
Allineamento di sequenze
Programmazione dinamica
I programmi di ricerca in banche dati possono essere oppure essere utilizzabili via web residenti in un calcolatore di cui siamo proprietari o utenti.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Esercizi di esonero (a.a. 2007/2008) Compito C, terzo esercizio Data una sequenza di caratteri s1 ed una stringa s2 diciamo che s1 è contenuta in s2 se.
ANALISI DEI GRUPPI seconda parte
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Esercizio 1 Implementare l’algoritmo di Needleman-Wunsch per l’allineamento globale di due sequenze A=a1a2…an e B=b1b2…bm di lunghezza n e m rispettivamente.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e strutture dati
1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un insieme di clienti da servire (nodi piccoli). Il costo di afferenza.
Modelli e Algoritmi per la Logistica
1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un insieme di clienti da servire (nodi piccoli). Il costo di afferenza.
Biologia computazionale
Modelli simulativi per le Scienze Cognitive
Biologia computazionale A.A semestre II U NIVERSITÀ DEGLI STUDI DI MILANO Docente: Giorgio Valentini Istruttore: Matteo Re p4p4 Programmazione.
Analisi dei gruppi – Cluster Analisys
1) Algoritmi di allineamento 2) Algoritmi di ricerca in database
Allineamento Metodo bioinformatico che date due o più sequenze ne mette in evidenza similarità/diversità, supponendo che le sequenze analizzate abbiano.
ALLINEAMENTI GLOBALI E LOCALI
FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990)
Allineamento di sequenze proteiche
Radix-Sort(A,d) // A[i] = cd...c2c1
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Passo 3: calcolo del costo minimo
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Prof. Cerulli – Dott.ssa Gentili
Docente: Dr. Stefania Bortoluzzi Dipartimento di Biologia
Prof. Cerulli – Dott.ssa Gentili
I programmi di ricerca in banche dati possono essere
Modulo 5 Uso delle Basi di dati Paola Pupilli 2.
Rappresentazione delle durate Lezione 7 Programmazione per la Musica | Prof. Luca A. Ludovico.
A.A CORSO INTEGRATO DI INFORMATICA E BIOINFORMATICA per il CLT in BIOLOGIA MOLECOLARE Scuola di Scienze, Università di Padova Docenti: Dr.
Esempio di utilizzo del programma BLAST disponibile all’NCBI
4/19/2015E. Giovannetti -- OI09.1 Olimpiadi di Informatica 2010 Giornate preparatorie Dipartimento di Informatica Università di Torino marzo –
Purtroppo non esiste un modo univoco per indicare un gene
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Docente: Dr. Stefania Bortoluzzi Dipartimento di Biologia Universita' di Padova viale G. Colombo 3, 35131, Padova Tel
III LEZIONE Allineamento di sequenze
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 3 Mappe genetiche.
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 11 Distanza genomica.
WORKING WITH BIOSEQUENCES Alignments and similarity search.
UNIVERSITA’ DI MILANO-BICOCCA CdL IN INFORMATICA Corso di ALGORITMI COMPLEMENTI Prof. Giancarlo Mauri Distanza di edit e programmazione dinamica.
Allineamento di sequenze
Docente: Dr. Stefania Bortoluzzi Dipartimento di Biologia Universita' di Padova viale G. Colombo 3, 35131, Padova Tel
ALLINEAMENTO DI SEQUENZE
Conversione binario-ottale/esadecimale
Programmazione dinamica Algoritmi golosi Analisi ammortizzata
Problemi risolvibili con la programmazione dinamica Abbiamo usato la programmazione dinamica per risolvere due problemi. Cerchiamo ora di capire quali.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Lezione n° 8 - Matrice di base. - Soluzioni di base ammissibili. - Relazione tra vertici di un poliedro e soluzioni basiche. - Teorema fondamentale della.
Esempio di allineamento Due regioni simili delle proteine di Drosophila melanogaster Slit e Notch SLIT_DROME FSCQCAPGYTGARCETNIDDCLGEIKCQNNATCIDGVESYKCECQPGFSGEFCDTKIQFC..:.:
Lezione n° 6 -Ottimi globali e locali -Risoluzione grafica di un problema di PL -Definizione di Iperpiano e Semispazi. -Insiemi convessi. -Politopi e poliedri.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Allineamenti Multipli Problema Durante l’evoluzione i residui importanti per il mantenimento della struttura e della funzione sono conservati. Come riconoscere.
Transcript della presentazione:

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 7 Allineamento di sequenze

Allineamento globale di sequenze Cos’è un allineamento globale? Date due sequenze S = s1s2…sn e T = t1t2…tm sull’alfabeto S, un allineamento (globale) di S e T consiste in una coppia di sequenze S’ = s’1s’2…s’l e T’ = t’1t’2…t’l sull’alfabeto SU{} (con  carattere di spazio), che godono delle seguenti proprietà: S’ = T’ = l (max(n,m) ≤ l ≤ (m+n)) Eliminando gli spazi da S’ si ottiene S Eliminando gli spazi da T’ si ottiene T Se s’i = , allora t’i ≠ e viceversa

Allineamento globale: esempio ttcgagccttagcgta ttatagcgtagtcgta S T ttc-gagccttag-cgta ttat-agcg-tagtcgta S’ T’ Match Mismatch Cancellazione in S o inserzione in T Cancellazione in T o inserzione in S

Allineamento globale Rispetto alla distanza di edit, massimizza la similarità anziché minimizzare la differenza La distanza di edit è riconducibile ad esso Tecniche utilizzate: Analisi di dot matrix (dotplot) Algoritmi di Programmazione Dinamica Metodi euristici (FASTA, BLAST)

Esempio Senza gap: punteggio 10 IPLMTRWDQEQESDFGHKLPIYTREWCTRG CHKIPLMTRWDQQESDFGHKLPVIYTREW Con gap: punteggio 25 IPLMTRWDQEQESDFGHKLP IYTREWCTRG CHKIPLMTRWDQ QESDFGHKLPVIYTREW

Allineamento pesato Cos’è una matrice di punteggio? Matrice che assegna ad ogni coppia di caratteri (a,b)({-})2 un punteggio d che esprime il costo (o il beneficio) della sostituzione del simbolo a col simbolo b. Punteggio A dell’allineamento S’, T’ Un’altra possibile rappresentazione è attraverso l’allineamento Un allin può essere facilmente trasformato in un transcript e viceversa. Tuttavia, pur matematicam equivalenti, hanno significato diverso: Transcript enfasizza un ipotetico proceso evolutivo, e dipende dalle operazioni assunte, allineam confronta i prodotti del processo.

Allineamento globale : il problema INPUT: due sequenze S e T definite su un alfabeto S e una matrice di punteggio d: ({-})2  R OUTPUT: un allineamento (S’, T’) tra S e T il cui punteggio A sia minimo (o massimo) Un’altra possibile rappresentazione è attraverso l’allineamento Un allin può essere facilmente trasformato in un transcript e viceversa. Tuttavia, pur matematicam equivalenti, hanno significato diverso: Transcript enfasizza un ipotetico proceso evolutivo, e dipende dalle operazioni assunte, allineam confronta i prodotti del processo. NB: Se d(a,b) esprime un costo, A è da minimizzare. Se d(a,b) esprime un beneficio, A è da massimizzare

Allineamento globale con indels Inserimenti e cancellazioni (indels) sono necessari per allineare accuratamente sequenze anche molto simili come le  e  globine L’approccio ingenuo per trovare l’allineamento ottimo di due sequenze con indels consiste nel generare tutti i possibili allineamenti, sommare i punteggi per ogni coppia di simboli corrispondenti in ogni allineamento e scegliere quello di punteggio massimo. Questa idea è praticamente irrealizzabile anche per sequenze corte (anche solo di 100 caratteri).

Algoritmo di Needleman-Wunsch (1970) Si considerino le sequenze S=s1s2…sn e T=t1t2…tm Sia A(i,j) il costo dell’allineamento tra il prefisso s1s2…si e il prefisso t1t2…tj. Si hanno tre possibilità: il carattere si si allinea con il carattere tj e quindi: A(i,j) = costo allineamento tra i prefissi s1s2…si-1 e t1t2…tj-1 + d(si,tj) il carattere si si allinea con uno spazio e quindi: A(i,j) = costo allineamento tra i prefissi s1s2…si-1 e t1t2…tj + d(si,-) il carattere tj si allinea con uno spazio e quindi: A(i,j) = costo allineamento tra i prefissi s1s2…si e t1t2…tj-1 + d(-,tj) Si considerino le sequenze S = s1s2…sn e T = t1t2…tm Sia A(i,j) il costo dell’allineamento tra il prefisso s1s2…si e il prefisso t1t2…tj. Si hanno tre possibilità: il carattere si si allinea con il carattere tj e quindi: A(i,j) = A(i-1,j-1) + d(si,tj) il carattere si si allinea con uno spazio e quindi: A(i,j) = A(i-1,j) + d(si,-) il carattere tj si allinea con uno spazio e quindi: A(i,j) = A(i,j-1) + d(-, tj) d(si,tj)=0 se si uguale a tj, Calcoliamo D(n,m) risolvendo il problema più generale di calcolare D(i,j) per qualunque combinazione di valori di i e j. La progr din ha tre componenti: relaz di ricorrenza, calcolo tabulare, risalita.

Algoritmo di Needleman-Wunsch Se si vuole un valore minimo, si ottiene la ricorrenza A(i,j) = min A(i-1,j-1) + d(si,tj) A(i-1,j) + d(si,-) A(i,j-1) + d(-,tj) Calcoliamo D(n,m) risolvendo il problema più generale di calcolare D(i,j) per qualunque combinazione di valori di i e j. La progr din ha tre componenti: relaz di ricorrenza, calcolo tabulare, risalita. che stabilisce un legame tra il generico sottoproblema A(i,j) e i sottoproblemi A(i-1,j-1), A(i-1,j) e A(i,j-1)

Algoritmo di Needleman-Wunsch I casi base, per i quali il valore di A è immediatamente calcolabile, sono: A(0,0) = 0 A(i,0) = Sik=1d(sk,-) per 0<i<n A(0,j) = Sik=1d(-,tk) per 0<j<m Calcoliamo D(n,m) risolvendo il problema più generale di calcolare D(i,j) per qualunque combinazione di valori di i e j. La progr din ha tre componenti: relaz di ricorrenza, calcolo tabulare, risalita. Il costo dell’allineamento tra S e T è A(n,m)

Le matrici di punteggio Esempi di matrice di punteggio d(x,x) = 1, d(-,x) = d(x,-) = -a, d(x,y) = -u Se a = 0, u =   LCS (Longest Common Subsequence) PAM oppure BLOSUM per le proteine

Le matrici di punteggio Matrice transizione trasversione Matrice identità Matrice BLAST A T C G 1 A T C G 5 -4 A T C G 1 -5 -1

Calcolo della distanza di edit La distanza di edit può essere ricondotta ad un problema di allineamento globale D(i,j) = min D(i-1,j-1) + d(si,tj) D(i-1,j) + d(si,-) D(i,j-1) + d(-,tj) Calcoliamo D(n,m) risolvendo il problema più generale di calcolare D(i,j) per qualunque combinazione di valori di i e j. La progr din ha tre componenti: relaz di ricorrenza, calcolo tabulare, risalita. d(si,tj)=0 per si=tj d(si,tj)=1 per sitj d(si,-)=d(-,tj)=1j

Matrici PAM (Point Accepted Mutations) Sono utilizzate per il confronto di sequenze proteiche Sono derivate dalla frequenza con cui un aminoacido sostituisce un altro in sequenze evolutivamente correlate Le mutazioni accettate non hanno causato l’eliminazione dell’organismo Sono evidenziate allineando proteine omologhe in specie diverse (es. emoglobina alfa in uomo e orango)

Matrici PAM (Point Accepted Mutations) Matrice corrispondente a distanza evolutiva 1 (1% di mutazioni) PAMn: Matrice corrispondente a distanza evolutiva n, PAM1n La matrice di punteggio S è calcolata a partire da una matrice di probabilità di transizione M

Il calcolo di PAM 1 pa, probabilità di occorrenza dell’aminoacido a in un insieme abbastanza ampio di sequenze proteiche fa,b = fb,a numero di mutazioni a  b accettate fa =  fa,b f =  fa (doppio del numero di mutazioni) Ma,b = prob. che a cambi in b (anche per a=b) Ma,a è calcolata partendo dalla mutabilità relativa di a: ma = fa/100fpa Ma,a = 1 - ma Ma,b = fa,b * ma/fa

PAM 240

BLOSUM 50 A R N D C Q E G H I L K M F P S T W Y V

Schemi di peso per i gap Linear score f(g)= -gd con d gap-open penalty e g lunghezza del gap Un peso dei gap dipendente dalla sola lunghezza comporta che due gap isolati diano lo stesso costo di due consecutivi Affine score f(g)= -d –(g-1)e con d gap-open penalty, e gap-extension penalty e g lunghezza del gap Modello di transizione da una sequenza all’altra biologicamente più significativo, dal momento che inserzioni e cancellazioni di più di un residuo non sono eventi poco comuni tra sequenze proteiche omologhe

Allineamento globale vs locale L’allineamento di due o più sequenze può essere globale o locale Globale: l’intera sequenza viene allineata Locale: solo frammenti della sequenza vengono allineati

Allineamento locale: esempio LTGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKA

Allineamento locale E’ meglio avere molte coincidenze sparse o averne meno, ma concentrate? Allineamento locale Date S e T trovare due sottostringhe v e w di S e T rispettivamente la cui similarità (allineamento ottimo) sia massima su tutte le coppie di sottostringhe di S e T.

Allineamento locale: esempio S = pqraxabcstvq T = xyaxbacsll axab-cs ax-bacs Con il seguente punteggio: - d(x,x) = 2 - d(x,y) = -2 - d(x,-) = -1 si ottiene uno score pari a 8

Quando e perché l’allineamento locale? Confronto sequenze DNA “anonimo”, per individuare sottostringhe collegate Individuazione subunità strutturali comuni a proteine diverse …

Considerazioni di complessità Ci sono (n2 m2) coppie di sottostringhe L’allineamento locale può tuttavia essere calcolato in tempo O(nm) come quello globale

Algoritmo di Smith-Waterman Date due sequenze S e T (di lunghezza m e n): Si costruisce una matrice A di dimensione (m+1)x(n+1) in cui A(i,j) è il costo di un allineamento tra il suffisso (eventualmente vuoto) S[1,i] e il suffisso T[1,j] Si inizializza la prima riga e la prima colonna di A a zero La ricorrenza è derivata da quella dell’allineamento globale, con l’aggiunta di 0 come valore minimo: A(i,j) = max{0, A(i-1,j) + d(si,-); A(i,j-1)+d(-,tj); A(i-1,j-1)+d(si,tj)} Allineamento approssimato di sequenze L'allineamento esatto di sequenze non necessariamente produce il risultato cercato. Talvolta allineamenti non ottimali portano a risultati più significativi dal punto di vista biologico. Visto che la funzione obiettivo è stata costuita per rappresentare il comportamento biologico, l'idea è che siano da ricercare allineamenti vicini all'ottimo. L'idea è costruire la matrice dell'allineamento delle due strignhe. In particolare è possibile costruire un grafo avente come vertici i nodi dei possbili allineamenti di un carattere con un altro. In particolare dato un nodo (i, j) esistonno tre archi che esconoda esso e che lo congiungono con i nodi (i,j+1), (i+1,j+1), (i+1,j). Il pesi sull'arco che congiunge due posizioni rappresentano il costo per allineare due caratteri tra loro. L'aalineamento ottimale sar\`a dato dal massimo percorso che inzia nel vertice (0,0) e termina nel vertice (m,n). In particolare un allineamento R^* è detto d sub-ottimale se il valore di tale allineamento ha distanza d dall'allineamento ottimale R, cioé se R-R*= d. Un metodo per costruire allineamenti sub-ottimali consiste nel considerare tutti i possibili allineamenti passanti per un certo arco e=(u,v), cioé un allineamento che deve necessariamente allineare gli elementi come rappresentato dagli archi u e v.

-41

One example of local dynamic programming using a linear score for gaps and Blosum50

Strategie euristiche per l’allineamento di sequenze in ricerche in database: tempi a confronto

Similarità di sequenze con FASTA

FASTA

BLAST (Basic Local Alignment Search Tool)

BLOSUM 62

Ricerca con Mega BLAST Mega BLAST uses the greedy algorithm for nucleotide sequence alignment search. This program is optimized for aligning sequences that differ slightly as a result of sequencing or other similar "errors". When larger word size is used (see explanation below), it is up to 10 times faster than more common sequence similarity programs. Mega BLAST is also able to efficiently handle much longer DNA sequences than the blastn program of traditional BLAST algorithm.

Costruzione del profilo di una sequenza Allineamento Multiplo

La struttura di PSI-BLAST PSI-BLAST takes as input a protein sequence and compares it to a protein database, using the gapped BLAST program The program constructs a multiple alignment, and then a profile, from any significant local alignment found. The original query sequence serves as a template for the multiple alignment and profile, whose lengths are identical to that of the query. Different numbers of sequences can be aligned in different template positions The profile is compared to the protein database, again seeking local alignments. After a few minor modifications, the BLAST algorithm can be used for this directly. PSI-BLAST estimates the statistical significance of the local alignments found. Because profile substitution scores are constructed to a fixed scale, and gap scores remain independent of position, the statistical theory and parameters for gapped BLAST alignments remain applicable to profile alignments. Finally, PSI-BLAST iterates, by returning to step (2), an arbitrary number of times or until convergence.