Bioinformatica e suoi obiettivi
La bioinformatica serve a concettualizzare la biologia dal punto di vista delle macromolecole e applicare tecniche bioinformatiche per capire come si organizza l’informazione biologica, cioè analizzare dati biologici (interi genomi, interi proteomi). Lo scopo della bioinformatica è capire come funzionano le cellule a livello molecolare e gli organismi viventi in generale. Alla base della bioinformatica c’è essenzialmente l’informatica, quindi sviluppo di strumenti computazionali (software, algoritmi, modelli matematici) che servono per analisi di sequenze, strutture e analisi funzionale e la costruzione di database biologici. Cioè database che contengono informazioni sulle sequenze di interi genomi. L’uso di questi database o software serve per generare nuova conoscenza biologica.
Database biologici
I database biologici permettono di immagazzinare in modo altamente organizzato l’informazione biologica, quindi sia essa la sequenza primaria o la sequenza peptidica, la struttura secondaria, terziaria, variazioni come i single nucleotide polimorfism.
- Database primari: database elementare contiene solo il dato primario, primo dato individuato solitamente dati di sequenze. Abbiamo un nuovo organismo, abbiamo sequenziato uno dei suoi geni, prendiamo la sequenza del gene e lo mettiamo in un database primario.
- Database secondari: abbiamo tutta la conoscenza che si è generata dall’analisi del dato primario, ad esempio abbiamo analizzato la sequenza primaria del nostro gene e abbiamo trovato ad esempio dov’è il codone di inizio della traduzione, dov’è il codone di stop, la ORF, se c’è una sequenza genomica dove vi è la regione del promotore. Queste info accessorie sono memorizzate nel database secondario.
Nel database primario ogni sequenza viene memorizzata come un record, cioè elemento di questo database, ogni elemento contiene solo una specifica sequenza di DNA o RNA con un minimo di annotazione. Ogni record viene chiamato entry. Esse devono essere identificate in modo univoco; il nome del gene non costituisce un modo univoco per identificare la sequenza, ma vi è un numero unico associato ad una sequenza. Lo stesso gene può essere identificato da nomi diversi chiamati gene symbol. Ad esempio il fattore di trascrizione myc, è conosciuto anche con altri nomi (LTR, mycc), ma se noi facessimo una ricerca per mycc troveremo anche un altro gene, quindi se avessimo utilizzato il nome non sarebbe stata un’identificazione univoca, quindi se ad esempio abbiamo dato a myc l’accession number 1 e a mycc l’accession number 2 riusciamo a distinguerli.
Principali database di sequenze nucleotidiche
- EMBL nucleotide database: è nato dall’unione dell’EMBL (European Molecular Biology Laboratory) e EBI (European Bioinformatics Institute) esiste dal 1980.
- GenBANK: è nato dall’unione del NIH (National Institutes of Health) e NCBI (National Center for Biotechnology Information) esiste dal 1982, è quello più usato.
- DDBJ: è in disuso.
GenBANK
GenBANK è cresciuto in un modo impressionante: da 100 sequenze si è arrivato ad oltre 1 miliardo. Ha al suo interno più di mille miliardi di basi.
Struttura di GenBank
Com’è strutturata? La GenBank entry è costituita da una prima parte di intestazione che contiene una serie di informazioni generiche sulla sequenza:
- Informazioni sull’organismo e sua classificazione.
- Referenza: riferimento bibliografico ad un articolo scientifico (ad es l’articolo in cui è stata caratterizzata per la prima volta la sequenza), abbiamo gli autori, il titolo, il giornale in cui è stato pubblicato e codice di identificazione su PubMed. Ci sono più referenze.
Poi vi è l’informazione sulla sequenza denominata features (caratteristiche della sequenza):
- CDS: posizione della coding sequence, cioè la regione codificante del gene.
- Sequenza della proteina tradotta:
- Product: nome del prodotto del gene.
- Protein ID: accession number per il database che memorizza le sequenze proteiche.
- Gene: qui troviamo diverse informazioni: il gene symbol (simbolo che identifica il gene es. myc); il codone di start e di end della CDS; prodotto proteico (nome della proteina generata dal gene) e traduzione (sequenza della proteina tradotta in codice a singola lettera).
- Nucleotidic sequence: sequenza nucleotidica, troviamo (nelle posizioni indicate prima nelle CDS), il codone di start (ATG) e il codone di stop.
Se vogliamo ottenere la sequenza dal database, le tiriamo giù in formato FASTA. È un formato testo caratterizzato da un header line (identificata dal simbolo >), nome della sequenza e la sequenza. Per verificare che una sequenza sia in formato fasta, vediamo se c’è il simbolo >.
ENSEMBL
Principale database secondario, contiene più informazioni di tutti. Ha dati che derivano dalle sequenze del database primario. Esso annota tutti i geni ma fa anche predizioni dei geni nuovi, quindi a partire dalla sequenza di un genoma di un organismo, questo database va a cercare, usando modelli matematici ben precisi, nuovi geni. In più esso integra tutto ciò con dati sperimentali. Questo processo è automatizzato, cioè ci sono software che attuano questa ricerca. Ci saranno, in seguito, delle persone che vanno a curare manualmente queste annotazioni, ma le predizioni vengono effettuate dai software.
- Tutte le isoforme dei trascritti del gene (derivano da splicing diversi).
- Tutte le proteine derivanti dalle isoforme.
- Strutture secondarie dell’RNA.
- Dati comparativi: presenza di ortologhi o paraloghi ed eventuali allineamenti di sequenza.
- Dati regolatori.
Se noi cerchiamo un gene in ensembl (ad esempio myc), il database ci fornisce una serie di informazioni relative al gene e poi ci dà tutte le transcript isoform del gene e per ognuna ci dice se è codificante o non (ad esempio ci sono sequenze che perdono il codone di start, di conseguenza non vengono tradotte e divengono degli RNA no-coding). Poi vi è una schermata grafica in cui è presente una rappresentazione del gene: i vari introni (linea continua) ed esoni (quadratini) e ci fa vedere come avverrà lo splicing delle isoforme.
ENTREZ
È un database secondario, in realtà più che un database è un sistema di cross-database search, ovvero se noi diamo l’entry a ENTREZ, lui non cerca il gene solo al suo interno, ma anche in tutti i database connessi. Quindi ci darà un risultato che è diviso a seconda del tipo e il numero di record che ha trovato in ciascun database (di letteratura, genomi, proteine ecc).
PUBMED
Database della letteratura scientifica, contiene tutta la letteratura dal 1946 in poi. Ogni articolo è identificato con un PubMed ID (o PMID). Vi sono più di un milione di articoli al suo interno, quindi per affinare la ricerca possiamo fare un ricerca avanzata (ad esempio se scriviamo myc e facciamo una ricerca base otteniamo 29622 risultati).
Come affinare una ricerca?
Clicchiamo su Advanced e ci compare una schermata con diverse form builder per creare delle query per affinare la ricerca. Ad esempio se sappiamo chi ha pubblicato l’articolo e in quale giornale è stato pubblicato possiamo scriverlo. Si apre un menù a tendina dove ci sono diverse voci (es primo autore, ultimo autore, data in cui è stato pubblicato l’articolo ecc). Settiamo ad esempio il campo title (cioè sappiamo che nel titolo compare la parola myc) e scriviamo myc; poi aggiungiamo un’altra voce es journal (scriviamo il nome del giornale). Inoltre sappiamo anche l’autore dell’articolo, quindi selezioniamo author (e scriviamo il nome dell’articolo). Se sappiamo anche chi è l’ultimo autore (ovvero il finanziatore della ricerca e il proprietario del laboratorio), possiamo inserirlo in last author. A questo punto PubMed non ci da una schermata con diversi risultati, ma direttamente l’articolo.
Una pagine di articolo di PubMed ha queste caratteristiche:
- In alto si trova il nome del giornale.
- Titolo dell’articolo.
- Ultimo nome.
- Abstract (riassunto dell’articolo).
PubMed memorizza solo le informazioni relative all’articolo, ma non ha l’articolo al suo interno, quindi ci dà i link ai siti da cui possiamo scaricare l’articolo. Possiamo anche non usare il menù a tendina per affinare la ricerca, ma farlo a mano attraverso dei tag (title, last author, ecc). Quindi lo scriviamo nella barra in alto.
Omologia e allineamento di sequenza
L’omologia indica una similarità tra due oggetti, dovuta ad un antenato comune (es arto dei tetrapodi). Lo stesso concetto si può applicare alle sequenze geniche, quindi l’omologia tra sequenze indica una similarità tra due sequenze dovute ad un antenato comune (due sequenze si sono evolute a partire da un antenato comune). Eseguire un allineamento di sequenza, quindi, significa comparare due o più sequenze (nel primo caso si parla di allineamento pairwise, nel secondo allineamento multiple) per identificare caratteri della sequenza (basi o aa) che sono simili o identici.
Perché si effettuano gli allineamenti?
Si fa per capire se due sequenze possono essere omologhe, solitamente si fa un allineamento di sequenza quando non sappiamo la funzione di una delle due, quindi se le due sequenze hanno un buon allineamento e una buona omologia, questo ci suggerisce che le due possono avere una funzione simile. Oppure si fa per studi di evoluzione, quindi come porre nell’albero dell’evoluzione una nuova specie. O ancora, per identificare elementi conservati nella sequenza. Se facciamo un allineamento multiplo, ad esempio prendiamo la sequenza della proteina X di 20 specie diverse e ne facciamo l’allineamento, vediamo che su tutti i residui ci sono delle variazioni, ma alcuni si mantengono (ad esempio si mantiene sempre una particolare tirosina). Questo ci dice che questo residuo è funzionalmente importante, nell’esempio della tirosina essa è un sito di fosforilazione. Oppure abbiamo una sequenza di DNA che viene dal punto X del genoma, usando l’allineamento di sequenza troviamo il punto in cui si è originata quella sequenza.
Caratteristiche degli allineamenti di sequenza
- Match perfetti: non è avvenuto nessun cambiamento in nessuna sequenza. Vengono identificati da una stanghetta dritta.
- Sostituzioni (mismatch): mancanza di match tra le sequenze, ad un certo punto dell’evoluzione è avvenuto un cambiamento rispetto all’antenato comune, ma noi non sappiamo chi è l’antenato, quindi non sappiamo quale base o aa c’era in quella posizione.
- Gap: salti, più specificamente sono definiti indel, ovvero ad un certo punto dell’evoluzione un residuo è stato perso o acquistato rispetto all’antenato comune, noi non sappiamo chi sia l’antenato comune quindi non sappiamo se il residuo è stato perso o acquistato, di conseguenza diciamo che è un indel (insertion or deletion).
Esistono due tipi di allineamenti: globali o locali. Funzionano in modo molto diverso, ma in alcuni casi limite danno lo stesso risultato.
Allineamento globale
L’allineamento globale consiste nel cercare di allineare più residui possibili nell’intera lunghezza delle sequenze. Quindi cerco di allineare tutti i residui delle sequenze anche se si introducono mismatch, gap. Forza l’allineamento in zone molto diverse. Cerca di massimizzare il numero di residui corrispondenti.
Allineamento locale
L’allineamento locale premia principalmente allineamenti quasi perfetti ma su scala locale, cioè piccoli pezzi ma allineati perfettamente. In questo caso abbiamo due allineamenti e non considererebbe la parte in mezzo.
Quando consideriamo due sequenze molto simili tra loro, l’allineamento locale e globale danno quasi gli stessi risultati. Nel caso in cui, invece, consideriamo due sequenze molto diverse, allora un allineamento locale è preferibile perché ci dirà quali regioni si sono conservate nell’evoluzione. Questo è molto importante perché una regione conservata è funzionalmente importante.
Come funziona l’allineamento pairwise?
Il problema è che esistono milioni di possibili allineamenti. Come facciamo a scegliere qual è l’allineamento migliore tra i due? Sono stati inseriti dei sistemi di scoring. Il concetto alla base è che un match deve essere premiato, mentre un mismatch o indel deve essere penalizzato. Ad esempio diamo un +1 al match, -2 ai mismatch e -1 ai gap/indel. Otteniamo, nel nostro esempio, che l’allineamento 1 (a sinistra) ha uno score di 7, mentre l’allineamento 2 (quello di destra) ha uno score di 8. Quindi l’allineamento 2 è migliore. Però non è così semplice, perché il tipo di allineamento che otteniamo dipende dal sistema di scoring che scegliamo. Se cambiamo gli score la situazione cambia. È critico scegliere il sistema di scoring giusto. Esso può essere rappresentato come una matrice 4x4 (nel caso dei nucleotidi) o 20x20 (nel caso degli aa). Per ogni casella ci dice qual è lo score da considerare nell’allineamento nel momento in cui troviamo A e A (match perfetto score=1), A e G (mismatch, score =-2). Questo sistema è molto semplice. Possiamo considerare una serie di caratteristiche biologiche degli aa o basi azotate, nel momento in cui andiamo a penalizzare o premiare un tipo di allineamento rispetto ad un altro.
Transizione e trasversione
Biologicamente nella cellula, possono avvenire eventi di transizione o trasversione tra le basi. Nel primo caso si ha una conversione di una purina in un’altra purina o di una pirimidina in un’altra pirimidina. Nel secondo caso, invece, abbiamo la conversione di una pirimidina in purina o viceversa. Sono eventi sporadici e possono essere dovuti a radiazioni, presenza di mutageni, particolari enzimi ecc. Se volessimo considerare questi eventi nell’allineamento, potremo decidere di penalizzare di più una trasversione rispetto ad una transizione, perché chimicamente è più facile che una purina si trasformi in un’altra purina, rispetto ad una purina in una pirimidina. Nella matrice avremo sempre i match perfetti di score +1, poi avremo gli eventi di trasversione (es A in C o T) a cui daremo uno score di -3 e gli eventi di transizione (es A in G) a cui daremo uno score di -1. La stessa cosa possiamo farla per gli aa, perché essi hanno proprietà chimico-fisiche ben precise che sono condivise da gruppi di aa diversi, quindi avremo aa aromatici, alifatici, idrofobici, idrofilici. Possiamo quindi considerare tutte queste caratteristiche e nella nostra matrice daremo uno score negativo più piccolo per la sostituzione di un aa alifatico con un altro aa alifatico, rispetto alla sostituzione di un aa alifatico con aa aromatico.
Gestione degli INDEL
Cosa vengono gestiti gli INDEL? Gli allineamenti senza gap sono preferiti a quelli con gap, tuttavia in alcuni casi è necessario aprire un gap per avere un allineamento. Per evitare l’apertura di nuovi gap non necessari, si dà uno score di gap opening che è più penalizzato rispetto all’estensione di gap che sono già stati aperti. Quando andiamo a fare un allineamento è meglio che ci sia un solo gap molto lungo che tanti piccoli sparsi nella sequenza.
Matrici di sostituzione: PAM e BLOSUM
Queste matrici sono già state create. Le matrici usate sono quelle PAM e BLOSUM (in realtà ora si usano solo blosum). L’idea alla base è il fatto che se abbiamo un set di sequenze molto correlate fra loro per funzione, evoluzione ecc e le allineiamo. Possiamo dare un punteggio alla relazione che c’è tra gli aa a seconda delle volte che vediamo un aa che viene convertito in un altro aa in una sequenza diversa. Ad esempio abbiamo 9 sequenze che vengono allineate e in punto vi è una differenza. In questo caso possiamo attribuire uno score alla probabilità che ci sia il cambiamento di un aa in un altro in base a quante volte lo vediamo in un allineamento. Ad esempio la E nella sequenza 1 è stata sostituita da una D 4 volte e da una Q 1 volta. Ciò vuol dire che nella nostra matrice dei punteggi andremo a mettere un -4 per la E sostituita con D e un -1 per la E sostituita con Q.
Le matrici PAM (Point Accepted Mutations) sono state costruite a partire da un database di 1592 sostituzioni in 71 gruppi di proteine strettamente correlate fra loro (>85% di identità). A questo punto si sono contate il numero di sostituzioni che avvenivano per ogni aa, quindi ad esempio l’alanina quante volte veniva sostituita con acido aspartico ecc e questi valori sono stati segnati nella matrice. Si è visto che sostituzioni comuni tendono ad avvenire tra aa che hanno caratteristiche chimiche simili (cioè un aa alifatico tende ad essere sostituito maggiormente da un altro aa alifatico che non da uno aromatico). Esistono diverse matrici PAM identificate da un numero (es PAM80 e PAM250) questo numero identifica la distanza evolutiva delle sequenze usate per costruire la matrice. Ad esempio la PAM250 è una matrice migliore per allineare due sequenze che sono evolutivamente molto distanti rispetto ad una PAM80. Il numero identifica il numero di mutazioni che sono avvenute. Se voglio allineare la sequenza di una proteina di uomo con quella di batterio, una PAM250 è meglio di una PAM80, invece se voglio allineare una sequenza di una proteina di uomo con quella di scimpanzé uso una PAM80. Queste matrici sono state costruite su un database di sequenze troppo vicine dal punto di vista evolutivo e basato solo su una classe di proteine (small globular protein), quindi non sono applicabili a tutte le proteine.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.