Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli

Trascrizione delle videolezioni caricate dal prof su e-learning, Dispense di Bioinformatica

Ho trascritto le lezioni caricate dal professore durante la pandemia e anche i tutorial in cui spiega come si usano i principali programmi che chiede di utilizzare durante l'esame orale

Tipologia: Dispense

2021/2022

In vendita dal 04/01/2023

chiara-corrente-1
chiara-corrente-1 🇮🇹

8 documenti

1 / 24

Toggle sidebar

Documenti correlati


Anteprima parziale del testo

Scarica Trascrizione delle videolezioni caricate dal prof su e-learning e più Dispense in PDF di Bioinformatica solo su Docsity! MODULO 1 BIOINFORMATICA 1.BANCHE DATI Contengono i dati che la bioinformatica utilizza -cos’è una banca dati? É una collezione di dati organizzati (rubrica), è importante che questa sia organizzata in modo che questi dati possano essere recuperati velocemente e facilmente. Una banca dati più sofisticata potrebbe essere un foglio excel La crescita esplosiva dei dati biologici ( come sequenze nucleutidiche) ha posto il problema di come riuscire a raccoglierli in modo da non perderli , e soprattuto in modo che questi possano essere consultati da chiunque Si sono creati quindi gli archivi di dati computerizzati Banche di dati biologiche ( bibliografici , tassonomici , linee cellulari..) In questo corso parliamo di banche dati molecolari, ossia banche dati di sequenza e struttura di macromolecole biologiche (acidi nucleici , proteine.. polisaccaridi) FUNZIONI -archiviare le informazioni e fare in modo che sia facilmente recuperabile -garantire la conservazione dell’informazione -permettere l’accesso facile e rapido ai dati ( la banca dati non deve essere consultabile solo da chi è informatico ma deve raccogliere i dati in modo che chi li consulta lo possa fare senza particolari difficoltà) LA BANCHE DATI MOLECOLARI SONO DIVISE IN -banche dati primarie -banche dati secondarie -specializzate (Classificazione di comodo , molte banche dati posseggono tutte e tre le caratteristiche) 1.Le banche dati primarie sono quelle che per prime raccolgono i dati prodotti dai laboratori , queste banche dati -organizzano -controllano -distribuiscono Possono essere divise in -banche di dati “grezzi” -banche di dati “curati” Spesso un dato risulta appresentato più volte con un nome diverso, per cui magari all’interno di una stessa banca data abbiamo due elementi che però rappresentano la stessa sequenza per cui questo complica un pochino la ricerca dei dati Inoltre le banche dati possono contenere errori che possono essere anche propagati. 2.le banchettai secondarie sono quelle che contengono una rielaborazione dell’informazione contenuta nelle primarie secondo particolari criteri analitici. (Ristrutturazione dei dati) 3.le banche dati specializzate banche dati che si rivolgono ad un particolare settore della ricerca scientifica, quindi contengono un sottoinsieme di dati rilevanti per la comunità scientifica ( sequenze di lividi , immunoglobulina , protesi , si sono banche dati specializzate che contengono solo sequenze genomiche virali) BANCHE DATI NUCLEODITICHE PIU’ IMPORTANTI (primarie) - Genbanck oggi gestita da una sorta di istituto superiore di sanità NCBI ( national center of biotechnological information americana) - Ref seq (NCBI)—> non è primaria è la forma più elaborata della genbanck - Banca dati europea ENA localizzata fisicamente in Inghilterra (ex EMBL) - DDJB banca dati giapponese BANCHE DATI PROTEICHE PIU’ IMPORTANTI ( primarie) - Uniprot ( che ha racchiuso al suo interno la SWISS-PROT e la NBRF) Per di dati cristallografici i laboratori di cristallografia o di spettroscopia o di crioscopia elettronica risolvono le strutture cristallografiche attribuiscono le coordinate che vengono poi immagazzinate nella Proteina Data Banck (PDB) da qui poi in banche dati secondarie. GENBANCK - Istituita nel 1982 , contiene sia le sequenze nucleotidiche (DNA e mRNA) da varie fonti e anche le relative traduzioni in proteine delle sequenze codificanti (GenPept) - Ci si accede da NCBI - In genere l’informazione riguardante le sequenze è visualizzata in forma testuale - Le sequenze sono conservate in un particolare formato. - Il file di testo che contiene le informazioni della sequenza in genere contiene: 1. Un’intestazione e le annotazioni 2. La sequenza Quindi il file contenente la sequenza non contiene solo questa ma anche delle annotazioni cioè tutto ciò che spiega cos’è la sequenza , da che organismo viene ,quando è stata depositata, com’è stata determinata. Spesso queste annotazioni sono inutili per cui esiste il formato. FASTA che serve per compattare l’informazione associata a ciascuna sequenza. Anche il formato FASTA presenta due zone , solo che le annotazioni sono compresse in un’unica linea denotata dal segno > per cui quando il programma trova come primo carattere questo simbolo il programma sa che quella linea non contiene la sequenza ma è annotazione. Sottostante alla linea di annotazioni c’è la sequenza vera e propria in codice monoletterale sia per acidi nucleici che per proteine. GenBank è una manca dati “sporca” che contiene quindi ridondanze per cui è stato avviato un progetto che si chiama RefSeq che consiste nella creazione di una banca dati, tendenzialmente non ridondante in cui ci sia una convalidazione dei dati e risulta curata da parte di NCBI. Per cui spesso vedremo che un dato che otteniamo interrogando la genbank (tradotta in GenPet) è un dato che in realtà proviene dalla RefSeq di qualità superiore rispetto a quella della gene Bank Le sequenze contenute nella Genbank sono caratterizzate da un codice detto codice di accessione che è un codice di indentificazione che viene assegnato alla sequenza quando questa viene depositata in banca dati, il codice di identificazione presenta due lettere un _ e un codice numerico attaccato ili codice iniziale a due lettere indica il tipo di sequenze di cui stiamo parlando per esempio i codici NP indicano una proteina i codici XP indicano una proteina “prevista”ossia che non è stata verificata ( vedi slide) EMBL Controparte europea trasferita in Inghilterra Queste banche dati contengono le stesse informazioni, per cui costituiscono un unicum all’interno del quale le sequenza vengono scambiate in modo che ciascuna banca dati abbia un unico contenuto anche se al loro interno ciascuna banca dati presenta un suo formato in modo da rappresentare l’informazione e il dato. PIR una delle prime banche dati proteiche, che all’inizio PERCHE’ CONFRONTARE SEQUENZE ? - studiare la parentela evolutiva che ci serve per capire se geni e proteine sono funzionali o no , ossia se le proprietà funzionali o strutturali di una macromolecola sono scritte nella sua sequenza - Il confronto tra due sequenze biologiche evidenzia le caratteristiche conservate o modificate durante l’evoluzione LE SEQUENZE SONO RAPPRESENTATA SOTTO FORMA DI STRINGHE DI LETTERE questo è il motivo per cui l’analisi delle stringhe è stata utilizzata per risolvere il problema COME SI CONFRONTANO DUE SEQUENZE? Allineandole ,tuttavia allineare due sequenze non è qualcosa di banale Come si procede: partendo da due sequenza di cui una già caratterizzata e una ignota , se sospettiamo che possano essere imparentate le confrontiamo allineandole , mi chiedo quindi SONO VERAMENTE OMOLOGHE?per rispondere a questa domanda effettuo un test statistico Se la risposta è si vado ad indagare le regioni simili e quelle differenti se la risposta è no , non posso concludere nulla COSA SIGNIFICA ALLINEARE DUE SEQUENZE? Allinearle significa giustapporle in modo tale da far coincidere il maggior numero di lettere identiche ( o simboli = amminoacidi o nucleotidi), in alcuni casi per far coincidere il maggior numero di lettere dovremmo ammettere delle inserzioni e delle delezioni. Le posizioni che si appaiono sono discendenti della posizioni nella sequenza antenata . L’allineamento ci indica: - il numero minimo di mutazioni che è necessario postulare per trasformare ,durante l’evoluzione, una sequenza nell’altra (principio max parsimonia) - Il grado di somiglianza complessivo tra le due sequenza - La posizione di queste somiglianze ATTENZIONE Le proteine sono oggetti complessi , molte proteine evolvono anche per fusione dei rispettivi geni , geni che codificano per domini individuali , si possono fondere e quindi produrre una proteina chimerica . Sono note molte proteine dette multi-dominio che contengono domini di geni fusi , naturalmente i domini seguono delle vie evolutive indipendenti per cui vanno trattati in maniera indipendente uno dall’altro quando si confrontano proteina diverse , quindi quello che succede è che molte proteine possiedono molti domini e confrontando due proteine differenti è possibile che dei tanti domini di cui sono composte solo uno risulti omologo , quindi il confronto tra queste due sequenze deve essere fatto in maniera opportuna , per cui se confronto l’intera sequenza , la somiglianza potrebbe sfuggirci QUANDO CONFRONTIAMO DUE SEQUENZE DOBBIAMO PORCI DUE DOMANDE DIFFERENTI? - qual è l’allineamento di due intere sequenze? L’allineamento globale in cui vengono allineate le intere sequenze proteiche dall’N al C terminale - Qual è la parte più somigliante tra le due sequenze? Allineamento locale , vengono considerate solo le zone con la più alta somiglianza ; si possono avere uno o più sub-allineamenti Generalmente quello che si fa è prima un allineamento locale e successivamente un allineamento globale e si vede se coincidono. IN GENERALE L’ALLINEAMENTO LOCALE NON E’ UN SOTTOINSIEME DELL’ALLINEAMENTO GLOBALE PER QUESTO E’ IMPORTANTE CHE VENGANO TENUTI DISTINTI L’allineamento locale è quelo più significativo che mi da l’indicazione più solida perché ovvia il problema delle proteine multi dominio TECNICHE DI ALLINEAMENTO - sequenze lunghe non possono essere allineate a mano. Necessitano di metodi automatici - Tre metodi utilizzati : - 1. metodi della matrice a punti - 2. programmazione dinamica ( metodo più preciso ,rigoroso e utilizzato) - 3.metodo delle n-ple (metodi rapidi che sono più approssimati e si utilizzano nella ricerca di somiglianze nelle banche dati) —> FASTA, BLAST COS’E’ L’ALGORITMO? Sequenza di istruzioni che portano alla risoluzione di un problema a partire da certi dati di ingresso. COME SI MISURA QUANTITATIVAMENTE LA SOMIGLIANZA TRA DUE SEQUENZE? La percentuale di identità , una volta che si sono allineate le due sequenze si contano quante posizioni contengono amminoacidi identici e si fa il rapporto tra numero di posizioni identiche su numero di posizioni totali. 1.METODO DELLA MATRICE A PUNTI Medoto più semplice , scarsamente utilizzato , ci introduce all ragionamento necessario per operare allineamento tra due sequenze , deriva da metodi già utilizzati dalla linguistica. QUESTO METODO , PRODUCE UNA MAPPA VISIVA , è un metodo tuttavia a bassa risoluzione , per cui non è un metodo sufficiente per esempio per delineare i confini delle zone che si somigliano . Essendo una matrice contiene tante caselle date dall’incrocio tra riga e colonna , la matrice di punteggio attribuisce un puntino alla casella al livello del quale corrisponde una lettera identica sia su riga che su colonna , se non c’è identità non viene inserito il punto nella casella. Se nella matrice appare una diagonale principale posso ipotizzare di aver a che fare con due elementi identici , oltre la diagonale principale anche in un confronto della stessa parola si può osservare la presenza di altri punti che non sono dovuti ad un’omologia ma al fatto che usiamo un alfabeto finito , che contiene un numero determinato di simboli e quindi è molto probabile che vengano ripetuti dei simboli . Con questo metodo si posso identificare , inserzioni i , duplicazioni e trasposizioni. Tuttavia questo metodo , applicato su sequenze lunghe , le matrici tendono ad essere molto “rumorose” per cui questo metodo semplice va “sistemato” in modo da filtrare i punti che non servo ; esistono per questo una serie di filtri statistici che servono per eliminare il rumore di fondo ed esaltare le porzioni significative : - confronto per segmenti (singole finestre) e non per singoli residui - Per il confronto di segmenti è necessario utilizzare soglie di stringenza. ( ossia bisogna inserire una soglia) - Bisogna stabilire che cosa si intende per somiglianza e istaurare quindi una misura di questa che permetta di confrontare i simboli CONFRONTO PER FINESTRE O SEGMENTI Invece di inserire un puntino per ogni cella , confronto il primo segmento di 5 residui della riga con il primo segmento di 5 residui della colonna , a questo punto interviene la soglia , stabilita precedentemente , per esempio stabilisco che se i primi segmenti hanno almeno 3 residui comuni su 5 allora li considero simili , allora metto un puntino al centro dei due segmenti , in questo modo ho tolto dell’informazione che poteva essere ridondante e confondere. Mi sposto di un residuo e confronto nuovamente i segmenti che trovo e così via ripeto l’operazione ( prima sposto i segmenti sulla riga e li confronto con un singolo segmento della colonna e poi faccio il contrario) MATRICE DI PUNTEGGIO Sistema di misura della somiglianza ( che si sostituisce al sistema binario 0 1 ), in questo modo graduo le differenze tra gli amminoacidi , utilizzo un sistema numerico che mi permette di capire quanto un certo amminoacido può essere sostituito da un altro amminoacido durante l’evoluzione , per esempio amminoacidi idrofilci possono essere facilmente sostituiti da altri amminoacidi idrofilici. Per esempio confrontando a finestre una sequenza do un punteggio a ciascun elemento e poi faccio la media , e do un valore di somiglianza alle due finestre che ho analizzato. APPLICANDO QUESTI FILTRI SI RIESCONO AD AVERE DELLE MATRICI MOLTO PIU’ LEGGIBILI (Quindi i filtri applicabili sono divisione di lettura in finestre e non in residui , soglia di stringenza ossia una soglia sopra la quale i due segmenti sono considerati simili ) Se osservo in una matrice filtrata delle diagonali parallele alla diagonale centrale significa che le proteina presentano sequenze simili. ALLINEAMENTO GLOBALE Matrice di sostituzione amminoacidi , contengono dei punteggi che rappresentano la probabilità che durante l’evoluzione un amminoacido venga sostituito da un altro amminoacido , possiamo quindi attribuire ad un allineamento un punteggio che è la somma dei punteggi di allineamento delle singole coppie di amminoacidi posti nel registro Come vengono costruite le matrici di punteggio? Contengono la misura quantitativa della divergenza di proteine omologhe. In ciascuna casella viene espressa la probabilità che due proteine siano derivanti da organismi imparentati Metto insieme proteine omologhe allineo le sequenze osservo sostituzioni amminoacidi inserisco in matrice calcolo probabilità di sostituzione trasformo in matrice di punteggio Prima famiglia di matrici pubblicata è stata le pam ( Point accepted mutation) Si assume che la probabilità che A—>B è uguale alla probabilità che B—>A La probabilità di osservare una mutazione tra due sequenze dipende da quanto sono vicine a livello filogenetico le sequenze che sto osservando La matrice di punteggio può essere realizzata utilizzando differenti programmi come Dotlet e CoGE ( quest’ultimo programma è utilizzato per confrontare interi genomi) 2.MATRICI DI PUNTEGGIO - Quantificano quali sono gli amminoacidi che devono combaciare all’interno di un allineamento. - Riportano la tendenza che un amminoacido A sia sostituito da B durante l’evoluzione divergente di proteine omologhe si assume che tale tendenza sia simmetrica per cui A—>B = B—>A LE MATRICI DISPONIBILI - sono state proposte molte matrici calcolate in modi differenti - Quelle più utilizzate al momento sono le matrici della Dayhoff ( le cosiddette matrici PAM) e le matrici BLOSUM - La logica con cui sono state calcolate è simile : si prende un insieme di proteine omologhe vengono allineate ( confronto di buona qualità poiché partiamo da proteine omologhe) a questo punto possiamo contare/calcolare le sostituzioni amminoacidiche e le inserisco in matrice questi numeri vengono convertiti in probabilità di sostituzione, queste probabilità vengono trasformate in probabilità relative di sostituzione che sono quelle che si trovano all’interno delle matrici di punteggio PAM e BLOSUM che vengono utilizzate per l’allineamento di sequenza e le ricerche in banche dati. - il primo problema affrontato è stato quello dell’allineamento globale ( allineamento che copre l’intera lunghezza delle sequenze, viceversa l’allineamento locale è quello che si focalizza su sottoinsiemi delle due sequenze che più si somigliano) - all’algoritmo chiediamo di darci l’allineamento, fra tutti quelli possibili, che ha il punteggio massimo possibile (def. importante) - Il punteggio misura il grado di somiglianza e noi cerchiamo un allineamento che ci dia la massima somiglianza possibile - Cerchiamo quindi l’allineamento che contiene il minor numero possibile di mutazione ( principio della massima parsimonia) ma se ci devono essere mutazioni vogliamo che ci siano quelle più probabili, quelle cioè che più probabilmente sono frutto di un percorso evolutivo Data una matrice di punteggio, possiamo definire punteggio di un generico allineamento, il valore ottenuto sommando i punteggi (presi dalla matrice) delle singole coppie di residui accoppiati nell’allineamento. PROCEDURA DI ALLINEAMENTO GLOBALE “Ingredienti” - Sequenza 1 - Sequenza 2 - Funzione di penalizzazione delle inserzioni/delezioni, in genere si utilizza una funzione che ha una forma tipo —> W=-12-4(x-1) dove x è la lunghezza della indel ( abbreviazione di un evento di mutazione/ricombinazione che può far parte di due classi: inserzione e delezione), la funzione di penalizzazione mi da un valore a una d’elezione o inserzione sulla base della lunghezza dell’indel (della lunghezza della mutazione) - Matrice di sostituzione amminoacidi. L’allineamento a mano non è possibile perché il primo passo per effettuare l’allineamento è elencare tutte le possibili combinazioni per una data sequenza che anche se di poche lettere comporta comunque un numero eccessivamente alto di combinazioni che quindi non rende possibile l’allineamento a mano. È quindi necessario utilizzare. Una procedura che ci consenta di comprimere questo spazio infinito in un ambito finito in cui muoverci COME FARE? - si utilizza una matrice - Scriviamo le due sequenze da allineare sulle cornici di una matrice - Ogni casella della matrice corrisponde effettivamente all’appaiamento di due residui quindi in questa matrice ci sono tutti i possibili appaiamenti tra coppie di amminoacidi. - Un possibile allineamento tra le due sequenze è definito una serie di caselle collegate tra loro all’interno di un percorso - Lo scopo che ci poniamo è quello di trovare il percorso “migliore” che ottiene cioè il punteggio massimo possibile Questo si fa grazie agli algoritmi di programmazione dinamica. All’interno della matrice inseriamo: - i punteggi di partenza (elementi fondamentali per calcolare l’allineamento), quindi all’interno di ciascuna cella abbiamo il punteggio preso dalla matrice che abbiamo adottato ( blosum62, PAM250) - Sulla riga e sulla colonna GAP c’è quello che chiamiamo sviluppo della funzione di penalizzazione delle inserzioni e delezioni ( nel caso visto a lezione la funzione è W=-12-4(x-1) quindi nella riga e colonna gap troviamo -12,-16,-20,-24,-28,-32,-36, -40), questi due elementi della matrice servono a far in modo che si possano prevedere inserzioni e d’elezione all’N- terminale dell’allineamento. - Il percorso che “tracciamo” cercando di ottenere il punteggio massimo possibile parte sempre dal N-terminale e finisce alle’C-terminale - Muoversi in diagonale sta a significare che per esempio nella tabella sopra M (metionina) si possa appaiare alla metionina (M) Per esempio dalla prima cella a sinistra posso muovermi in diagonale verso la prima cella che presenta un punteggio preso dalla matrice di punteggio di riferimento, quindi alla casella evidenziata (contenente il 6) ci posso arrivare in diagonale il valore di questa mossa si calcola sommando il valore della cellula di partenza con il valore della cellula di arrivo quindi un questo caso —> 0+6=6 ( ci sono altre mosse possibili per esempio raggiungere la casella evidenziato in orizzontale ossia in questo caso sto associando un GAP a questa metionina , quindi in questo caso per calcolare il valore della mossa devo utilizzare la funzione di penalizzazione che in questo caso è W= -12-4(x-1), poiché x=1 la funzione di penalizzazione mi da W=-12 quindi il valore di questa mossa orizzontale verso M è=-12-12= -24, la terza possibilità è uguale alla seconda ma in verticale e con lo stesso valore -24 Quindi il od migliore per arrivare alla cella è il primo. Il computer ha un’altra matrice in cui vengono memorizzati tutti i passaggi. Procedo quindi con la seconda cella (valore iniziale -2) della seconda riga Una volta calcolato il nuovo valore viene sostituito a -2 , ad esempio in questo caso al posto di -2 abbiamo sostituito -6 —> deriva da -12+6=-6 in quanto abbiamo applicato la funzione di penalizzazione ( in cui l’indel è 1 perché la lunghezza del segmento che è soggetto a d’elezione o inserzione è pari a 1 aa) (ricordandoci che il passaggio che va fatto è in orizzontale dalla casella con valore 6 in questo modo per ogni cella ci ricordiamo il percorso migliore) Stesso ragionamento per il resto delle celle fino ad arrivare al C-terminale. ALLINEAMENTO LOCALE - Si calcola in modo molto simile all’allineamento globale, tuttavia quando il valore della cella della matrice diventa negativo, è sostituito da 0 questo ovviamente presuppone di lavorare con matrici di punteggio che abbiamo punteggi positivi negativi e nulli. - Il punteggio viene calcolato a partire dalla casella che contiene il valore massimo attraverso un retro-percorso che finisce a una casella con valore 0 PENALIZZAZIONE DELLLE INDELS - i parametri delle funzioni di penalizzazione degli indels sono ricalibrati sulla matrice di punteggio scelta ( è il programma stesso a suggerire la funzione di penalizzazione da usare in base alla matrice di punteggio che abbiamo) - In genere i parametri ottimali sono consigliati dal programma di allineament - Poiché le inserzioni e le selezioni sono eventi evolutivamente rari, le funzioni di penalizzazione regolano il comportamento dell’algoritmo dinamico: impediscono l’inserzione di un numero irrealistico di indels ( a questo serve la funziona) - Quindi la funzione di penalizzazione costringe il programma a trovare deigli allineamenti che abbiano un significato biologico realistico - In base alla funzione di penalizzazione varia anche l’algoritmo UNA VOLTA ALLINEATE LE DUE SEQUENZE HO TROVATO UN CERTO PUNTEGGIO S Posso dire che le due sequenze sto omologhe oppure no? Funzione/strutture simili? Effettuo un test statistico -che probabilità avrei di riscontrare lo stesso punteggio “per caso”? Cioè allineando proteine non omologhe. TEST STATISTICO Per interpretare la matrice di punteggio H0: le due sequenze sono omologhe (da verificare)—> ipotesi nulla H1: le due sequenze sono omologhe (altra alternativa) -Errore di tipo 1: dire che H0 è falsa quando è vera ( falso positivo ) Il test statistico mi dice qual è la probabilità di commettere l’errore di tipo 1 -fisso livello di significatività : probabilità di commettere l’errore (es 0,1%) quindi taro il test inserendo un livello di significatività Per effettuare un test di questo tipo dobbiamo conoscere : la distribuzione del punteggi ottenuti allineando sequenze non omologhe Un modo per generare questa distribuzione è quello di creare artificialmente delle sequenze artificiali A livello sperimentale , creo un anagramma casuale e faccio confronto con questa serie di sequenze non omologhe ,registro la sequenza di questi punteggi e con quale frequenza lo riscontro in sequenze non omologhe a questo punto faccio un grafico in cui inserisco frequenza e punteggio di ciascuna coppia di sequenze ( ossia sequenza da cui sono partita e ciascuna sequenza anagrammata casualmente che ho originato io a partire dalla sequenza che devo confrontare con A , che chiamo sequenza B ) , in condizioni normali dovremmo ottenere una curva gaussiana o comunque simil gaussiana che ci dice qual è la distribuzione dei punteggi di allineamento di sequenze non omologhe ma generate casualmente, a questo punto possiamo vedere dove cade il punteggio reale che abbiamo noi confrontando la sequenza A con B , tendenzialmente se il punteggio reale che ho osservato ricade molto vicino alla media allora vuol dire che il dato reale che ho trovato ha una alta probabilità di essere un punteggio di sequenze non omologhe, ma in generale in base al grado di significatività che stabilisco nego o confermo l’ipotesi che A e B siano omologhe. funzione della indel, i restanti parametri sono delle estensioni dell’algoritmo ma se li lasciamo come sono non succede nulla. I risultati si leggono così: ci saranno due righe una che rappresenta una sequenza e una che rappresenta l’altra, in prossimità degli amminoacidi ci sono o un trattino o un pallino, se c’è il trattino vuol dire che le due sequenze sono allineate in assenza del trattino le due sequenze non risultano allineate. Quando sono presenti i due pallini vuol dire che la sostituzione è una di quelle sostituzioni favorite ossia quelle sostituzioni che risultano più frequenti durante una evoluzione divergente, rispetto a quanto, ci si aspetterebbe per caso. Nel caso in cui a livello della linea di una sequenza al posto delle lettere abbiamo dei trattini orizzontali, vuol dire che dove sono presenti ci sono state delle inserzioni o delle delezioni. Sopra l’allineamento di sequenze vero e proprio è annotata la percentuale di identità (identity) , simalarity indica la somiglianza ossia la quantità di sostituzioni che si hanno nell’allineamento e infine quanti GAP sono In fondo c’è il punteggio totale che risulta un numero assoluto . La funzione di penalizzazione di inserzioni e delezioni serve per guidare il programma a produrre un allineamento che tenga conto anche del processo biologico dell’evoluzione molecolare (inserzioni e delezioni non possono essere eccessive) IL PROGRAMMA PER EFFETTUARE UN ALLINEAMENTO LOCALE SI CHIAMA EMBOSS WATER Dopo aver inserito le due sequenze osservo che si tratta di un allineamento locale in quanto non parte più dalla posizione 1 ma da un’altra posizione. Inserendo il valore MAX di GAP OPEN, faccio in modo che la funzione di penalizzazione non inserisca delezioni o inserzioni, quindi il programma mi troverà come zona a più alta somiglianza, quell’insieme più piccolo che può essere allineato senza inserire delezioni o inserzioni, infatti in questi casi avremo una percentuale di affinità molto elevata. Abbassando enormemente i parametri pur avendo a che fare con un programma di allineamento locale ottengo un allineamento globale, perché con i parametri troppo bassi il programma ha mano libera nell’inserire inserzioni e delezioni. 3. RICERCA DI OMOLOGIA IN BANCHE DATI Questo tipo di tecnica si utilizza partendo da una sequenza ignota che per qualche motivo abbiamo e la vogliamo caratterizzare, vogliamo capire la sua funzione e la sua struttura oppure vogliamo sapere se questa sequenza è già presente in banca dati. Quindi abbiamo la necessità di ricercare sequenze simili, omologhe, oppure identiche già caratterizzate in banche dati. Per fare questo tipo di procedura abbiamo bisogno di programmi che siano precisi ed accurati, questo perché le banche dati sono grandi. In questa tipologia di ricerca ci sono una serie di problemi : - aumento delle dimensioni delle banche di dati - Ripetitività delle ricerche - Lentezza degli algoritmi dinamici “esatti” Cosa vuol dire fare ricerca in banca dati , data una sequenza sonda , faccio ricerca in banca dati e trovo sequenze omologhe che però possono rientrare nella regione di confusione , dove non so se le sequenze racchiuse sono omologhe o non omologhe , a questo punto fissando un punteggio soglia (dato dall’allineamento della sequenza con tutte le sequenze della banca dati) tale per cui tutti i punteggi, derivati dall’allineamento di sequenze , sopra questo punteggio sono operazione inevitabilmente si generano degli errori. In particolare abbiamo a che fare con 4 situazioni: - Veri negativi (risultati corretti, racchiude sequenze effettivamente non omologhe) - Veri positivi (racchiude sequenze effettivamente omologhe) - Falsi negativi - Falsi positivi I falsi negativi e i falsi positivi racchiudono il margine d’errore che risulta comunque inevitabile Si è comunque cercato di mantenere dei sistemi di ricerca nelle banche dati molto efficienti minimizzando questi errori, quindi si possono definire due parametri che tengono conto del metodo che sta sviluppando: - sensibilità —> misura il numero di veri positivi/ (veri positivi + falsi negativi)—> quanti veri positivi riesco ad identificare - Selettività—> misura veri negativi/(veri negativi+ falsi positivi)—> quanti dei veri negativi io riesco ad identificare - Selettività (2) ossia un’altra forma di selettività —> veri positivi/ veri positivi+ falsi positivi ( ci dice quante, nell’insieme di sequenze che io etichetto come omologhe effettivamente sono omologhe, quindi ci dice quanto è sporco il campione che noi consideriamo omologo) Questi parametri servono a chi sviluppa questi metodi se sta andando nella direzione giusta o sta sbagliando Se identifico correttamente ottengo una sensibilità e una selettività di 1 o molto vicino a 1 Per ottenere un campione pulito in cui sono in grado di distinguere tra sequenza omologhe e non omologhe devo tener conto di entrambe i parametri. METODI DI RICERCA RAPIDI - per ottenere maggiore velocità è necessario utilizzare approssimazioni—> utilizzo METODI APPROSIMATI cioè metodi di confronto tra sequenze che non sono precisi come gli algoritmi di programmazione dinamica che sono precisi ma lenti - La velocità si paga con una diminuzione dell’accuratezza - Metodi euristici ( sono appunto i metodi approssimati) , metodi che trovano una soluzione buona , ma non possono garantire che quella soluzione sia la migliore possibile. I metodi euristici utilizzano ( allineano) con le n-ple (terza strategia di allineamento, ossia sono degli allineamenti di sequenze attraverso l’allineamento di frammenti di sequenze) STRATEGIA GENERALE 1. Fase in cui si ricercano somiglianze significative tra la mia sequenza e quelle in banche dati ( fase in cui si utilizza il metodo approssimato), ha funzione di setaccio preseleziona quelle sequenze della banca dati che sono potenziali ad essere omologhe alla mia 2. Fase di raffinazione in cui la mia sequenza viene effettivamente allineata, viene quindi valutata meglio il grado di somiglianza, eventualmente il grado di significatività e quindi la presenza di un’omologia. FASTA Primo programma ad essere pubblicato, consente una ricerca rapida di banche dati per somiglianza di sequenza ( questo programma ha portato la percezione ai biologi dell’utilità delle banche dati delle bioscienze molecolari) BLAST ( basic Local Alignment search tool) Il programma standard che si utilizza BLAST è più veloce di FASTA e ha una sensibilità pari o superiore a FASTA, ma comunque risulta di pari o superiore sensibilità. OBIETTIVO: avere uno strumento rapido, per fare questo dobbiamo focalizzare l’attenzione solo su quelle sequenze che possono essere candidate ad essere etichettate come omologhe, quelle che chiaramente non possono essere identificate come omologhe vanno scartate all’inizio. Cosa fa quindi l’algoritmo per effettuare questa prima selezione? Logica dell’algoritmo: Data la sequenza sonda , prima di fare la scansione della banca dati , scompone la sequenza in “parole” di 3 amminoacidi , quante sequenze di 3 lettere posso trovare nella sonda? Per ogni parola, faccio elenco di parole che confrontate con la mia (tramite una delle matrici che abbiamo studiato come per esempio Blusum62) danno un punteggio superiore ad una certa soglia, se il punteggio super la soglia accetto la sequenza da 3 altrimenti la scarto ( in questo modo abbasso il numero di sequenze possibilmente omologhe). Anche la banca dati viene indicizzata in modo tale che sia facile e più rapido trovare triplette all’interno di ogni sequenza. Quindi in ogni sequenza della banca dati viene individuata la presenza di una delle parole a più alto punteggio della sequenza sonda ,in questo modo vengono trovate quelle sequenze che contengono triplette ad alto punteggio e quindi si possono identificare sequenze in banche dati che presentano zone locali di somiglianza con la mia sequenza sonda ( le sequenze che non presentano nessuna delle parole a 3 lettere della nostra sequenza sonda), a questo punto si esaminano le sequenze che contengono queste tre lettere disposte in una sequenza considerata ad alto punteggio con la sequenza sonda, si associano quindi sequenza sonda con sequenza in banca dati che presentano questa porzione di lettere in comune (triplette ad alto punteggio), si vede a questo punto se questa somiglianza locale si estende anche ai lati ,FASE DI ESTENSIONE LATERALE DELLE ZONE DI APPAIAMENTO fin quando il punteggio non raggiunge il massimo , una volta raggiunto il punteggio massimale, si misura il punteggio calcolato con la matrice che abbiamo scelto, si vede se questo punteggio risulta al di sopra di una certa soglia S ( prefissata dai programmatori che hanno impostato i programma), a questo punto i punteggi che sono sopra questa soglia vengono testati con un test statistico e se la probabilità di ottenere un punteggio per caso è inferiore ad una certa soglia allora questa zona di somiglianza viene considerata significativa, quindi presenza di omologia locale. ( questo è quello che faceva la versione originale di BLAST che dava frammenti di allineamento locale), la versione che oggi si utilizza è chiamata GAPPED-BLAST che da la possibilità di calcolare allineamenti locali inserendo delezioni e inserzioni con un algoritmo. È improbabile che sequenze della banca dati amologhe alla nostra sequenza contengano una sola parola ad alta somiglianza, se ne contengono una sola vuol dire che verrano scartate nei passaggi successivi, questo fa perdere tempo e accuratezza Funziona al contrario dalla proteina trovo il gene 5.ALLINEAMENTO MULTIPLO DI SEQUENZE Un allineamento multiplo è un confronto tra più sequenze contemporaneamente, riassume la storia evolutiva di una famiglia di proteine, evidenziando le zone conservate o modificate durante l’evoluzione. UTILITA’? - identificazione di siti funzionalmente importanti - Filogenesi molecolare - Costruzione di profili per ricerche sensibili in banche dati - Predizioni di struttura - Predizione di funzione Come calcoliamo un allineamento multiplo A livello logico si potrebbe estendere l’algoritmo di allineamento di sue sequenze, all’allineamento di più sequenze contemporaneamente. Tuttavia l’estensione degli algoritmi dinamici risulta problematica, innanzi tutto la dimensione di una matrice “dinamica” è dell’ordine di L elevato alla N, dove L è la lunghezza media delle sequenze, mentre N è il numero delle sequenze, questo vorrebbe dire che la matrice che si dovrebbe generare per un allineamento multiplo è di dimensioni eccessive. Quindi per l’allineamento multiplo utilizziamo metodi veloci ma approssimati (euristici). Gli allineamenti multipli possono essere divisi in : - Globali—> allineamento dell’intera sequenza - Locali—> allineamento delle regioni più conservate ALGORITMI DI ALLINEAMENTO MULTIPLO 1. Obiettivo: evitare la complessità dell’algoritmo dinamico applicato all’alineamento di N- sequenze E ottenere allo stesso tempo un allineamento multiplo il più accurato possibile 2. Soluzione: utilizzare strategie euristiche FAMIGLIE DI ALGORITMI (metodi) - allineamento progressivo - Metodi iterativi - Allineamento progressivo+interativo (ibridi) - Modeli probabilistici (HMM) ALLINEAMENTO MULTIPLO PROGRESSIVO - Clustal (inizialmente Clustal W recentemente Clustal omega): uno dei primi programmi - Il primo dato fondamentale è sapere quanto si somigliano le sequenze che devo andare ad allineare, costruisce la matrice delle distanze, che è una matrice che all’interno di ogni cella presenta la percentuale di identità o di differenza tra tutte le possibili coppie di sequenze individuabili nell’insieme di sequenze di cui dobbiamo calcolare l’allineamento multiplo. Banalmente si potrebbe utilizzare un algoritmo dinamico che calcolerebbe l’allineamento di una coppia per volta, ma ci sono dei metodi approssimati come Clustal che permettono la costruzione rapida della matrice. - La matrice delle distanze viene poi convertita in un grafico nel quale le distanze vengono tradotte sotto forma di albero (chiamato albero guida nel contesto dell’algoritmo) - L’albero guida si chiama così perché guida il programma a costruire un allineamento multiplo in modo progressivo. - Primo passaggio è quello di allineare le coppie più simili per cui possiamo applicare l’algoritmo dinamico. - A questo punto abbiamo due coppie di sequenze allineate, ciascuna coppia di sequenze allineate può essere considerata una singola sequenza, per cui per esempio da 4 sequenze allineate due a due ho due sequenze da allineare ( ciascuna composta dalle precedenti due già allineate) mediante gli algoritmi di programmazione dinamica. - Le 4 sequenze allineate a loro volta possono essere viste come una singola sequenza che posso allineare con la sequenza che nell’albero guida è posta più vicina al gruppo di 4 anche in questo caso si utilizza l’allineamento tra due sequenze - Il processo così si ripete e progressivamente si costruisce un allineamento multiplo Come si fa dal punto di vista algoritmico a considerare due sequenze allineate come una sequenza unica? Per fare questo ci facciamo aiutare dallo stesso tipo di matrici che usiamo per allineare due sequenze solo che questa volta sui bordi della matrice non scriviamo la singola sequenza ma l’allineamento tra le due sequenze, i punteggi all’interno delle celle vengono calcolati grazie ad una procedura ( algoritmo) Sum of Pairs, scelta la matrice di punteggio ( per esempio Blosum62), prendo una cella e vado a calcolare il punteggio medio di tutti i possibili scambi amminoacidici A questo punto ho una matrice sulla quale posso far operare il classico algoritmo di allineamento di due sequenze soltanto che adesso ciascuna casella corrisponde all’allineamento di sequenze già accoppiate. Stessa cosa succede se io devo allineare 4 sequenze con altre 2, il procedimento è lo stesso, ciascuna cella prenderà il punteggio medio di tutti i possibili scambi amminoacidici che posso contare tra colonna e riga. NON C’E’ GARANZIA DI TROVARE SOLUZIONE OTTIMALE PERCHE’? - gli errori di allineamento iniziali sono propagati nei passaggi successivi e non possono essere corretti - Difficoltà nella scelta dei parametri per la matrice di punteggio e la penalizzazione delle indels non è detto che vada bene per tutte le sequenze da allineare - L’eventualità degli errori dipende , come sempre dal grado di somiglianza delle sequenze PROBLEMI Quando viene costruito un allineamento e poi dobbiamo allineare allineamenti già fatti, ciascuno di questi si comporta come una sequenze unica, quindi le indels ( inserzioni e delezioni ) sono aggiunte a tutte le sequenze di un gruppo e non sono poi modificabili successivamente. L’altro problema è relativo all’albero guida cioè l’ordine con cui le sequenze vengono allineate, perché in base a come allinea le sequenze l’albero guida avremo degli allineamenti successivi diversi. PRECAUZIONI Metodologie introdotte per minimizzare gli errori - funzioni di penalizzazione delle inserzioni e delezioni variabili e non costanti che variano in base alle caratteristiche locali dell’allineamento - Costruzione albero guida raffinata o ottimizzata da algoritmi CLUSTAL OMEGA - versione aggiornata del Clustal W - Utilizza nel calcolo della matrice delle distanze utilizza un calcolo rapido, che non è un vero e proprio algoritmo dinamico (mBed assomiglia vagamente alla strategia di BLAST) - Le distanze calcolate con la matrice delle distanze vengono utilizzate per costruire un albero guida che viene poi raffinato - Gli allineamenti intermedi, vengono allineati non direttamente con un algoritmo dinamico ma utilizzando allineamenti di profili di Markov Nascosti HMM. - Da la possibilità di utilizzare profili esterni - Capacità di allineare fino a 50000 sequenze e oltre T-COFFEE Utilizza strategia simile a clustal ma ottimizza l’allineamento multiplo finale in modo tale da renderlo più compatibile possibile con gli allineamenti che potrei ottenere allineando le coppie di sequenze con un algoritmo dinamico. Quindi prendendo le sequenze A e B allineate nell’allineamento multiplo questo allineamento deve essere il più vicino possibile all’allineamento che otterrei allineando singolarmente A e B. Utilizza sempre un approccio progressivo METODI ITERATIVI Utilizzano un approccio diverso lo schema fondamentale è lo stesso, tuttavia una volta ottenuto l’allineamento multiplo ricalcola sulla base di questo allineamento una nuova matrice delle distanze un nuovo albero guida e un nuovo allineamento multiplo, si vede se questo allineamento multiplo è migliore di quello precedente, se lo è ,si ripete il ciclo , fin quando si arriva ad un allineamento che non migliora più. MUSCLE Utilizza uno schema ibrido: 1. prima fase è quello che ci aspetteremmo da Clustal quindi costruzione albero filogenetico e allineamento multiplo 2. Poi dall’allineamento multiplo si deriva uno schema di punteggio, quindi all’interno dell’allineamento multiplo si va a vedere quanto A e B sono simili A e C ecc. Quindi si calcola un nuovo albero guida e si deriva un nuovo allineamento multiplo, assumendo che le distanze che si calcolano con il secondo allineamento multiplo siano più accurate del primo allineamento multiplo 3. Il secondo allineamento multiplo viene sottoposto ad un processo di ottimizzazione 4. Viene diviso in 2 scegliendo un punto casuale da questo allineamento se ne ricavano due più piccoli, e si riallineano questi due sottoallineamenti e si calcola il punteggio, se questo punteggio si ricalcola l’allineamento e si riesegue il processo finché il punteggio non rimane costante o diminuisce ( in questa fase è come se si cercasse di riottimizzare la posizione delle inserzioni e delezioni all’interno dell’allineamento LOGO è un modo alternativo per vedere gli allineamenti multipli, ci da una fotografia delle caratteristiche di ciascuna colonna dell’allineamento multiplo. Ci sono diversi tipi di LOGO , il tipo più semplice è quello in cui le colonne hanno tutte la stessa altezza , quello più complesso è quello in cui le colonne non hanno la stessa altezza, perché in questi casi non viene riportata la sequenza ma la quantità di informazione (Ic) Hc o entropia della colonna misura quanti amminoacidi di tipo diverso ci sono all’interno della colonna ( Max è l’entropia massima di una colonna con max disordine) Hmax= log in base due di 20 (la colonna presenta tutti e 20 gli amminoacidi) Se Ic è pari a 0 quella colonna non ci dice nulla sulle caratteristiche che devono essere conservate in quella famiglia di proteine
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved