Informatica e biotecnologie - Dipartimento di Informatica

Informatica e biotecnologie
II parte
Analisi di sequenze: allineamenti
CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC
|||||||||||||||||||||||||||||
CGAAATCGCATCAGCATACGATCGCATGC
Viviana Patti
Informatica di base - 6 dicembre
Bioinformatica
La Bioinformatica è una disciplina che affronta con
metodiche proprie delle Scienze dell'Informazione
problemi propri della Biologia.
Settore in rapida espansione: c'è un enorme mole di
dati che la moderna ricerca biologica produce grazie al
progresso tecnologico recente; questo impone di
affrontare problemi come:
archiviazione di enormi moli di dati dati: occorre
creare, gestire e mantenere banche dati specializzate
-> banche dati biologiche (databases/reti...)
recupero di informazione in modo automatico dalle
banche dati -> banche dati biologiche
(databases/reti...)
analisi automatica dei dati per riuscire a inferire
nuove informazioni a partire dai dati che abbiamo
Viviana Patti
Informatica di base - 6 dicembre
1
Tipi di analisi sulle sequenze
1. Allineamento di sequenze: date due o più sequenze, le
confronto per misurarne il grado di similarità
A coppie: confronto due sequenze
Osservazione: l’allineamento di sequenze a
coppie è una delle tecniche di analisi più usate
per ricerche in DB a sequenze
per l’associazione di funzioni biologiche al
genoma
Multiplo: confronto N sequenze
usato ad es. per inferenze filogenetiche
2. Analisi/caratterizzazione di singole sequenze
3. Traduzione “DNA -> proteina”
Viviana Patti
Informatica di base - 6 dicembre
Allineamento di sequenze: perché
Uno dei problemi di base nell’analisi di sequenze
(nucleotidiche o amminoacidiche) consiste nel chiedersi
se è plausibile che derivino da un comune antenato
attraverso un processo di mutazione e selezione.
I processi di mutazione considerati comprendono
sostituzioni,
inserzioni e
cancellazioni (delezioni)
di elementi nella sequenza. Il tipo di mutazione è
influenzato dal meccanismo di selezione naturale,
cosicché alcuni cambiamenti possono essere più
frequenti di altri.
Viviana Patti
Informatica di base - 6 dicembre
2
Allineamento di sequenze: perché
Esempio: DNA
Per quanto riguarda l'analisi del DNA uno degli scopi
primari è la comprensione del meccanismo delle
mutazioni
Mutazioni puntuali: sostituzioni di singoli nucleotidi
(significative se all’interno di zone particolari, es.
zone di codifica)
Mutazioni segmentali (più significative): sostituzioni
di più nucleotidi adiacenti in punti arbitrari,
inserimento o eliminazione di nuovi nucleotidi, etc.
Il problema viene affrontato, tipicamente proprio
attraverso lo studio comparativo di sequenze
cercando di individuare “similarità”
uso di tecniche di allineamento di sequenze:
locale o globale, a seconda che si sia interessati
a verificare la similarità di due sequenze secondo
la loro intera lunghezza o in certe zone particolari
Viviana Patti
Informatica di base - 6 dicembre
Allineamento di sequenze
Il problema viene affrontato cercando di individuare
“similarità” fra sequenze:
L'allineamento di sequenze è una tecnica di analisi che
mi consente di definire una misura quantitativa del
grado di similarità fra sequenze
In generale allineare 2 sequenze significa stabilire
corrispondenze fra due sequenze residuo per residuo,
conservando l'ordine dei residui all'interno delle
sequenze
Viviana Patti
Informatica di base - 6 dicembre
3
Allineamento ottimale
Concetto base: trovare l’allineamento ottimale (globale
o locale) di due sequenze, ossia l'allineamento migliore
fra tutti i possibili allineamenti
Viviana Patti
Informatica di base - 6 dicembre
Allineamento ottimale
Vogliamo definire una misura quantitativa del grado di
similarita'.
Algoritmi in cui il criterio di ottimalità si basa
sull’attribuzione di un punteggio (score) a ogni possibili
allineamento
il punteggio riflette la qualità dell'allineamento
il punteggio sarà tanto più elevato quanto maggiore è la
similarità delle due sequenze -> è possibile identificare
l'allinemento (o gli allineamenti) migliore
Viviana Patti
Informatica di base - 6 dicembre
4
Allineamento di sequenze
Approccio:
Passo1: confrontare le sequenze
(inizialmente in modo arbitrario)
Passo2: assegnare un punteggio
all'allineamento sulla base di criteri fissati
per la similarità
Passo3: ripetere l’operazione, muovendo in
tutti i modi possibili una sequenza rispetto
all’altra
il punteggio massimo corrisponde
all’allineamento ottimale
Approccio facilmente automatizzabile
Viviana Patti
Informatica di base - 6 dicembre
Allineamento di sequenze
Un algoritmo semplice potrebbe essere quello
di ciclicamente
Fare scorrere una sequenza sull'altra,
spostando ad ogni ciclo di una posizione e
verificando quante posizioni hanno un'identità.
Per ogni ciclo dovremo riverificare tutte le
posizioni, quindi alla fine dovremo fare un
numero di verifiche pari al numero di cicli per
numero di posizioni: più o meno dell'ordine del
prodotto delle lunghezze delle due sequenze.
Viviana Patti
Informatica di base - 6 dicembre
5
Software di supporto all'analisi
Esistono diversi “tool” specializzati che automatizzano
l’allineamento di sequenze, alcuni dei quali disponibili in
rete:
BLAST (integrato in GenBank), FASTA :
ricerca di zone di omologia locali (legami di tipo
evolutivo) in coppie di sequenze;
individuazione di pattern corrispondenti per ricerche
in DB
ALIGN: ricerca del miglior allineamento globale (intera
lunghezza) fra due sequenze
...
Viviana Patti
Informatica di base - 6 dicembre
Software di supporto all'analisi
Molti di questi programmi
sono integrati in web-server;
alcuni possono anche essere
installati ed eseguiti
localmente (spesso in
ambiente Linux e con
interazione a linea di
comando)
Viviana Patti
Informatica di base - 6 dicembre
6
Software di supporto all'analisi
In genere le stesse tecniche di
allineamento possono essere
applicate a sequenze di
nucleotidi (DNA, RNA) e di
amminoacidi (proteine).
Esistono cmq alcune differenze
fra allineamenti di sequenze
DNA e allineamenti di
sequenze proteiche e gli scopi
possono essere diversi
Viviana Patti
Informatica di base - 6 dicembre
Allineamento di sequenze
Perché sia biologicamente attendibile bisogna
risolvere alcune questioni:
1. Criteri di similarità
2. Possono essere inseriti dei buchi (gap) nelle
sequenze per trovare corrispondenze altrove?
3. Come stabilire il punteggio per l’allineamento? ->
deve dare una misura della significatività dei singoli
allineamenti?
es. +1 per posizioni uguali, -1 per discrepanze
4. Come valutare i gap? -> "sforacchiando troppo"
magari influenzerei eccessivamente l'esito del
confronto -> punteggio
5. Quale algoritmo usare per la scelta dell’allineamento
ottimale/più significativo?
Viviana Patti
Informatica di base - 6 dicembre
7
1. Criteri di similarità
Un allineamento semplice si ottiene facendo
scorrere una sequenza sull’altra un
nucleotide/amminoacido alla volta
CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC
|||||||||||||||||||||||||||||
CGAAATCGCATCAGCATACGATCGCATGC
l'idea più semplice: considerare ottimo
l'allineamento in cui è massimizzato il numero
di identità
Viviana Patti
Informatica di base - 6 dicembre
1. Criteri di similarità
Ma a volte è più opportuno considerare dei
valori di similarità (specialmente nel caso
degli amminoacidi), piuttosto che la semplice
presenza o assenza di identità.
solo identità
identità e
sostituzioni
conservative
Viviana Patti
Informatica di base - 6 dicembre
8
1. Criteri di similarità
Dato un singolo allineamento
Identità: occorrenza dello stesso elemento
(base o amminoacido) nella stessa posizione
delle 2 sequenze allineate
Similarità (proteine): occorrenza di
amminoacidi chimicamente simili (probabile
sostituzione) nella stessa posizione
identità e
sostituzioni
conservative
Viviana Patti
Informatica di base - 6 dicembre
1. Criteri di similarità: terminologia
Dato un singolo allineamento
Identità: occorrenza dello stesso elemento (base o
amminoacido) nella stessa posizione delle 2 sequenze
allineate
Similarità (proteine): occorrenza di amminoacidi
chimicamente simili (probabile sostituzione) nella stessa
posizione
Esempio: acido glutammico e acido aspartico sono
simili
Discrepanza: occorrenza di due basi o amminoacidi
diversi e non valutati simili nella stessa posizione
Omologia vs similarità: concetto più astratto, che indica
un legame di tipo evolutivo fra 2 sequenze
Viviana Patti
Informatica di base - 6 dicembre
9
2. Allineamento di sequenze con gap
A meno che le sequenze non coincidano perfettamente
è molto spesso necessario introdurre “gap” per trovare
un più alto numero di corrispondenze
Due possibili allineamenti di due catene
polipeptidiche (su: senza gap; giù: con gap).
Un
segno denota i
gap
Da un punto di vista biologico questo corrisponde alla
possibilità di avere inserzioni o cancellazioni -> in
genere vogliamo che un programma di allineamento
abbia la possibilità di inserire gap nelle sequenze
Viviana Patti
Informatica di base - 6 dicembre
Esempio: allineamento di sequenze di proteine e
DNA
proteine
DNA
Viviana Patti
Informatica di base - 6 dicembre
10
3. Assegnazione del punteggio
Abbiamo detto che occorre assegnare un punteggio
all'allineamento sulla base di criteri fissati
Strumento per valutare con un punteggio un
allineamento (è significativo? Se sì, quanto?): matrici di
valutazione o di punteggio (scoring matrix)
Cosa sono? Sono matrici di valori che danno un
punteggio alla corrispondenza di due basi o due
amminoacidi in un allineamento. Sulla base di queste
matrici viene calcolato un punteggio per l'allineamento.
Abbiamo criteri (e quindi matrici) diverse per
l'assegnamento di punteggio a sequenze di acidi nucleici
e sequenze di amminoacidi
Viviana Patti
Informatica di base - 6 dicembre
3. Matrici di punteggio (acidi nucleici)
Sono molto più semplici di quelle usate per le proteine
non occorre della natura chimica (similarità)
non si tiene conto della frequenza delle basi
Esempio BLAST: punteggio (standard) positivo per
le identità, -1 per le discrepanze
a
c
g
t
a
+1
-1
-1
-1
c
-1
+1
-1
-1
g
-1
-1
+1
-1
t
-1
-1
-1
+1
Viviana Patti
Informatica di base - 6 dicembre
11
3. Matrici di punteggio (proteine)
Anche per le proteine potremmo applicare lo stesso
schema ma le cose sono più complicate perché occorre
tener conto della similarità
L'alternativa a questo schema semplice è imparare da
dalle proteine stesse uno schema di punteggio
approccio statistico (Dayhoff): raccolgo statistiche sulle
frequenze di sostituzione in sequenze di proteine
conosciute come correlate (omologhe)
A un cambiamento frequente assegno un punteggio
maggiore che a uno raro
Da queste analisi statistiche "derivo" la mia matrice di
punteggio
Famiglie di matrici costruite con questa filosofia
PAM; BLOSUM (derivate a partire da una quantità
molto maggiore di dati)
Viviana Patti
Informatica di base - 6 dicembre
3. Matrici di punteggio (proteine)
Un po' più tecnicamente...
Sono matrici di valori che indicano la probabilità che una
coppia di amminoacidi sia “allineata”
Valori: parti intere di log( P{a,b}/ P{a_r}), dove
P{a,b} : probabilità di allineamento (non casuale)
della coppia di amminoacidi a e b, determinata in
base a statistiche tratte da allineamenti noti come
validi
P{a_r} : probabilità di occorrenza “random”
(casuale) dell'aminoacido a in una sequenza
Viviana Patti
Informatica di base - 6 dicembre
12
Esempio: matrice di valutazione BLOSUM45
proteine
Viviana Patti
Informatica di base - 6 dicembre
3. Matrici di valutazione (proteine)
Un valore in matrice è positivo se P{a,b} è
maggiore di P{a_r}: è più probabile che
l’allineamento dei due amminoacidi
corrispondenti sia il risultato di un evento
evolutivo piuttosto che sia casuale
Se il valore è < = a zero: è più probabile che
l’allineamento dei due amminoacidi
corrispondenti sia casuale
Idea per assegnare un punteggio
all'allineamento: i singoli valori della matrice
di valutazioni possono essere sommati, per
assegnare un punteggio all’intero allineamento
Viviana Patti
Informatica di base - 6 dicembre
13
3. Matrici di valutazione (proteine)
Valori sulla diagonale:
indicano l’ordine di casualità
nell’allineamento di due amminoacidi
identici nelle 2 sequenze
dipendono dalla frequenza di occorrenza
dell’amminoacido (più raro è l’amminoacido,
più grande la probabilità che l’allineamento
dello stesso amminoacido nelle 2 sequenze
non sia casuale)
Nota: le matrici di valutazione sono matrici
triangolari
Viviana Patti
Informatica di base - 6 dicembre
Esempio: BLOSUM62
Viviana Patti
Informatica di base - 6 dicembre
14
Struttura diagonale di BLOSUM45
Viviana Patti
Informatica di base - 6 dicembre
4. Assegnazione di un punteggio ai gap
E’ spesso necessario inserire dei buchi (gap)
nelle sequenze da allineare per avere
allineamenti significativi
Per allestire uno schema di punteggio
completo abbiamo bisogno, in aggiunta alla
matrice di punteggio di un sistema per
attribuire punteggio ai gap (che rappresentano
la possibilità che siano avvenute inserzioni o
delezioni)
Si assegnano penalità (punteggi negativi) per
l'inserimento di gap
Viviana Patti
Informatica di base - 6 dicembre
15
4. Assegnazione di un punteggio ai gap
La penalità assegnata a gap singoli è molto più
grande di quella assegnata a blocchi di gap
consecutivi: Perchè?
Le sequenze di DNA possono mutare sia per
sostituzioni puntuali che per inserimento o
eliminazione di intere sottosequenze di
nucleotidi
E' più probabile che si verifichi una sola
mutazione che coinvolge più nucleotidi
adiacenti, piuttosto che si verifichino
numerose mutazioni isolate che coinvolgono
un unico nucleotide
Esempio: -11 per gap singoli, -1 per gap
consecutivi
Viviana Patti
Informatica di base - 6 dicembre
5: Algoritmi di allineamento (cenni)
Supponiamo di volere allineare due sequenze stabilendo
il punteggio di un "match" e la penalità dovuta
all'inserimento di un gap.
Supponiamo di volere trovare in termini assoluti
l'allineamento migliore tra le due sequenze, allora
dovremo usare dei criteri esatti che trovino tra tutti gli
allineamenti possibili, con e senza gap, quello con il
punteggio più alto.
Viviana Patti
Informatica di base - 6 dicembre
16
5: Algoritmi di allineamento (cenni)
Sono delle specializzazioni per il problema
dell'allineamento in bioinformatica di algoritmi generici
per la risoluzione di problemi di ottimizzazione:
vi è un numero elevato di soluzioni possibili, ma solo
un sottoinsieme ristretto è ottimale
il problema originale è decomposto in sottoproblemi
più semplici (di dimensioni più piccole)
esiste una “sequenzialità” nella risoluzione dei
sottoproblemi (si risolvono prima i sottoproblemi di
dimensioni minori, poi quelli di dimensioni maggiori)
Viviana Patti
Informatica di base - 6 dicembre
5: Algoritmi di allineamento (cenni)
Nel caso di allineamento di due sequenze di
dati biologici l'obiettivo è:
Massimizzare il numero di coppie di
elementi allineati con un punteggio positivo
Minimizzare il numero di gap e allineamenti
con punteggio negativo
Il problema è decomposto nell’allineare in
modo ottimale prima coppie di singoli elementi
(sottoproblema di dimensione minore) e poi
“sottosequenze” via via più grandi
(sottoproblemi di dimensioni maggiori)
Viviana Patti
Informatica di base - 6 dicembre
17
5: Algoritmi di allineamento (cenni)
Allineamento di coppie di elementi di due
sequenze: 3 decisioni possibili
1. Tenere allineati i due elementi
2. Inserire un gap nella sequenza I
3. Inserire un gap nella sequenza II
La decisione 1 ha un punteggio che (sulla base
della “scoring matrix” usata) può essere
negativo o positivo; 2 e 3 hanno un punteggio
negativo
Si sceglie la decisione col punteggio più alto
...and so on -> non ci addentriamo nei dettagli
di come funziona l'algoritmo
Viviana Patti
Informatica di base - 6 dicembre
5. Algoritmi di allineamento
Esistono diversi tipi di allineamento globale o locale
Allineamento globale: corrisponde all'allineamento con il
massimo numero di elementi (aminoaciidi o nucleotidi)
allineati tra le due sequenze, favorendo così gli
allineamenti estesi a tutta la sequenza (cioè similarità
globali) . Le sequenze sono allineate secondo la loro
intera lunghezza (inserimento di gap se hanno
lunghezze diverse)
(algoritmo di) Needelman & Wunsch (1970). A general
method applicable to the search for similarity in the amino
acid sequences of two proteins. J. Mol. Biol. 48: 444-453.
Viviana Patti
Informatica di base - 6 dicembre
18
5. Algoritmi di allineamento
Allineamento locale: Considera anche l'estensione della
regione simile. In questo caso, se abbiamo un dato
numero di aminoacidi uguali, daremo un punteggio
tanto maggiore quanto più concentrata sarà la regione
in cui si estende la similarità. Così, molto spesso, si
favoriscono similarità non estese a tutta la sequenza,
ma localizzate in regioni circoscritte (similarità locali).
(algoritmo di) Smith & Waterman (1981). Identification
of common molecular subsequences. J. Mol. Biol. 147: 195197. (variante dell’algoritmo per l’allineamento globale)
Viviana Patti
Informatica di base - 6 dicembre
Esempio di allineamento locale
L’allineamento locale (fra spezzoni di sequenze)
ottimale si ottiene partendo dalla 5a posizione di Seq I,
ed inserendo un gap sempre in Seq I
score
Osserva: penalità per il gap = -7;
gli altri punteggi sono assegnati in base a una
certa scoring matrix
Viviana Patti
Informatica di base - 6 dicembre
19
Matrice di allineamento
Il modo in cui viene costruito l'allineamento ottimale da
un generico algoritmo di allineamento può essere letto
come il problema di costruire una matrice di
allineamento
In base alla scoring matrix e alla penalità da assegnare
ai gap, viene costruita una matrice di allineamento
Ciascun elemento di questa matrice rappresenta il
valore massimo di punteggio che possiamo ottenere per
l'allineamento delle sequenze dall'inizio fino a quel
punto
Nella costruzione della matrice si cerca il percorso che
massimizza il punteggio finale
Viviana Patti
Informatica di base - 6 dicembre
Matrice di allineamento di seq.I e II
Si riempie la matrice M di allineamento partendo
dall’angolo superiore sinistro fino a quello inferiore destro ->
Viene tracciato solo il cammino che corrisponde all’allineamento
ottimale
Viviana Patti
Informatica di base - 6 dicembre
20
Tools: Allineamento globale - EMBOSS- Needle
http://www.ebi.ac.uk/emboss/align/: NeedlemanWunsch global alignment from EBI - European Bioinf.
Inst. -> accetta sequenze memorizzate in formato
FASTA
Viviana Patti
Informatica di base - 6 dicembre
specifica dei
parametri:
- allineamento
globale/locale
- scoring matrix
- proteine/DNA
- gap penalties...
ALIGN
“Utility” del pacchetto software FASTA per l’allineamento
globale di coppie di sequenze
E' integrato in applicazioni WEB, es. SDSC Biology
Workbench
http://workbench.sdsc.edu/index.html
http://fasta.bioch.virginia.edu/fasta/align.htm
Se scaricate il programma è eseguibile ambiente Linux
(va compilato); interfaccia a linea di comando
Accetta sequenze memorizzate in formato FASTA (lo
standard più semplice)
Viviana Patti
Informatica di base - 6 dicembre
21
ALIGN: esempio di allineamento di 2 sequenze
proteiche
Viviana Patti
Informatica di base - 6 dicembre
Tools: Allineamento locale - EMBOSS - water
http://www.ebi.ac.uk/emboss/align/: SmithWaterman local alignment from EBI - European Bioinf.
Inst. -> accetta sequenze memorizzate in formato
FASTA
specifica dei
parametri:
- allineamento
globale/locale
- scoring matrix
- proteine/DNA
- gap penalties...
Altri Tools:
•SSEARCH,
LALIGN
(utilities
FASTA);
•BLAST
Viviana Patti
Informatica di base - 6 dicembre
22
Metodi euristici
Allineamento Locale
E’ di gran lunga il più usato
Spesso si cercano similarità fra spezzoni di sequenze
Non sempre le 2 sequenze da allineare sono note: ad
esempio quando si usano query a sequenze per ricerche
in basi di dati
metodi esatti versus metodi euristici
metodi euristici: portano a risultati approssimati, ma
sono molto veloci e per questo molto usati.
Esempi di programmi che usano criteri euristici sono
FASTA e BLAST
i più comuni programma esatto sono quelli che
implementano l'algoritmo di Smith e Waterman...
Viviana Patti
Informatica di base - 6 dicembre
Query basate su sequenze
L’allineamento viene usato per cercare sequenze
“similari” in DB biologici
Input: 1 sequenza s = sequenza di query
Il sistema ricerca in un grosso DB le sequenze simili a s
e le restituisce in output
Problema di efficienza
sequenza di query = stringa lunga fino a qualche
migliaio di caratteri
nel DB migliaia di sequenze di dimensioni analoghe
Cercare allineamenti ottimali è in genere impraticabile
Soluzione: Si usano tecniche euristiche per velocizzare
le ricerche, senza garantire allineamenti ottimali -> si
guadagna in efficienza ma si può sbagliare
Viviana Patti
Informatica di base - 6 dicembre
23
BLAST
Basic Local Alignment Search Tool: è il
programma ad oggi più diffuso per ricerche su
DB basate su sequenze
Usato da molti server di ricerca
Integrato in GenBank (NCBI)
Molto veloce (migliaia di confronti/min):
versione efficiente dell’algoritmo di
allineamento locale
Cerca zone di similarità locali
http://www.ncbi.nlm.nih.gov/BLAST/
Viviana Patti
Informatica di base - 6 dicembre
BLAST
Viviana Patti
Informatica di base - 6 dicembre
24
BLAST
Implementazioni:
NCBI BLAST, WU-BLAST (funzionalità
aggiuntive per ricerche nelle sequenze
Genoma)
Integrati entrambi in applicazioni WEB
Disponibili anche come pacchetti software
free (scaricabili anche solo gli eseguibili)
Ambiente Linux
Informazioni: sito del NCBI oppure
http://blast.wustl.edu
Viviana Patti
Informatica di base - 6 dicembre
BLAST
Programmi disponibili
blastall (ricerche di tipo generali; modalità:
blastp, blastn, blastx, tblastn)
blastpgp (allineamenti multipli)
bl2seq (allineamenti locali di due
sequenze)
...
Viviana Patti
Informatica di base - 6 dicembre
25
BLAST: modi di funzionamento
Diverse modalità di funzionamento (espresse
come opzioni di blastall)
blastp: query di sequenze proteine (PS) a
base dati PS
blastn: query di sequenze acido nucleiche
(NS) a base dati NS
blastx: query NS tradotta nei 6 possibili
frame PS a base dati PS
tblastn: query PS a base dati NS tradotta
nei 6 possibili frame
Viviana Patti
Informatica di base - 6 dicembre
Applicazioni biotecnologiche - Proteine
Non sono sicuro che la proteina che ho
scoperto sia proprio una nuova proteina.
Esiste già?
La proteina che ho scoperto è proprio una
nuova proteina. Ma assomiglia a qualche
proteina nota?
Nella proteina che sto studiando (che non è
simile a nessun'altra proteina) esistono
porzioni simili a proteine note, o domini
funzionali noti?
Viviana Patti
Informatica di base - 6 dicembre
26
Applicazioni biotecnologiche - Acidi nucleici
Ho scoperto un nuovo gene e voglio vedere se
Il gene è già presente nelle banche dati di
acidi nucleici (EMBL/Genebank), anche
parzialmente.
Il gene è simile ad altri geni presenti nelle
banche dati
Il gene è simile ad una sequenza particolare
Viviana Patti
Informatica di base - 6 dicembre
27