


























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
dispensa Bioinformatica Corso di Laurea Magistrale Biotecnologie Mediche FEDERICO II
Tipologia: Dispense
1 / 34
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



























In offerta
La bioinformatica è un ramo della biologia computazionale, essa si occupa dello sviluppo di strumenti di analisi dedicati al campo biologico La biologia computazionale è l'applicazione di questi strumenti
La struttura primaria di ac nucleici e proteine è costituita da sequenze lineari rispettivamente di nucleotidi e di aminoacidi Quindi le sequenze di acidi nucleici e proteine possono essere rappresentate come stringhe di caratteri analizzabili con metodi bioinformatici [Una stringa di caratteri è soltanto una rappresentazione semplificata del corrispondente ac nucleico o proteina] Una procedura bioinformatica basilare è l'allineamento di sequenze
Allineare due sequenze significa compare due sequenze residuo per residuo in modo da mettere in evidenza le regioni di similarità L'allineamento di sequenze è una procedura che serve a comparare due o più sequenze con lo scopo di stabilire un insieme di relazioni biunivoche tra coppie di residui delle sequenze considerate che massimizzino la similarità tra le sequenze stesse Quindi un allineamento dovrebbe portare all'appaiamento delle regioni simili condivise tra due sequenze
Potremmo volere allineare due o più sequenze per:
Esistono vari tipi di algoritmi di allineamento che risultano utili in situazioni differenti
Due sequenze possono essere comparate attraverso una matrice bidimensionale (tabella ordinata di elementi) in cui una sequenza è scritta sul margine superiore, da dx verso sx, e l'altra sul margine sx, dall'alto verso il basso per cui ogni casella fà riferimento a due residui uno di una seq ed uno dell'altra seq. All'interno di ogni casella della matrice possiamo inserire dei punteggi che nel caso più semplice saranno punteggi di identità (+1 per match e 0 per mismatch e gap) oppure possiamo inserire punteggi che rispettano altri criteri, ad es che tengano conto anche delle similarità tra i residui (quindi possiamo attribuire un punteggio ad ogni coppia di residui) Il valore di un allineamento sarà dato dalla somma di tutti i punteggi attribuiti alle coppie di residui che compongono l'allineamento caratteristiche chimico-fisiche degli aa
Per trovare l'allineamento migliore (cioè la migliore corrispondenza tra due seq) è necessario stabilire dei criteri per misurare la similarità ed avere un metodo che, in base a questi criteri, sia in grado di attribuire un punteggio che sia rappresentativo della qualità di un dato allineamento L'allineamento migliore sarà quello che, in base ai criteri di similarità, avrà totalizzato il punteggio più alto. Il concetto di miglior allineamento è relativo al criterio utilizzato per valutarne la similarità
Un algoritmo è un metodo di calcolo che con un numero finito di regole conduce ad un risultato dopo un numero finito di operazioni L'efficienza di un algoritmo dipende dal tempo di esecuzione che è determinato dal numero di operazioni necessarie ad eseguirlo. Il numero di confronti effettuato è un buon metodo per valutare l'efficienza di un algoritmo perchè, indipendentemente dalla velocità della macchina utilizzata, un numero di confronti maggiore richiederà sempre un tempo più lungo (Per numero di confronti si intende la singola operazione di confronto tra due residui) Quando utilizziamo una matrice bidimensionale per la comparare due sequenze di lunghezza n e m vengono generati m+n -1 allineamenti ed il numero di confronti è pari al prodotto delle due lunghezze (mxn)
Introduzione dei gap: spesso è necessario introdurre gap nelle sequenze per trovare allineamenti significativi (per trovare un più alto numero di corrispondenze) Da un punto di vista biologico questo corrisponde alla possibilità che siano avvenute inserzioni o delezioni Se una proteina ha subito un evento di inserzione o delezione, un suo appaiamento con una proteina omologa non potrà più riassociare tutte le coppie di aminoacidi correttamente, perchè le nuove lettere inserite interrompono l'appaiamento delle coppie simili. Per risolvere il problema, quando si allineano due sequenze è possibile inserire dei "gaps" o interruzioni, rappresentati con dei trattini, fra le lettere di una o di entrambe le sequenze. L'apertura di gaps consente di compensare in una delle due sequenze l'inserimento di residui avvenuto nell'altra. L'effetto è quello di ripristinare la distanza corretta fra gli aminoacidi permettendo di appaiare correttamente il maggior numero di coppie. Introducendo i gaps il numero di confronti aumenta in modo esponenziale, se il numero di elementi della S1 è n ed il numero di elementi della S2 è m si dovrebbero effettuare circa n^m confronti In una sequenza di n caratteri è possibile inserire un singolo gap in n-1 posizioni generando n sequenze diverse Questo problema è stato risolto utilizzando per la comparazione una matrice bidimensionale, in questo modo il numero massimo di operazioni è sempre nxm L'inserimento di gap comporta due principali complicazioni: uno relativo alla definizione di criteri di similarita` uno relativo alla possibilità di avere algoritmi adeguati
DOT MATRIX o matrice di punti E' un sistema che ci permette di visualizzare graficamente gli allineamenti La matrice di allineamento viene riempita con un punto (dot) ogni volta che vi sono delle corrispondenza (match), cioè ogni volta che due residui sono uguali, altrimenti la casella viene lasciata bianca In questo modo ogni allineamento di una certa lunghezza verrà visualizzato come un segmento diagonale, i gaps vengono visualizzati come salti da una diagonale all'altra, le differenze (mismatch) tra residui corrispondenti delle due seq come interruzioni della diagonale mentre la presenza di tratti di diagonali parallele indicano duplicazioni di sequenza Un allineamento assume, quindi, la forma di un percorso (path) più o meno tortuoso, che partendo da un punto del margine sx o superiore raggiunge un punto del margine inferiore o dx della matrice
Il vantaggio è l'immediata visualizzazione grafica degli allineamenti ma sostanzialmente questo metodo non esprime un valore dell'allineamento e stà all'operatore identificare l'allineamento migliore (cioè la linea che attraversa in diagonale il maggior numero possibile di punti, appaiando quindi il maggior numero di coppie di residui identici) L'identificazione della diagonale non è sempre agevole a causa del rumore di fondo [Il background viene prodotto soprattutto durante la comparazione di seq di DNA perchè essendo l'alfabeto costituito solo da 4 residui la probabilità che una base nella S1 sia identica alla corrispondente in S2 è pari al 1/4, questo significa che 1/4 delle caselle sono riempite in maniera casuale; se invece di comparare una lettera alla volta se ne comparano 2 quindi solo 1/16 delle caselle risulterà riempito in maniera casuale] E' possibile porre dei filtri per abbassare il background e migliorare la leggibilità del grafico visualizzando le diagonali che superano un certo volere soglia In particolare si possono definire parametri quali la window (gruppo di lettere) e la threshold (soglia). Utilizzare una W di 10 ed una T di 5 significa dire al programma di mantenere i punti che si trovano all'interno di una finestra di 10 caselle in cui ci sono almeno 5 corrispondenze esatte [Più è grande la w minore è la probabilità di un riempimento casuale delle caselle quindi minore è il background ma diminuisce la sensibilità] Il package EMBOSS contiene un gruppo di programmi per la generazione di allineamenti mediante matrici di punti tra cui dottup, dotmatcher, polydot
Algoritmo di Smith e Watermann Sviluppato per trovare allineamenti locali tra due sequenze, cioè aree di similarità elevata riguardanti una regione di ciascuna sequenza Obiettivo: Date due sequenze relativamente lunghe, determinare la sottosequenza della prima sequenza che realizza il maggior grado di similarità con una sotto- sequenza della seconda sequenza
Le sequenze vengono comparate attraverso una matrice di grandezza nxm, una sequenza è scritta sul margine superiore da sx verso dx, l'altra sequenza viene scritta sul margine sx dall'alto verso il basso; ogni casella fà riferimento a due residui, uno di una seq ed uno dell'altra seq La matrice viene riempita considerando che per ogni casella il punteggio dipende dalle tre caselle adiacenti, quella a sx, quella sopra, quella in alto a sx. Possiamo riempire una casella con 3 possibili valori:
Se il punteggio di una casella acquisisce un valore negativo, viene inserito il valore zero facendo sì che i punteggi non scendano mai al di sotto dello zero anche se la regione di non match continua In questo modo il valore di ogni casella non dipenderà più dal punteggio accumulato lungo tutto il percorso, ma solo da quello accumulato a partire da quando il punteggio ha superato lo zero Cos' le zone simili emergeranno come tratti a punteggio positivo . Alla fine si procede a ritroso, e cioè partendo dalla casella a punteggio più alto (sempre in basso a sinistra della matrice) si ripercorre al contrario la matrice fino al punteggio più basso Man mano che si procede si scrivono le due sequenze allineate: uno spostamento orizzontale rappresenta un gap nella sequenza verticale, uno spostamento verticale rappresenta un gap nella sequenza orizzontale, uno spostamento in diagonale rappresenta un allineamento dei residui delle due sequenze nella posizione corrente
1 0 0 0 0 1
0 X 1 X 0 X
PAM con un indice basso vengono utilizzate per confrontare proteine vicine filogeneticamente (perchè penalizzano in maniera rilevante qualsiasi tipo di sostituzione) PAM con un indice alto vengono utilizzate per confrontare proteine filogeneticamente distanti (perchè vengono valorizzate di più le sostituzioni conservative: punteggi maggiori per aa conservati che difficilmente vanno incontro a sostituzione in quanto molto importanti per la funzione)
Le matrici PAM utilizzate dai programmi di allineamento non contengono i valori di probabilità ma contengono dei punteggi da assegnare agli aa appaiati in un allineamento Per ogni coppia di aa lo score è il logaritmo del rapporto tra la frequenza osservata e frequenza attesa calcolata sulla base delle frequenze relative degli aa coinvolti nella sostituzione (si fà il logaritmo del rapporto per evitare l'introduzione di numeri molto piccoli ed inoltre i punteggi di allineamento possono essere calcolati mediante somma piuttosto che moltiplicazione dei singoli punteggi Quindi i valori ottenuti in una matrice PAM di punteggio possono essere sommati fra di loro per ottenere un punteggio per un allineamento)
Score per la coppia di aa A-B = log f(ab) / fa x fb f(ab): frequenza della coppia A-B : numero di coppie costituite dai due aa / numero di coppie totali fa, fb: frequenze con cui i due aa compaiono nelle sequenze: num dell'aa A (o B)/num di aa totali Il rapporto f(ab) / fa x f b ci dice quanto spesso a e b si appaiano in posizioni corrispondenti nell'allineamento rispetto a quanto atteso sulla base delle rispettive frequenze Se il rapporto freq osservata/freq attesa è superiore ad 1 significa che la frequenza osservata è maggiore di quella attesa Es: score della coppia a-b: 0,2 = log10 – 10^0.2 ---> 1. Nelle sequenze considerate la sostituzione a <---> b si osserva 1.6 volte più frequentemente di quanto succederebbe per caso
Una critica alle matrici PAM è che si finisce per usare matrici derivate da proteine molto vicine tra di loro, PAM 1, per studiare il comportamento di proteine distanti, PAM250. Un modo alternativo di affrontare il problema consiste nel partire da allineamenti multipli di un gran numero di proteine, che condividono una similarità maggiore di un valore soglia.
Le matrici BLOSUM sono costruite a partire da allineamenti multipli (locali) di un gran numero di proteine che condividono una similarità maggiore di un certo valore soglia (La collezione di allineamenti multipli di segmenti proteici proviene dalla banca dati blocks) Da ognuno dei blocchi è possibile ricavare la frequenza relativa di sostituzione degli aa la quale può essere utilizzata per calcolare una matrice di log-Odds
Il numero associato alla matrice BLOSUM indica la percentuale di similarità minima tra le sequenze utilizzate per generare la matrice , per esempio BLOSUM 62, indica una matrice generata a partire da allineamenti tra proteine aventi una similarità minima del 62% (o meglio prendendo tutte le proteine che fanno parte di appaiamenti all'interno dei quali c'èra il 62% di similarità)
PAM BLOSUM
Per confrontare sequenze molto simili dovremo usare Matrici PAM con un numero basso o BLOSUM con un numero alto ad esempio PAM 100 o BLOSUM 90. Per confrontare sequenze molto divergenti useremo invece matrici PAM con un numero alto o BLOSUM con un numero basso, ad esempio PAM 250 o BLOSUM 45.
Relazione fra le matrici PAM e quelle BLOSUM: PAM100 => Blosum PAM120 => Blosum PAM160 => Blosum PAM200 => Blosum PAM250 => Blosum
Blosum45 Blosum62 Blosum PAM 250 PAM160 PAM Seq più divergenti <-----------------------------------------------------> Seq meno divergenti
Le matrici PAM e BLOSUM possono essere utilizzate all’interno di qualsiasi programma che preveda il calcolo di un punteggio per l’allineamento. Anche i programmi che utilizzano l'algoritmo di NW o SW prevedono l’utilizzo di matrici di punteggio, Inoltre anche la maggioranza degli altri programmi di allineamento consente di selezionare il tipo di matrice di punteggio da utilizzare. Anche programmi per il calcolo di matrici di punti possono utilizzare matrici di punteggio come il programma dotmatcher riportando soltanto le window che raggiungano un punteggio superiore alla soglia
BLAST (Basic Local Alignment Search Tool) è un programma che utilizza un algoritmo di tipo euristico per la ricerca di similarità (locali) in banca dati E' basato sulla ricerca di un numero più limitato di 'parole' di lunghezza predefinita e sulla successiva estensione delle zone di omologia così identificate In particolare la sequenza viene divisa in parole di una certa lunghezza e per ogni parola viene creata una lista di parole affini (w-mers) Vengono considerate tutte le parole che danno uno score (calcolato utilizzando una matrice di sostituzione) maggiore ad una certa soglia se allineate con la parola della query stessa Il numero totale di words presenti in una sequenza da sottoporre a confronto, risulta essere: n = l - w + 1 ove w è il numero degli aminoacidi che compongono una word è d l è la lunghezza della sequenza in esame.
Ciascuna word della lista prodotta dall'analisi della query viene confrontata con le sequenze del db Le regioni di similarità inizialmente trovate vengono valutate con una matrice di tipo BLOSUM, per l’identificazione di High Scoring Segment Pairs (HSPs) Poichè ogni HSP potrebbe rappresentare una porzione di un possibile allineamento più esteso, viene verificata la possibilità di estenderle in entrambe le direzioni senza l'introduzione di gap Vengono trovate le MSP (Maximal Segment Pairs), allineamenti locali non ulteriormente estendibili che definiscono una zona locale di omologia Una coppia di segmenti viene definita essere localmente massimale qualora sia una sua estensione che un suo accorciamento non ne migliorino il punteggio.
Il programma, nella sua versione originale, non prevede l’introduzione di gap, tuttavia versioni più recenti gapped blast, pur rimanendo programmi per la ricerca di allineamenti locali, accettano l’introduzione di un numero limitato di gap, se questi sono utili ad estendere ulteriormente i match trovati. Blast è un package che include diversi programmi specificamente adattati per la ricerca di similarità tra sequenze aminoacidiche o nucleotidiche. Inoltre, nello stesso package, sono inseriti programmi che, accoppiando traduzione e ricerca di similarità, permettono di comparare sequenze query aminoacidiche con banche dati di acidi nucleici e viceversa. Infine, il programma tblastx, consente di comparare seuqenze nucleotidiche tra loro, tenendo conto della traduzione nei sei frames di entrambe le sequenze. BlastP: cerca similarità in una bd di proteine a partire da una query aa BlastN: cerca similarità in una bd nucleotidica a partire da una query di nc BlastX: cerca similarità in una bd di aa a partire da una query di nc (dopo aver tradotto la query in tutte le possibili fasi di lettura) tBlastN: cerca similarità in una bd nucleotidica a partire da seq aa (traducendo tutte le seq della bd) tBlastX: cerca similarità in una bd nucleotidica a partire da una query nc (traducendo entrambe) E’ usato per scoprire se la propria query è codificante, ma a differenza di altri algoritmi non incorre nel problema della ridondanza del genoma (sequenze nucleotidiche presenti in più geni) ed estende la ricerca anche alle EST, ossia le sequenze espresse di cui non si conosce il prodotto proteico. In questo modo si scopre se la query può essere codificante anche se non ha ancora proteina associata.
BLAST è meno sensibile di FASTA, perché potrebbe eliminare nel primo stadio frammenti importanti, ma che non rispettano il requisito minimo previsto; da questo punto di vista FASTA è più flessibile, potendo utilizzare 'parole' più brevi.
La comparazione di una sequenza con le numerose sequenze di una bd ha reso molto importante il problema dell'analisi statistica dei risultati. Il grado di similarità di una sequenza non è di per sé significativo, se non è considerato in rapporto alla probabilità di trovare in maniera casuale quella specifica sequenza in quella specifica serie di dati. Per questo motivo, oggi programmi come FASTA e BLAST associano alla lista degli allineamenti trovati alcuni parametri necessari a valutare la significatività statistica Tali parametri sono derivati dal confronto degli allineamenti trovati con altri allineamenti ottenuti utilizzando un set di query casuali (ottenute randomizzando le posizioni dei vari residui) confrontate con un sottoinsieme casuale della banca dati
Z-Score : E' il numero di deviazioni standard che separano l'allineamento trovato con quelli casuali Il punteggio ottenuto è significativo se cade al di fuori di una distribuzione casuale (Z-score alto) Z-score della query: punteggio query - Mcasuale / Dcasuale
E-value: Corrisponde al numero di match, di punteggio uguale o superiore a quello trovato, che si potrebbero ottenere per caso, cioè effettuando la ricerca nella stessa bd utilizzando una query casuale I valori del parametro e-value variano tra numeri anche molto elevati e tendono asintoticamente a 0 al crescere del punteggio (score) Più basso è il l'e-value più il punteggio è significativo
P-value: Corrisponde alla probabilità di trovare per caso un match di punteggio uguale o superiore a quello trovato Essendo una probabilità, può assumere al massimo il valore di 1. Minore è il valore di p-value e maggiore è l'evidenza contro l'ipotesi nulla (che io trovi per caso quel match) Il valore p-value indica la probabilità di ottenere un risultato pari o più estremo di quello osservato supposta vera l'ipotesi nulla. Data un’ipotesi nulla (H0), questa la si può accettare o rifiutare in base al valore del p value. Il p-value non è la probabilità che l'ipotesi nulla sia vera alla luce dei dati
Ad es: Voglio verificare la maggiore efficacia di un farmaco contro la cefalea rispetto ad un farmaco già utilizzato Per misurare l’efficacia si può far riferimento al rapporto tra numero di pazienti migliorati con ciascuno dei due farmaci ed il numero totale di pazienti trattati. Se è noto (attraverso dati storici, ad esempio) che il farmaco impiegato da tempo ha una percentuale di migliorati p0, l’obiettivo dello studio è quello di verificare se la percentuale p1 di migliorati con il nuovo farmaco è maggiore di p Nuovo farmaco: p1= pazienti migliorati / totale pazienti Vecchio farmaco: p0 = pazienti migliorati /totale dei pazienti Voglio dimostrare che p1 > p
L'ipotesi nulla (Ho) è che la percentuale di pazienti migliorati con il nuovo farmaco non sia diversa da quella dei pazienti migliorati con il vecchio farmaco (p1 = p0) L’ipotesi alternativa (H1) è che il nuovo farmaco è più efficace (p1 > 0) In genere, l’ipotesi nulla H0 fa riferimento ad una situazione che si vorrebbe negare (assenza di efficacia di un trattamento, assenza di un cambiamento prima e dopo un intervento), mentre la sua alternativa, l’ipotesi H1, è proprio quella circostanza che si vorrebbe fosse vera L'ipotesi nulla viene rifiutata se il valore di p-value è minore o uguale al livello di significatività (da noi fissato)La logica è che se H0 fosse vera, risulta poco probabile che il rapporto p sia molto più grande di un particolare valore “soglia” (critico) pc (tale probabilità esprime l’errore che si è disposti a commettere rifiutando l’ipotesi nulla e, di conseguenza, accettando come vera l’ipotesi alternativa di maggiore efficacia del nuovo farmaco rispetto al preesistente)
Matrice posizionale di pesi: Tabella in cui le righe corrispondono ai 20 amminoacidi e le colonne corrispondono alle posizioni del motivo che vogliamo rappresentare La matrice viene costruita a partire da un gruppo di proteine allineate e riportando, per ogni posizione, la frequenza con cui compare ciascun amminoacido , ovvero quanto un aa è stato trovato in quella posizione nell'allineamento rispetto a gli altri aa
(essendo una frequenza il punteggio và dà 0 a 1) Guardando la matrice di pesi è possibile vedere quali aa sono ammessi in ogni posizione (quelli non permessi non ci sono proprio) e quali quelli di quelli ammessi sono avvantaggiati rispetto ad altri (hanno un valore maggiore)
La matrice di pesi può essere utilizzare per la ricerca di ulteriori elementi della famiglia allineandola con la collezione di sequenze da cercare. Ciascuna sequenza da esaminare viene allineata con la matrice e, per ciascuna posizione, viene assegnato il punteggio corrispondente al valore dell’amminoacido all’interno della matrice ( La sequenza viene fatta scivolare di una posizione sulla matrice e ogni volta si ricalcola lo score) Se la matrice è in forma logaritmica il punteggio totale è dato dalla somma dei punteggi per ogni singola posizione Le sequenze che ottengono un punteggio superiore ad una soglia stabilita, possono considerarsi parte della famiglia (per un aa mai visto in una certa posizione possiamo usare il suo valore di similarità preso da una matrice di sostituzione)
Log-Odds: Si = log [(qi,a) / (pi)] qi,a: frequenza dell'aa i nella colonna a (osservata) pi: frequenza dell'aa nella famiglia considerata (attesa) Gli score degli aa nelle varie posizioni sono dati dal logaritmo della frequenza osservata nel multiallineamento rispetto alla frequenza attesa La frequenza attesa di un aa in una posizione è calcolata come se tutti gli aa possibili in quella posizione fossero presenti lo stesso numero di volte (1/20=0,005) Quindi gli aa che sono più frequenti in una posizione rispetto a quanto ci aspetteremmo per caso avranno valori positivi
Differenza tra matrici di sostituzione (pam e blosum) e matrice di pesi: Tra queste due matrici l'asse verticale è lo stesso (i 20aa), l'asse orizzontare no:
_- Nelle matrici di sostituzione vi sono i 20aa: ci dicono i punteggi da attribuire quando una aa è appaiato con un altro aa in un allineamento (sono matrici aa specifiche)
PSI BLAST (si legge psai) E' una variante di Blast che effettua ricerche di similarità in banche Psi-Blast a partire da una sola sequenze ed attraverso cicli ripetuti, ci permette di trovare all'interno di una banca dati il maggior numero possibile di sequenze omologhe. A partire da una sequenza query effettua un primo ciclo con blast (usando una matrice di sostituzione standard come Blosum 62) e recupera dalla bd un set di sequenze simili A partire dal gruppo di sequenze trovate costruisce una matrice di punteggio posizione-specifica ( PSSM ) (simile alla matrice di pesi) con la quale effettua una nuova ricerca in bd Dal nuovo set di sequenze genera una nuova PSSM e procede di nuovo Quindi il programma effettua cicli successivi in cui vengono utilizzate PSSM generate a partire dai risultati del ciclo precedente. L’esecuzione finisce quando è stato effettuato il numero predeterminato di cicli (di solito 10), oppure viene interrotta anticipatamente se, ad un ciclo, vengono trovate le stesse sequenze del ciclo precedente. Grazie a questo meccanismo, PSI-Blast può essere molto più sensibile di Blast e riesce a identificare sequenze che sfuggirebbero all’analisi con Blast perché il centro della ricerca non è più la query ma diviene in centro della famiglia
Anche questo tipo di matrici non è sufficiente, perché tiene conto di gruppi ristretti di proteine che sappiamo essere relazionati tra loro, mentre, in genere, in tutte le proteine anche non correlate per funzione possiamo riconoscere dei pattern, dei motivi, che sono comuni a tutte, come, ad esempio, le alfa eliche e i foglietti beta, oppure combinazioni di questi, e domini. Oppure, semplicemente, possiamo non conoscere proteine simili alla nostra e quindi essere sprovvisti del pool sul quale costruire le nostre matrici di pesi.
Schema HMM (hidden markov model) Modello probabilistico , derivante dal confronto di proteine appartenenti alla stessa famiglia, utilizzabile per la ricerca di nuove proteine che rientrano nello stesso modello e quindi nella stessa famiglia di proteine Quindi se io ho scoperto una proteina e voglio vedere a quale famiglia appartiene vado a fare una ricerca in una banca dati che contiene questi modelli e verifico se ed in quale modello rientra la mia proteina Se una sequenza si allontana dal modello di Markov con cui viene confrontata la probabilità che faccia parte del set di sequenze, che hanno generato il modello, è bassa In questo modello allineamento viene descritto come una successione di stati diversi che sono del tipo “match”, “inserzione”, e “delezione” Per ciascuno di questi stati vengono calcolate le probabilità per ciascun aa, l'insieme delle probabilità costituisce un modello HMM Questa tecnica permette di tenere conto anche della relazione di successione tra gli aminoacidi, a differenza di quelle precedenti, per la ricerca di nuovi membri della stessa famiglia.
Pscan: E' un programma che confronta la sequenza della proteina quey con il contenuto del database PRINTS (banca dati di motivi funzionali) La proteina viene descritta come una sequenza di motivi in questo modo posso verificare se e quali motivi contenuti nella banca dati sono presenti nella mia sequenza. La ricerca mi dà come risultati una serie di pattern che sono presenti nella mia proteina, vi sono varie classi di matches: Pfam (Protein families database of alignments and HMMs) è una banca dati di famiglie di proteine ( collezione di allineamenti multipli e di HMM) permette il confronto tra una sequenza query ed intere famiglie di proteine in questo modo si può sapere subito se la proteina analizzata mostra caratteristiche affini a gruppi già definiti Si divide in due parti:
3. Costruzione del modello Il programma di modelling organizza la struttura tridimensionale della proteina target seguendo il backbone di riferimento (utilizza le coordinate della catena principale della proteina stampo) Se il backbone di riferimento è uno solo, perchè abbiamo trovato una sola proteina simile alla nostra la cui struttura nota il processo è semplice, vi è una corrispondenza di aa 1:1 quindi si pone l'aa della target esattamente nella stessa stessa posizione in cui si trova quell'aa nella sequenza di riferimento se i backbone di riferimento sono vari si fà una media di questi backbone (cioè una media delle posizioni degli amminoacidi) Poi vengono aggiunte le regioni variabili (per lo più i loops) che connettono le regioni di struttura secondaria. I loops possono essere anche molto diversi dal template, in quanto ospitano la maggior parte delle inserzioni, delezioni e sostituzioni del modello in costruzione Se il template non da’ informazioni strutturali sui loops, occorre costruirli. Il metodo più usato consiste nel cercare in banca dati PDB frammenti (loops) che possono essere accomodati nel modello in costruzione Vengono aggiunte le catene laterali: per i residui non mutati si copiano gli angoli della catena dell’amminoacido del templato, per i residui non conservati si usano le librerie di “rotameri” (cioè possibili confomeri delle catene laterali dei residui) contengono le conformazioni più probabili per ciascun amminoacido in funzione della conformazione del backbone. 5. Analisi Il modello completo viene sottoposto a una fase di analisi per valutarne l’attendibilità.
Per costruire modelli per omologia di proteine che abbiano una alta identità di sequenza con una proteina a struttura nota, si può utilizzare il server automatico SwissModel Un programma come questi è organizzato a moduli ognuno con un compito diverso, per esempio Swiss model affida la procedura di search a blastp2, l’alignment a sim, poi crea i file di configurazione per protmod (creaiamo un file con tutta una serie di parametri) e promodll (modulo di modelling) genera le strutture 3d, infine gromos96 fa un lavoro di rifinitura, ossia minimizzazione energetica della struttura, per cui modifica il folding in modo da ottenere la conformazione energeticamente più favorevole.
Applicabilità Il modello ricavato tramite homology modelling è un modello che può essere più o meno vicino al ripiegamento che la proteina assume in vivo Dato che non possiamo essere sicuri dell’equivalenza del modello ricavato per hom mod con quello vero, ne consegue che dobbiamo stare attenti a non abusare del sistema per ricavare informazioni che non si possono ottenere da esso. Possiamo ottenere 3 tipi principali di modello:
Fmodels E’ un database che archivia anche strutture prodotte da homology modelling e non solo quelle derivate da cristallografia. Questo vuol dire che la tecnica è ritenuta abbastanza affidabile da archiviarla e da utilizzare come modello di partenza sempre e comunque consapevoli che si tratta di una probabile struttura e non di veri e propri modelli come quelli di PDB che sono “supersperimentali”.
THREADING o FOLD RECOGNITION Nel caso in cui sono siano disponibili proteine che abbiamo una significativa similarità di sequenza con la proteina target mancano i dati necessari per sfruttare l'homolgy modelling quindi bisogna utilizzare qualche altre strategie, una di queste è il threading o fold recognition E' noto che ci sono proteine che esibiscono lo stesso fold anche in assenza di una significativa similarità di sequenza, ed è noto che il numero dei fold in natura è relativamente limitato, quindi avendo a disposizione una banca dati di fold disponibili in natura si può andare ad allineare una sequenza proteica (1D) con dei fold (3D). Ovviamente tale sistema è funzionale solo per parti piccole della proteina. Ogni fold viene descritto in termini di intorno di ogni posizione sul fold stesso L'intorno di ogni posizione viene identificato con:
AB INITIO PREDICTION I metodi ab-initio cercano di costruire modelli tridimensionali da zero, basandosi su principi fisici senza ricorrere al confronto della sequenza con altre ad essa simili Questi metodi partono dal presupposto che la struttura nativa di una proteina corrisponde ad un sistema in equilibrio termodinamico ad un minimo di energia libera. In generale questi metodi simulano il ripiegamento della proteina cercando il fold a più bassa energia. Tale metodo, è meno affidabile rispetto all’homology modelling ma può essere utilizzato molto validamente proprio per rifinire quelle strutture semi-definite che si ottenevano da questo.
PREDIZIONE DELLA STRUTTURA SECONDARIA Si ricorrere al riconoscimento di pattern riguardo le strutture secondarie, basandosi su tutte le nozioni di chimica organica e biochimica. [La catena polipeptidica primaria è il risultato della formazione di legami peptidici tra il gruppo carbossilico di un amminoacido e il gruppo amminico dell’amminoacido che lo segue nella catena; poichè il legame peptidico è planare, le uniche rotazioni possibili lungo la catena polipeptidica, sono quelle che descrivono gli angoli noti come phi (N-Calfa) e psi. (Calfa-C). Per ciascun amminoacido, non tutte le combinazioni di angoli sono però possibili, in quanto alcune sarebbero causa di collisioni tra catene laterali di amminoacidi successivi (ingombro sterico). Alcune combinazioni di angoli sono più comunemente associate a determinate conformazioni secondarie della catena polipeptidica] La formazione degli elementi di struttura secondaria dipende in gran parte dalla loro stessa composizione aa, ma dipende anche dal contesto strutturale in cui gli elementi sono immersi I metodi per la predizione della struttura secondaria sono:
- metodo statistico: che si basa sull'analisi statistica della composizione di residui delle strutture secondarie presenti nel database PDB; vi sono particolari aa che si ritrovano spesso in segmenti di proteina con ripiegamento ad elica alfa o in foglietti beta. Per cui la sola presenza di aminoacidi che prediligono l’una o l’altra struttura secondaria, permette di effettuare predizioni anche relativamente affidabili. - metodo stereochimico : tiene conto delle proprietà idrofobiche, idrofiliche ed elettrostatiche considerando il loro ruolo nel folding; si è visto che aminoacidi idrofilici si dispongono preferenzialmente nelle aree della molecola a contatto con l'acqua (superficie esterna) mentre il ritrovamento di aa drofobici è indice di tratti transmembrana o di aree interne della molecola
Si cercano le regioni di overlap tra le reads che ne fanno presupporre la loro contiguità, in questo modo vengono identificate coppie di reads consecutive Dall'assemblaggio otteniamo i contings ossia sequenze di cloni contigui La procedura di assemblaggio deve tenere conto della polarita’ della sequenza e del fatto che il sequenziamento può avvenire in entrambe le direzioni. Uno dei programmi disponibili per l'assemblaggio delle reads è Phrap che valuta tutte le possibili sovrapposizioni di sequenza mediante la comparazione delle estremità dei frammenti In pratica il programma allinea le sequenze ed identifica tutte le parole di una certa lunghezza minima perfettamente allineate (come Fasta), successivamente analizza la lista di parole allineate selezionando gli allineamenti più significativi L’assemblaggio inizia a partire dagli allineamenti più significativi e procede a mosaico costruendo tratti contigui composti da più letture. Per arrivare a trovare un numero di overlap sufficienti ad assemblare i contings bisogna sequenziare un numero di basi pari a diverse volte la sequenza completa La copertura (coverage) corrisponde a quante volte ogni base è stato coperta, può essere espressa anche in termini di genomi equivalenti; una copertura di 2x indica che il numero totale di basi sequenziate è 4 volte quello del genoma
4. Unione dei contings (chiusura dei gap): La determinazione dell'intera sequenza in esame richiede l'unione di tutti i conting Avere un contig significa conoscerne esattamente la sequenza per cui si possono costruire sonde che ibridino con le estremità di ciascun contig. Andando poi a screenare la nostra libreria con queste sonde sarà possibile individuare il clone capace di unire 2 contig tra loro Per esempio: Abbiamo 2 contig (4e1) separati da un gap, costruiamo delle sonde per le loro estremità e screeniamo la nostra libreria di frammenti.Vediamo che l'estremità 3' del contig 4 viene ibridata dal probe 7 e l'estremità 5' del contig 1 dal probe 4. Abbiamo poi un frammento, il numero 43, che ha l'estremità 5' che ibridizza il probe7 e la 3' il probe 4. Questo significa che l'estremità 3' del contig 4 e quella 5' del frammento 43 sono lo stesso pezzo di DNA, e un discorso simile si può fare con l'altra estremità. In conclusione il frammento 43 è quello capace di unire i conting 1 e 4, e abbiamo così riempito un gap. Oppure si possono utilizzare oligonucleotidi con sequenze identiche alle estremità dei contig Consed è un programma sviluppato per la fase di finishing durante la quale l'operatore, visualizzando i risultati dell’assemblaggio, potrà eseguire modifiche all’allineamento automatico e valutare la qualità del sequenziamento ed eventualmente decidere la ripetizione di regioni mancanti o di bassa qualità.
Limiti del metodo shotgun: Il metodo shotgun è efficace per il sequenziamento di piccoli genomi (batter,virus), ma per il sequenziamento di genomi di dimensioni più grandi pone diversi problemi di assemblaggio:
La presenza di sequenze ripetute in un genoma è un grosso problema nella metodica shotgun e più in generale nella ricostruzione dei contigs. Oltre tutto tali sequenze sono particolarmente frequenti in alcuni genomi, e anche quello umano ne presenta molte. Pensiamo ad esempio ad una tandem repeat, abbastanza lunga da non poter essere coperta da 1 solo frammento. Avremo quindi molteplici frammenti che rappresentano vari punti distanti nella repeat, ma essendo tutti uguali per sequenza sarà per noi impossibile capirlo, perché si sovrapporranno tutti tra loro. Quindi si
corrono grandissimi rischi di sovrastimare o sottostimare la lunghezza della regione ripetuta. Se poi pensiamo che le stesse repeat possono essere presenti in punti diversi del genoma, su cromosomi diversi, ecc è facile immaginare che si possono collegare tra loro i contig sbagliati. Oppure regioni comprese tra 2 uguali larghe repeat possono essere “escisse” perché le 2 repeat essendo uguali overlappano.
Sequenziamento di genomi eucariotici Metodo shotgun: Per sequenziare genomi di grandi dimensioni con l'approccio shotgun bisogna creare una impalcatura (scaffold) di marcatori da utilizzare come canovaccio ( mappa gnetica ) Frammento il DNA in frammenti di grosse dimensioni che vengono poi clonati in vettori BAC ed amplificati (otteniamo una libreria di cloni BAC) Grazie alla mappa del genoma conosciamo la localizzazione di ciascun clone BAC nel genoma Si selezionano un numero minimo di cloni in grado di ricoprire l'intero genoma con sovrapposizione minima E solo dopo si effettua il sequenziamento shotgun dei cloni , quindi la sequenza contenuta in ciascun clone viene frammentata, i frammenti vengono sequenziati, infine si fà l'assemblaggio dei contings e la ricostruzione della sequenza del frammento di quel clone di cui è nota la posizione
Chromosome walking: Si estrae il DNA, lo si frammenta cercando di ottenere dei grossi frammenti (200kb o anche di più), che vengono poi clonati all’interno di vettori adatti come YAC Conoscendo l'estremità del vettore, disegno un primer e vengono sequenziate le prime 1000 basi da queste disegno un altro primer e sequenzio le successive 1000 basi e così via fino a sequenziare tutto il frammento Dei probe al 3' di ogni frammento vengono utilizzati per identificare la successione dei frammenti per overlap di ibridazione. Il sequenziamento procede da un lato all'altro del sito di inserzione che sarà identificabile grazie a un marker. Questo metodo è molto affidabile, ma ha grossi limiti legati al fatto che non si può procedere lungo il cromosoma senza conoscere prima la sequenza del frammento precedente, pertanto è un sistema molto lento. Lo shotgun rispetto al walking cromosomico tende a velocizzare il processo, frammentando il DNA genomico in piccoli pezzi direttamente sequenziabili, quindi vengono sequenziati in contemporanea tanti piccoli pezzi che vengono poi assemblati
STS mapping Per il sequenziamento del genoma umano sono state identificate una serie di sequenze di facile rilevazione definite STS. Si tratta di piccole sequenze caratterizzate dal solo fatto di essere presenti in