Informatica e biotecnologie Sequenze

Informatica e biotecnologie
II parte
Banche dati biologiche
e analisi di sequenze
CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC
|||||||||||||||||||||||||||||
CGAAATCGCATCAGCATACGATCGCATGC
Viviana Patti
Informatica di base - 24/26 novembre
Sequenze: stringhe di caratteri
Hanno un formato puramente testuale: sono stringhe di
lettere di un certo alfabeto
Esempi di sequenze biologiche:
Sequenze DNA -> formate da 4 tipi di lettere:
A (adenina), C (citosina), G (guanina), T (timina)
esempio: ATGCCGTAA, TAG, TTT, …
Sequenze RNA -> formate da 4 tipi di lettere:
A (adenina), C (citosina), G (guanina),U (uracile)
esempio: AUCGCUAA, AUUCG, …
Sequenze proteiche: formate da 20 lettere
corrispondenti agli amminoacidi: A, C, D, E, F, G, H,
I, K, L, M, N, P, Q, R, S, T, V, W, Y
esempio: MPIVDTGSVAPLSAAEK…
Viviana Patti
Informatica di base - 24/26 novembre
Sequenze DNA
La rappresentazione di una molecola di DNA
come sequenza di simboli {A,T,C,G} è
ovviamente un'astrazione di una struttura
chimica 3D
Tuttavia se lo scopo è quello di usare le
tecniche per l’analisi di sequenze, possiamo
temporaneamente ignorare tale struttura
Analogo vale per molecole di RNA
Viviana Patti
Informatica di base - 24/26 novembre
1
Sequenze di proteine
La rappresentazione di proteine come
sequenze di simboli {A, C, D, E, F, G, H, I, K,
L, M, N, P, Q, R, S, T, V, W, Y} è anche detta
struttura primaria
A causa della maggiore complessità chimica
degli amminoacidi rispetto agli acidi nucleici è
più difficile tenere separato il contenuto
informativo delle sequenze dalle proprietà
degli amminoacidi componenti
Viviana Patti
Informatica di base - 24/26 novembre
Rappresentazione dei dati biologici come sequenze
Vantaggi
possibilità di analisi mediante tecniche
consolidate: pattern matching, pattern
recognition
portabilità tra vari sistemi operativi
compatibilità tra diverse applicazioni
trasferibilità tra computer remoti
Svantaggi
soprattutto per le proteine, il tipo di
informazione “sequenziale” ha un contenuto
informativo parziale
Viviana Patti
Informatica di base - 24/26 novembre
Confronti fra sequenze
I confronti fra sequenze costituiscono la
tecnica di analisi fondamentale per
applicazioni biotecnologiche:
individuazione delle proprietà
caratterizzanti famiglie di proteine, e delle
funzionalità dei geni
definizione di alberi evolutivi
definizione di modelli di omologia
strumento base per ricerche in DB
attraverso “query” basate su sequenze ->
Lab
Viviana Patti
Informatica di base - 24/26 novembre
2
Tipi di analisi sulle sequenze
1. Allineamento di sequenze
A coppie: confronto due sequenze (usato ad es. per
ricerche in DB a sequenze)
Multiplo: confronto N sequenze (usato ad es. per
inferenze filogenetiche)
2. Analisi/caratterizzazione di singole sequenze
3. Traduzione “DNA -> proteina”
Osservazione: l’allineamento di sequenze a coppie è la
tecnica di analisi più usata
Principale metodo per l’associazione di funzioni
biologiche al genoma e per il trasferimento di tali
informazioni fra genomi di organismi diversi
Viviana Patti
Informatica di base - 24/26 novembre
Software di supporto all'analisi
Esistono diversi “tool” specializzati che automatizzano
l’analisi di sequenze, alcuni dei quali disponibili in rete:
GENSCAN: individuazione di “zone di codifica” in
sequenze genomiche
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
Protein Machine Server (presso European Institute for
Biotechnology): conversione “DNA -> Proteine” e
viceversa
...
Viviana Patti
Informatica di base - 24/26 novembre
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 - 24/26 novembre
3
Tecniche di analisi di sequenze
Le stesse tecniche di analisi possono essere
applicate a sequenze di nucleotidi (DNA, RNA)
e di amminoacidi (proteine), anche se con
scopi diversi
Viviana Patti
Informatica di base - 24/26 novembre
Allineamento di sequenze
Uno dei problemi di base nell’analisi di sequenze (di
nucleotidi o di amminoacidi) consiste nel determinare se
due sequenze sono correlate, ossia se è plausibile che
derivino da un comune antenato attraverso un processo
di mutazione e selezione.
I processi di mutazione considerati comprendono
sostituzioni,
aggiunte 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 - 24/26 novembre
Allineamento di sequenze
Es: DNA: Per quanto riguarda il DNA uno degli scopi primari è
la comprensione del meccanismo delle mutazioni, attraverso
lo studio comparativo di sequenze
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 cercando di individuare
“similarità” fra sequenze: una delle tecniche fondamentali
in Bioinformatica
-> 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 - 24/26 novembre
4
Allineamento di sequenze
Il problema viene affrontato cercando di
individuare “similarità” fra sequenze: una
delle tecniche fondamentali in Bioinformatica
Concetto base: trovare l’allineamento ottimale
(globale o locale) di due sequenze
Viviana Patti
Informatica di base - 24/26 novembre
Allineamento ottimale
Il criterio di ottimalità si basa sull’attribuzione
di un punteggio (score) tanto più elevato
quanto maggiore è la similarità delle due
sequenze -> modello probabilistico per
valutare tali punteggi (scoring model ).
Viviana Patti
Informatica di base - 24/26 novembre
Allineamento semplice
L’allineamento semplice si ottiene facendo
scorrere una sequenza sull’altra un
nucleotide/amminoacido alla volta
CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC
|||||||||||||||||||||||||||||
CGAAATCGCATCAGCATACGATCGCATGC
cerco il massimo numero di corrispondenze
Viviana Patti
Informatica di base - 24/26 novembre
5
Allineamento di sequenze con gap
La possibilità di avere aggiunte e cancellazioni fa sì che
nell’allineamento vi possano essere dei vuoti (gap).
A meno che le sequenze non coincidano perfettamente è
molto spesso necessario introdurre “gap” per trovare un
più alto numero di corrispondenze
La figura mostra un possibile allineamento di due catene
polipeptidiche. Legenda: la linea centrale indica con
lettere i residui identici e
con un segno + i residui simili (rispetto alle
proprietà chimico-fisiche)
Un segno - denota i gap
Viviana Patti
Informatica di base - 24/26 novembre
Allineamento di sequenze
Approccio:
Passo1: confrontare le sequenze
(inizialmente in modo arbitrario)
Passo2: assegnare un punteggio sulla base
di criteri fissati all'allineamento
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 - 24/26 novembre
Allineamento di sequenze
Perché sia biologicamente attendibile bisogna
risolvere alcune questioni:
Come stabilire il punteggio per l’allineamento? ->
deve dare una misura della significatività dei singoli
allineamenti?
es. +1 per posizioni uguali, -1 per discrepanze
Possono essere inseriti dei buchi (gap) nelle
sequenze per trovare corrispondenze altrove?
Come valutare i gap? -> "sforacchiando troppo
magari influenzerei eccessivamente l'esito del
confronto
Quale algoritmo usare per la scelta dell’allineamento
ottimale/più significativo?
Esistono alcune differenze fra allineamenti di sequenze
DNA e allineamenti di sequenze proteiche
Viviana Patti
Informatica di base - 24/26 novembre
6
Allineamento: terminologia
Dato un singolo allineamento
Identità: occorrenza dello stesso elemento (base o
aminoacido) nella stessa posizione delle 2 sequenze
allineate
Similarità (proteine): occorrenza di amminoacidi
chimicamente simili (reciprocamente sostituibili) 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 - 24/26 novembre
Esempio: allineamento di sequenze
di proteine e DNA
proteine
DNA
Viviana Patti
Informatica di base - 24/26 novembre
Matrici di valutazione: proteine
Matrici di valutazione: scoring matrix
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
Cosa sono? Sono tabelle 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”
dell'aminoacido a in una sequenza
Viviana Patti
Informatica di base - 24/26 novembre
7
Esempio: matrice di valutazione
BLOSUM45 (proteine)
Viviana Patti
Informatica di base - 24/26 novembre
Matrici di valutazione (proteine)
Un valore in tabella è 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 - 24/26 novembre
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’aminoacido (più raro è l’aminoacido, più
grande la probabilità che l’allineamento
dello stesso aminoacido nelle 2 sequenze
non sia casuale)
Nota: le matrici di valutazione sono matrici
triangolari
Viviana Patti
Informatica di base - 24/26 novembre
8
Struttura diagonale
Viviana Patti
Informatica di base - 24/26 novembre
Matrici di valutazione (acidi nucleici)
Sono molto più semplici di quelle usate per le proteine
non si tiene conto della natura chimica (similarità)
non si tiene conto della frequenza delle basi
esempio BLAST: punteggio (standard) positivo per
le identità, negativo per le discrepanze
Viviana Patti
Informatica di base - 24/26 novembre
Gap
Le sequenze di DNA possono mutare sia per
sostituzioni puntuali che per inserimento o
eliminazione di intere sottosequenze di
nucleotidi
E’ spesso necessario inserire dei buchi (gap)
nelle sequenze da allineare per avere
allineamenti significativi
Tale operazione va fatta con discrezione: si
assegnano penalità (punteggi negativi) per
l'inserimento di gap
Viviana Patti
Informatica di base - 24/26 novembre
9
Valutazione dei gap
La penalità assegnata a gap singoli è molto più
grande di quella assegnata a blocchi di gap
consecutivi:
Perchè? 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 - 24/26 novembre
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 - 24/26 novembre
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 - 24/26 novembre
10
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 - 24/26 novembre
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
Viviana Pattimatrix
Informatica di base - 24/26 novembre
Matrice di allineamento
Il modo in cui viene costruito l'allineamento
ottimale da un generico algoritmo di
allineamento è intuitivamente il seguente
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 - 24/26 novembre
11
Matrice di allineamento di seq.I e II
Viviana Patti
Informatica di base - 24/26 novembre
Allineamento globale
Esistono diversi tipi di allineamento globale o
locale
Allineamento globale:
Le sequenze sono allineate secondo la loro
intera lunghezza (inserimento di gap se
hanno lunghezze diverse)
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
Algoritmo Needleman-Wunsch
Viviana Patti
Informatica di base - 24/26 novembre
EMBOSS- Needle: Allineamento globale
http://www.ebi.ac.uk/emboss/align/: NeedlemanWunsch global alignment from EBI - European Bioinf.
Inst. -> accetta sequenze memorizzate in formato
FASTA
Viviana Patti
specifica dei
parametri:
- allineamento
globale/locale
- scoring matrix
- proteine/DNA
- gap penalties...
Informatica di base - 24/26 novembre
12
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 - 24/26 novembre
ALIGN: esempio di allineamento di 2
sequenze protiche
Viviana Patti
Informatica di base - 24/26 novembre
Allinemento locale
Locale (vedi esempio diapositive precedenti)
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
Viviana Patti
Informatica di base - 24/26 novembre
13
Allineamento locale
Non richiede che il confronto di due sequenze
sia svolto per la loro intera lunghezza
Variante dell’algoritmo per l’allineamento
globale: algoritmo Smith-Waterman
In caso di punteggio parziale negativo,
l’allineamento corrente può essere
abbandonato
L’allineamento può terminare in qualsiasi
punto della matrice
Tools: SSEARCH, LALIGN (utilities FASTA);
BLAST
EMBOSS: Smith-Waterman
Viviana Patti
Informatica di base - 24/26 novembre
EMBOSS- water: Allineamento globale
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...
Viviana Patti
Informatica di base - 24/26 novembre
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 - 24/26 novembre
14
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 - 24/26 novembre
BLAST
Viviana Patti
Informatica di base - 24/26 novembre
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 - 24/26 novembre
15
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 - 24/26 novembre
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 - 24/26 novembre
Traduzione DNA -> proteine
Per sintetizzare una proteina, bisogna prima
ricavarne la struttura primaria dal DNA
Per la traduzione “DNA -> proteina”
occorrono:
la sequenza DNA
un codice genetico
un programma di traduzione
Viviana Patti
Informatica di base - 24/26 novembre
16
Traduzione DNA -> proteine
Concetti chiave
ogni aminoacido è codificato da una
sequenza di tre basi del DNA (codone)
le basi sono 4 (A,C,G,T);
dato un alfabeto di 4 lettere, quante
possibili triplette? 43 =64 possibili codoni
ho solo 20 amminoacidi -> ci sono
codifiche ridondanti:
l’aminoacido T corrisponde a ACT, ACC,
ACA, ACG (4 triplette)
alcuni codoni hanno la funzione di “segnali” di
stop per il processo di sintesi
Viviana Patti
Informatica di base - 24/26 novembre
Traduzione DNA -> proteine
Complessità del problema:
Nella sequenza DNA non ci sono delimitatori che
marcano la fine e l’inizio dei codoni
si può iniziare a leggere la sequenza partendo da
un nucleotide in posizione i oppure i+1 oppure
i+2
La sequenza DNA e la sua sequenza complementare
possono essere lette in avanti o all’indietro
bisogna tradurre tutti i (6) possibili frame di
lettura
Viviana Patti
Informatica di base - 24/26 novembre
Traduzione DNA -> proteine
Uno spezzone di sequenza DNA e tre delle possibili
6 traduzioni
Viviana Patti
Informatica di base - 24/26 novembre
17
Traduzione: tools
BLAST e FASTA traducono automaticamente
query e/o sequenze della base dati per fare
confronti
Programma di traduzione “DNA ↔ proteine”
integrato nel Protein Machine Server del EBI
(European Bioinformatics Institute):
http://www.ebi.ac.uk/translate/
Viviana Patti
Informatica di base - 24/26 novembre
18