Formato FASTA
“Semplice” formato di testo ❖ ❖ Standard di archiviazione delle sequenze biologiche (aminoacidiche, nucleotidiche).
Prima linea, dopo ❖ ❖ il segno “>” identificativo della sequenza. Dalla seconda linea in poi, la sequenza. Può essere multi-FASTA.
Ogni banca dati assegna un codice univoco alla seq, inserito un identificativo → permette di ricondurre a banca dati, permette riproducibilità e rintracciabilità.
*In file multifasta ogni identificativo deve essere diverso → ci possono essere seq identiche con identificativo diverso (es. stesso gene in org diversi).
GenBank format
Formato che contiene più informazioni oltre alla sequenza (chi l’ha realizzata, quando, ❖ ❖ etc.). File di testo. File molto più “pesante” di un FASTA.
GenBank ® è il database delle sequenze genetiche NIH, una raccolta annotata di tutte le sequenze di DNA pubblicamente disponibili. GenBank fa parte della International Nucleotide Sequence Database Collaboration, che comprende la DNA DataBank of Japan (DDBJ), l'European Nucleotide Archive (ENA) e GenBank presso NCBI. Queste tre organizzazioni si scambiano dati su base giornaliera.
Campi GenBank
LOCUS → Il campo LOCUS contiene diversi dati, tra cui il nome del locus, la lunghezza della sequenza, tipo di molecola, divisione GenBank e data di modifica. Ogni elemento è descritto di seguito.
ACCESSION → Identificatore univoco per un registro di sequenza. Un numero di accesso si applica al record completo ed è di solito una combinazione di una o più lettere e numeri, come una singola lettera seguita da cinque cifre (ad es. U12345) o due lettere seguite da sei cifre (es. AF123456).
FEATURES → Informazioni sui geni e sui prodotti genici, nonché sulle regioni di importanza biologica riportate nella sequenza. Questi possono includere anche regioni della sequenza che codificano per proteine e molecole di RNA ecc.
CDS → Sequenza di codifica; regione dei nucleotidi che corrisponde alla sequenza di amminoacidi in una proteina (la posizione include i codoni di inizio e fine). La funzione CDS include una traduzione di amminoacidi. Autori possono specificare la natura del CDS utilizzando il qualificatore “/evidence=experimental” o “/evidenza=non_sperimentale”.
GFF format
General Feature Format. Una linea per feature, 9 colonne, più eventuali linee ❖ Campi separati da “tab” opzionali → Usato per descrivere le features presenti in una molecola di DNA, RNA o proteina.
I campi devono essere separati da tab. Inoltre, tutti i campi tranne l'ultimo in ciascuna linea features devono contenere un valore; le colonne “vuote” dovrebbero essere indicate con un ‘.’
- Seqname - Nome del cromosoma o dell'impalcatura; i nomi dei cromosomi possono essere dati con o senza prefisso ‘chr’. Il seqname deve essere un nome cromosomico standard o un identificatore come un ID scaffold, senza alcun contenuto aggiuntivo.
- Source - Nome del programma che ha generato questa funzione, o l'origine dati (database o nome del progetto).
- Features - Nome del tipo di funzione, ad es. Gene, variazione, similarità.
- Start - Posizione iniziale della feature, con numerazione in sequenza che inizia da 1.
- End - Posizione finale dell'elemento, con numerazione in sequenza che inizia da 1.
- Punteggio - Un valore in virgola mobile.
- Strand → Definito come (forward) o (reverse).
- Frame - Uno tra ‘0’, ‘1’ o ‘2’. ‘0’ indica che la prima base dell'elemento è la prima base di un codone, ‘1’ che la seconda base è la prima base di un codone, e così via.
- Attributo → Un elenco separato da punto e virgola di coppie tag-valore, che fornisce informazioni aggiuntive su ciascuna funzione.
##FASTA → Questa notazione indica che la parte di annotazione del file è alla fine e che il resto del file contiene una o più sequenze (nucleotidiche o proteiche) in formato FASTA.
È una grande tabella dove per ogni riga ho informazioni di una porzione del genoma.
Usato per descrivere features (es. da nucleotide x a x1 c’è promotore).
PDB format
PDB FORMAT. File testo, contiene inf. sulla struttura della molecola (può essere convertito in immagine). Tabulare, ogni riga un atomo.
Essenzialmente contiene atomi numerati, aa corrispondenti, disposizione catene aa (alfa-beta), coordinate X; Y, Z di ogni atomo della molecola nello spazio. Usato per immagine interattiva.
Allineamento di sequenze
(Omologia è sì-no; similarità si può misurare).
Esistono sequenze simili/identiche a quella che sto studiando? (O magari è un nuovo gene?)
L’allineamento di sequenze. Il livello di similarità fra 2 o + sequenze si valuta con (confronto fra seq).
Gli organismi viventi e le loro sequenze sono il prodotto di una storia evolutiva. In biologia gli organismi (o le loro parti) che derivano da un antenato comune sono detti omologhi. La similarità delle seq dipende da derivazione da antenato comune. (Per seq corte vi può essere analogia per caso, diverso da omologia).
Sono +- simili perché si hanno variazioni sia in linea evolutiva verticale che più ampia (divergenza evolutiva). ES. duplicazione e divergenza delle globine.
Sono necessari algoritmi che rendano il miglior match possibile e che ricostruiscano gli eventi accaduti alla seq (capire se vi è stata variazione, che tipo e dove).
Un algoritmo per l’allineamento di sequenze deve essere in grado di modellare due eventi che si possono incontrare in evoluzione molecolare: SNPs (variazione di 1 nucleotide) e indels (inserzione o delezione).
Importanza dell'allineamento
- Un allineamento multiplo di sequenze (Multiple Sequence Alignment, MSA) dà un’idea delle modifiche che subiscono le sequenze in seguito ai processi evolutivi.
- Il primo passo per.
- E’ analisi di tipo filogenetico e/o funzionale.
- Residui conservati = importanza funzionale.
- Permette di misurare quanto sono simili due sequenze (percentuali di identità/similarità).
Esistono diversi approcci per condurre un allineamento fra due sequenze. Concettualmente, l’algoritmo utilizzato per i diversi tipi di allineamento è lo stesso. Piccole modifiche ai parametri e all’algoritmo stesso convertono un algoritmo di tipo globale (Needleman-Wunsch) in uno di tipo locale (es. Smith-Waterman, BLAST):
- Globale: allineo seq per tutta la sua lunghezza (da inizio a fine).
- Locale: trova regioni omologhe o simili anche in porzioni interne (allineamento sfalsato) (es. dominio catalitico di una proteina, è conservato, il resto no).
- Overlap (semi-globale): ricerca omologhi ad inizio e fine seq (se è stata tagliata regione omologa).
*La scelta della matrice dipende dal tipo di org che analizzo → le frequenze di mutazione sono diverse.
*Lo score su mutazioni a livello di regioni altamente conservate è diverso → in base a cosa analizzo uso matrici ad hoc.
*Impossibile provare tutti gli allineamenti possibili.
Dynamic programming
Dynamic programming: risolvere un problema generale usando le soluzioni delle sotto-parti del problema stesso.
ES. Problema turisti Manhattan → in griglia pesata trovo percorso più pesante suddividendo il problema in problemi più piccoli → calcolo valore dei nodi (sottoproblemi) seguendo valore max in base ai valori dei link di colonna o riga precedenti; tengo a mente la strada fatta per arrivare a det nodo in modo da poter tornare indietro e scegliere percorso ottimale (vedi appunti).
Algoritmi di allineamento
Posso fare allineamento di seq costruendo matrice tra 2 seq → rende allineamento ottimale (migliore) globale.
Allineamento a coppie (pairwise)
NEEDLEMAN-WUNSCH [globale] → trovare l’allineamento globale ottimale tra due sequenze (DNA o proteine), massimizzando il numero di match all’interno dell’allineamento e minimizzando il numero di gap necessari per allineare le due sequenze.
Lo score Si,j di ciascuna cella, dipende da quello delle celle circostanti e aventi indici inferiori di 1 alla cella Si,j (cioè dalle celle Si-1,j, Si,j-1 e Si-1,j-1). Lo score della matrice nella posizione 2,2 (S2,2) dipende da quello presente nelle celle circostanti (1,1; 1,2; 2,1) secondo la seguente regola di attribuzione del punteggio:
- Gap: valore previsto per inserire un gap nella sequenza.
- M(Ai, Bj) score per l’allineamento del residuo A con B (anche indicato come s(A,B) nelle slide precedenti).
Affinamento della matrice
---- Affinamento della matrice, modificare lo score per valenza biologica:
-Come valutare gap? (Fa differenza se siamo in seq codificante, caratteristiche del genoma).
- Constant gap penalty: La penalità di un gap ha valore costante, -g. (Non dipende dalla dimensione, conta n tot di gap) (questo approccio porta alla minimizzazione del n. gap) [g = -g].
- Linear gap penalty: penalità dipende linearmente dalla dimensione del gap. [g = -g*L] (g è la penalità per unità di lunghezza del gap) (La penalità di un gap lungo equivale a quella di tanti piccoli gap).
- Affine gap penalty: secondo parsimonia favorisce gap lunghi (come 1 solo evento) che tanti singoli. (È più probabile che avvenga una singola inserzione/delezione lunga 10, piuttosto che 10 piccole indel lunghe 1). Usa una penalità di apertura del gap (o con o < 0) ed una penalità di estensione del gap (e, con e < 0), con |e| < |o| per favorire l’estensione del gap anziché l’inserzione di un nuovo gap. La penalità di un gap di lunghezza L è data da g = o + (L−1)*e.
*Scoring: solitamente si usa uno schema semplice (valori positivi per match, negativi per mismatch e gap).
**Anche mismatch hanno valore diverso → Le Transversioni sono più penalizzate rispetto alle Transizioni (Transizioni più comuni di Transversioni).
*** Su seq AA è più complicato perché alcuni aa sono simili → si valuta la freq di sostituzione degli aa. Si usa matrice 20x20 (PAM; BLOSUM). (Un mismatch può anche essere valore positivo) (match tra aa rari ha molto peso).
Smith-Waterman
SMITH-WATERMAN [locale] ricerca regioni con più alta similarità (es. domini funzionali), no allineamento di seq per la loro intera lunghezza.
*Deriva da globale con 2 modifiche:
- Non lasciamo che nessun valore nella matrice acquisisca un valore negativo. Introduciamo quindi 0 come possibile valore nella scelta del valore massimo (automaticamente i valori negativi vengono scartati, mettiamo uno 0) → inizia dal valore più alto all’interno della matrice.
- Traceback: anziché iniziare dall’ultimo valore in basso a destra della matrice, inizia dal valore più alto all’interno della matrice e mi fermo al primo 0. Questo permette l’allineamento di sotto-sequenze.
BLAST
BLAST (Basic Local Alignment Search Tool) → approccio euristico che approssima SW → esplora alcune soluzioni e rende soluzione con una certa probabilità di errore (non per forza la migliore ma la più probabile tra le soluzioni esplorate) (difetto compensato dalla velocità con cui le trova, confronta tantissime seq in banca dati).
*Dà peso statistico alle similarità trovate.
*SW è molto + lento perché: -cerca similarità in zone che contengono allineamenti non rilevanti.
Concetto principale di BLAST → Un allineamento locale con uno score sufficientemente alto da essere interessante (cioè da essere statisticamente significativo) probabilmente conterrà un allineamento di sottosequenze (molto) corte il cui score sarà maggiore o uguale ad un certo valore di soglia T.
Questo accoppiamento (di sottosequenze) viene chiamato hit. Per cercare allineamenti significativi (High Scoring Pairs, HSP, allineamenti locali), BLAST cerca prima le hit e poi identifica se queste similarità sono frutto del caso oppure se hanno una valenza biologica.
Per ogni parola (sottosequenza) nella sequenza di partenza (query), BLAST determina le sottoparole (per es. all’interno di un database) che danno un match e che quindi possono formare una hit.
Tre fasi di BLAST
- Scomposizione della Query → forma delle sottosequenze (-3 aa/ -11 nucleotidi) (nucleotidi generano più rumore di fondo, è più probabile che vi sia una mutazione nucleotidica, mutazioni nucleotidiche possono codificare per lo stesso aa → trovare 3 aa identici su seq diverse è + significativo, meno probabile che sia caso) (T).
- Ricerca delle HIT → su database di seq. Metodo Hashing matrice, c’è hit sì/no?, non è allineamento quindi velocissimo.
- Estensione di allineamento: trovata hit (può essere comunque caso) → si cerca match estendendo allineamento con base/aa successivo e così via → viene assegnato un cumulative score andando avanti. Allineamento si ferma quando il cumulative score si abbassa di valore x (stabilito da noi) → viene reso allineamento HSP (allineamento reso è + corto, rende al valore max di HSP).
**** Gapped BLAST viene implementato dynamic programming. Restituisce allineamenti con gap → 2 hit sono richieste per iniziare l’allineamento (devono essere distanziate sulla seq di un valore di soglia A).
Una volta identificate, viene effettuato l’allineamento della regione compresa (SW) (dynamic programming) più hit. E’ inutile provare ad estendere l’allineamento ogni volta. Più efficiente considerare la distanza tra due hit e basarsi su questa per decidere se effettuare l’allineamento (la parte “costosa” dell’algoritmo) oppure procedere oltre.
Rende allineamento con percentuale di errore e qualità allineamento.
Valutazione della significatività di allineamento
- (S’) - Score normalizzato per confrontare allineamenti con matrici e gap penalty diversi.
- E-value: valore di probabilità che ci dice quanto lo score trovato sia frutto del caso o no → sarebbe percentuale errore (+ basso, miglior allineamento) (influisce L delle seq).
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.