DISPENSE DI
BIOINFORMATICA
BANCHE DATI
Le banche dati sono collezioni strutturate di dati messe in tabelle e gestite da un sistema
detto DBMS (database management system) e servono a capire le relazioni che
intercorrono tra i dati presenti. Le caratteristiche base di una banca dati sono:
• inserire tantissimi dati in poco spazio (una scatola grande ne contiene altre più
piccole)
• facilità di accesso;
• possibilità di combinarle con strumenti informatici.
STRUTTURA
Una BD è costituita da ENTRIES che contengono le informazioni sull'oggetto principale e
altre info; l'accesso alle entries deve essere rapido e facile per estrarre i dati di interesse.
Le ricerche vanno fatte solo per campi utilizzando delle parole-chiave (descritte da un
HEADERS) per evitare di introdurre nella ricerca risultati non richiesti, NON bisogna mai
effettuare ricerche generali.
I dati presenti nelle banche dati quali ad esempio delle sequenze sono tutti associati ad un
ACCESSION NUMBER ma una stessa sequenza può essere associata a più accession
number di cui però è importante solo il primo numero che viene detto numero primario. I
file sono tutti depositati come flat-file per occupare meno spazio e poterli visualizzare più
semplicemente.
Le informazioni aggiuntive sono dette features.
NCBI -> banca dati americana di sequenze nucleotidiche.
È importante che tra le banche dati ci siano delle relazioni (cross-references) che
rendono possibili scambi di dati tra diverse banche dati.
OPERATORI BOOLEANI
Permettono di combinare più concetti nella stessa ricerca. I principali sono:
• AND ->prodotto logico, intersezione tra due insiemi;
• OR -> somma logica quindi indica che deve essere presente almeno uno dei due
concetti cercati;
• NOT ->differenza logica, esclusione di un concetto usato per limitare la ricerca.
Per dare sequenzialità di ricerca si usano le parentesi.
Si considerano banche dati PRIMARIE quelle che trattano gli acidi nucleici, le principali
sono EMBL (europea), GenBank (americana) e DDBJ (giapponese).
Da ricordare è la banca dati PubMed che contiene bibliografia scientifica.
BANCHE DATI DI SEQUENZE PROTEICHE
Contengono dati ottenuti sia da sequenze proteiche che dalla traduzione di sequenze
geniche. La principale banca dati proteica è UniProt divisa in:
-Swiss-Prot --> contiene sequenze risolte a mano da biologi;
-TrEMBL --> sistema di traduzione della sequenza proteica che riconduce al data base
EMBL.
Un'utile banca dati è anche RefSeq che tratta sia sequenze nucleotidiche che proteiche, è
inoltre una raccolta di sequenze di riferimento per geni, proteine, trascritti e genomi e la
sua caratteristica è data dall'associare ogni entry ad uno status che la definisce
qualitativamente.
ELEMENTI DI INFORMATICA
SISTEMA OPERATIVO
Insieme di componenti software che consente l'utilizzo di varie apparecchiature
informatiche, costituisce la piattaforma del sistema di elaborazione insieme al processore.
I principali sono WINDOWS, MACINTOSH, LINUX.
Linux risulta il più stabile in quanto gratuito e non attaccabile da virus.
FILE ---> contenitore di informazioni in formato digitale
DIRECTORY --> indirizzo del file system in cui sono presenti altri file o directory
PROGRAMMA --> oggetto informatico in cui si introducono dati (input) che il programma
elabora e restituisce modificati (output)
OPEN SOURCE --> indica un software i cui autori ne permettono il libero studio e apporto
di modifiche
ALLINEAMENTI SEMPLICI
Un allineamento di sequenze permette:
• identificazione di associazioni funzionali
• Costruzione di alberi filogenetici
• Identificazione di domini funzionali
• Costruzione di modelli 3D per similarità di sequenze
SIMILARITA' è da non confondere con OMOLOGIA in quanto due sequenze omologhe
condividono una stressa origine filogenetica mentre in due sequenze definite simili questa
caratteristica non è richiesta ma può occorrere per caso o per convergenza adattativa
Strutture o sequenze ORTOLOGHE --> si definisce per geni presenti in specie differenti
che mostrano una omologia di sequenza. Questi derivano da un antenato comune e
hanno subito evoluzione divergente
Strutture o sequenze PARALOGHE --> si definisce per sequenze omologhe la cui
evoluzione riflette casi di duplicazione genica
Un allineamento è quindi il confronto tra due sequenze note in modo da quantificare il
grado di similarità, può essere applicato a coppie di sequenze nucleotidiche o proteiche.
MISURA DI SIMILARITA': numero di caratteri delle due sequenze che si appaiano
esattamente.
Definiamo la similarità di sequenza tra due sequenze come il punteggio più alto dei
punteggi ottenuti che identifica l'allineamento migliore.
Data una sequenza n ed una m, il numero di allineamenti possibili si calcola: (n)+(m-1)
mentre il numero di confronti effettuati si calcola : n x m.
Utilizzando gli allineamenti è possibile fare ricerche per similarità all'interno delle banche
dati.
Per calcolare la similarità in sequenze che contengono indels, associamo una penalità
(GAP PENALTY) più grave della seconda penalità (GAP EXTENSION PENALTY).
N.B. nel calcolo della similarità le identità saranno sommate ed i gap sottratti.
CALCOLO DELLE SIMILARITA' TRA DUE SEQUENZE
Per visualizzare graficamente un allineamento di seq si può utilizzare una DOT MATRIX
che risulta una matrice rettangolare n x m che descrive l'allineamento tra una seq n ed una
m.
Le matrici di punti quindi possono essere utilizzate per:
• Evidenziare ripetizioni interne a singole sequenze;
• Identificare similarità in posizioni diverse in 2 sequenze;
• Valutare la similarità tra due sequenze diverse.
In ogni punto in cui le due seq coincidono inseriamo un asterisco ma considerare ogni
singolo nucleotide o residuo aa si creerebbe un eccessivo rumore di fondo, quindi, per
evitarlo si usa una determinata finestra (ad es 5 residui o nucleotidi) e si decide di
introdurre un punto nel grafico solo se l'identità tra le due seq prese in quella finestra è
superiore o uguale al 60%.
Otterremo così un grafico in cui gli allineamenti migliori sono visualizzati come segmenti
diagonali paralleli tra loro presenti nella matrice, i gap sono visualizzati come salti di
diagonali.
Il rumore di fondo che si ottiene invece compilando una matrice per punti è in genere dato
da tutte quelle similitudini presenti in modo sistemico quindi può ad esempio essere
dovuto al fatto che alcuni amminoacidi che compongono le diverse sequenze sono molto
presenti come nel caso dell'arginina che risulta un amminoacido molto presente a livello
generale nelle sequenze proteiche.
Ovviamente valutare un allineamento soltanto dal numero di residui identici appaiati non è
corretto in quanto risulterebbe più corretto assegnare un punteggio in base al grado di
identità dei residui ( ad esempio assegnare un punteggio molto elevato a due residui
identici ed un punteggio alto ma inferiore al primo per due residui chimicamente simili). Per
assegnare dei valori si usa una MATRICE DI SOSTITUZIONE.
MATRICE DI SOSTITUZIONE (DA NON CONFONDERE CON LA MATRICE DI PUNTI
DOT-MATRIX)
È una tabella che associa un valore per ogni coppia di residui, risulta quindi una matrice
quadrata 20x20 con 400 valori. Una delle matrici più usate è la PAM (percent accepted
mutation) che rappresenta la divergenza di 2 sequenze.
La differenza tra le matrici di punti e quelle di sostituzione è che le prime consentono di
mettere in evidenza zone di identità tra sequenze diverse ( m x n), mentre le seconde
associano un punteggio ad ogni coppia di residui e sono quadrate e simmetriche.
Le PAM più utilizzate sono la PAM 120 e la 250 che quindi rappresentano sequenze che
hanno rispettivamente il 50 o il 20 % di identità di sequenza.
Programmi che sfruttano algoritmi che esplorano tutto il piano della matrice di confronto tra
due sequenze sono detti esaustivi.
PROGRAMMAZIONE DINAMICA
È una tecnica di progettazione di algoritmi basata sulla divisione del problema in sotto-
problemi e sull'utilizzo di sottostrutture ottimali. Per confrontare 2 sequenze e ottenere il
migliore allineamento necessitiamo di un algoritmo che tenga conto delle possibili
inserzioni o delezioni ma è ovviamente impossibile tenere conto di ogni singola posizione
e per questo è stato sviluppato un algoritmo esaustivo che cerca le similarità globali di
tutte le sequenze e si basa sulla programmazione dinamica.
Aspetti positivi:
• L'algoritmo trova il migliore allineamento possibile
Aspetti negativi:
• Nell'output spesso si trovano più allineamenti con il massimo punteggio
2
Il tempo di risposta del programma è dell'ordine n
Abbiamo 2 tipi di allineamento: locale o globale
Il locale è più interessante dal punto di vista biologico in quanto permette di identificare
proteine che contengono lo stesso dominio funzionale mentre il globale confronta le intere
sequenze. # Per distinguere un allineamento globale da uno locale bisogna ricordarsi che,
la matrice di sostituzione usata per gli allineamenti locali contiene anche valori negativi
(associati ad uno 0 poi nel calcolo della somma) e quindi permette di avere il valore
massimo all'interno della matrice stessa e non per forza nell'ultima riga o colonna
dell'allineamento invece in quello globale la matrice di sostituzione ha solo valori positivi e
il valore massimo è sempre in ultima riga o colonna.
CREAZIONE DI UNA MATRICE A PROGRAMMAZIONE DINAMICA
Per completare un allineamento con una matrice di sostituzione andando a fare già le
somme bisogna tener conto di alcune regole per il completamento dei vari quadrati. Da
notare che i valori sost1, sost2 e sost3 sono semplicemente i valori presi dalla PAM di
riferimento (N.B. in caso di valori negativi si scrive il valore negativo come sost1, sost2 o
sost3 ma se anche il valore della somma dovesse essere negativo si riporta uno 0 al posto
di m1, m2 o m3).
A completare quindi il valore in m4 sarà il valore più alto tra quelli calcolati tra v1, v2 e v3.
Una volta completata la matrice a programmazione dinamica bisogna poi cercare di
ricostruire l'allineamento migliore semplicemente partendo dal punteggio massimo
ottenuto e andando poi a ritroso. Ovviamente il percorso che ricostruiremo sarà quello più
interessante nel confronto tra le due sequenze, per definire se si tratta di un percorso che
descrive un allineamento globale o locale bisogna far riferimento alle regole indicate al
paragrafo sopra. (vedi #)
METODI EURISTICI
Sono algoritmi sviluppati per effettuare ricerche più rapide in banche dati sempre più
grandi, la ricerca è resa più rapida a scapito della certezza di avere trovato il risultato
ottimale.
FASTA E BLAST
I principali programmi euristici sono FASTA e BLAST. FASTA si basa su identità di
sequenza mentre BLAST utilizza una matrice di sostituzione sin dalle prime fasi di utilizzo
dell'algoritmo. FASTA considera la possibilità di gap fin dalle prime fasi del programma
mentre BLAST poiché costretto da un parametro ( Word ) può non identificare sequenze
con bassa similarità. Quindi generalizzando si preferisce Fasta per sequenze di acidi
nucleici e allineamenti globali, mentre si usa BLAST per sequenze proteiche e allineamenti
locali.
FASTA ( sviluppato nel 1985 da Liepman e Person )
Per utilizzare fasta bisogna impostare dei parametri:
• K-TUP, la lunghezza della parola con cui si effettua il primo passo dell'algoritmo
( quella ottimale per sequenze nucleotidiche è 6, per sequenze proteiche è invece
2 ). Aumentando la K-TUP aumenta il rischio di non identificare sequenze omologhe
evolutivamente distanti ma si velocizza il programma.
• Soglia, definisce la qualità minima degli allineamenti in output sotto la quale i
risultati non sono considerati statisticamente rilevanti.
Una volta impostati tali parametri il programma selezionerà le sequenze con i punteggi di
sostituzione più alti; utilizzando i migliori dieci risultati, si identifica un core match a
punteggio massimo. Si deve considerare che i frammenti possono essere uniti solo entro
una soglia di accettabilità ( 32 residui intorno al match ottimale ).
Un problema che è opportuno risolvere nella ricerca delle BD è la RIDONDANZA, infatti
molte BD contengono sequenze e frammenti di sequenze in diverse copie tutte uguali tra
loro, dunque fare confronti non è molto utile ed eliminare la ridondanza renderebbe le
ricerche più veloci. Di conseguenza le sequenze che hanno una percentuale di identità
uguale o superiore a una certa soglia vengono raggruppati in Cluster ognuno dei quali è
rappresentato da un'unica sequenza. In UniProt sono disponibili diversi Clusters a diversi
livelli di ridondanza e diverse soglie di identità. In un UniProt 90% e 50% non ci sono
coppie di sequenze che abbiano rispettivamente più del 90% o 50% di identità. In UniProt
100% sono presenti solo sequenze identiche (si calcola la quantità di sacchi e non la loro
pienezza quindi avremo più sacchi al 100% ma più vuoti e meno sacchi al 50% o 90% ma
più pieni).
BLAST
L'algoritmo che BLAST utilizza può essere suddiviso in 3 passaggi:
Ogni sequenza da analizzare viene suddivisa in parole di lunghezza W e per
1.
ogni parola si genera un elenco di parole affini dette anche W-mers ovviamente
considerate solo entro una determinata soglia
In ogni file della banca dati o della sequenza di confronto si cercano
2.
occorrenze identiche o con un valore superiore a quello soglia di W-mers
Una volta riconosciuti I W-mers si cerca di estendere la regione sia al 3' che
3.
al 5' generare degli HSP (highscoring Segment Pair) poi eventualmente uniti per
formare un allineamento finale
Nell'utilizzo di BLAST bisogna tener conto che il parametro W decide sia la velocità di
esecuzione del programma sia la sua sensibilità ed in genere per effettuare delle buone
ricerche si utilizza un valore di W=11
SIGNIFICATIVITA' STATISTICA
Poichè in output BLAST e FASTA generano degli allineamenti posti in ordine di punteggio
decrescente bisogna individuare un sistema per decidere se una certa similarità è
significativa oppure se quel punteggio di similarità potrebbe essere stato generato per
caso. Utilizzando la statistica è possibile affermare che un punteggio risulta più
significativo quanto più è lontano dal punteggio medio e ovviamente questa significatività
varia in base all'ampiezza della distribuzione. L'ampiezza di una distribuzione è descritta
come deviazione standard. A questo punto possiamo quindi definire lo Z-score che è una
grandezza proporzionale alla distanza di un punteggio dal punteggio medio e
inversamente proporzionale all'ampiezza della distribuzione stessa secondo la formula.
Nel caso in cui si confronti una sequenza con una banca dati di sequenze la significatività
di un allineamento è descritta dal suo Z-score, un punteggio si considera statisticamente
significativo se lo Z-score è maggiore di 5.
Un altro parametro usato per valutare la significatività statistica di un punteggio è l'E-value
(expectation value) che indica il numero di allineamenti con punteggi equivalenti o migliori
che ci si aspetta che compaiano per caso. Più è basso il valore dell'E-value e maggiore è
la significatività del punteggio preso in esame. In un output di BLAST una buona soglia
-5
limite di E-value è e oppure più bassa poichè altrimenti con un valore superiore facendo
un confronto ad esempio tra una sequenza ed un database di 1 milione di sequenze si
andrebbe a prendere in considerazione anche i 1000 allineamenti dovuti al caso.
ALLINEAMENTI MULTIPLI
Un allineamento multiplo di sequenze permette di confrontare tra loro più di due sequenze
alla volta permettendo di ottenere più informazioni rispetto al confronto con solo una
coppia di sequenze. Un allineamento multiplo di sequenze è detto anche MSA (Multiple
Sequence Alignment). Per poter generare un allineamento multiplo di proteine omologhe è
necessario utilizzare un algotimo di allineamento globale oppure in alternativa si può
costruire un allineamento locale nel quale siano considerate solo le regioni o i domini
comuni a proteine che possono anche non essere simili globalmente.
Un allineamento multiplo dà informazioni sulle relazioni funzionali ed evolutive tra le
proteine con cui è costruito, sui residui catalitici e sulla struttura 3D della famiglia. Oltre al
concetto di similarità negli allineamenti multipli si tiene conto anche del concetto di
distanza tra due sequenze che è data dalla percentuale di residui diversi nell'allineamento.
Il programma più usato per generare allineamenti multipli è ClustalW (ClustalOmega) che
tra le sue caratteristiche principali ha:
• Pesi individuali che vengono assegnati ad ogni sequenza per pesare meno le
sequenze quasi identiche e dare più peso a quelle più divergenti tra loro
• Le matrici di sostituzione vengono cambiate ai diversi stadi dell'allineamento in
dipendenza con la divergenza delle sequenze da allineare
• Le gap penalties sono residuo-specifiche e vengono ridotte localmente in
corrispondenza di regioni idrofiliche incoraggiando quindi l'apertura di gap in regioni
che potenzialmente codificano per dei loop
ClustalW inoltre permette anche la generazione di alberi filogenetici.
Un filogramma è un diagramma a rami in cui la lunghezza dei rami è proporzionale alla
divergenza mentre un cladogra
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Bioinformatica
-
Appunti Laboratorio di bioinformatica
-
Appunti di Bioinformatica
-
Bioinformatica - 2 modulo Appunti