Allineamento di sequenze
# Allineamento di sequenze

L'allineamento di sequenze è una procedura bioinformatica con cui vengono messe a confronto ed allineate due o più sequenze primarie di aminoacidi, DNA o RNA. L'allineamento permette di individuare regioni identiche o simili che possono avere relazioni funzionali, strutturali o filogenetiche (evolutive). Spesso l'allineamento viene utilizzato per verificare se una sequenza di interesse sia presente all'interno di un database di sequenze conosciute oppure se ne esista una simile.

Le basi di sequenze allineate formano delle righe all'interno di una matrice, mentre le colonne sono formate dove possibile da basi identiche o simili. Spazi (gap, identificati in un allineamento dal trattino -) possono essere introdotti per ottenere il maggior numero di identità tra sequenze e per compensare eventuali inserimenti o rimozioni (indel) evolutive di basi. Se due sequenze sono omologhe gli errori in un allineamento possono essere interpretati come singole mutazioni, mentre gli spazi come indel introdotti in una sequenza dopo il punto di divergenza.

Nell'allineamento di sequenze di aminoacidi la similarità tra basi nella stessa colonna fornisce informazioni sulla conservazione di una particolare regione della proteina. L'assenza di sostituzioni o la presenza esclusiva di sostituzioni conservative (un aminoacido sostituito ad un altro con un gruppo laterale R con simili proprietà biochimiche) in una regione del polipeptide può indicare che questa regione è importante a livello strutturale o funzionale.

Programmi specializzati nell'allineamento possono offrire due opzioni: allineamenti globali o locali. L'allineamento globale è un'ottimizzazione che cerca di estendere l'appaiamento delle basi lungo le intere sequenze; l'allineamento locale invece cerca di identificare regioni di similarità all'interno di sequenze che possono essere molto diverse. L'allineamento locale è solitamente preferito, nonostante sia più difficile da produrre, dato l'aggiunto problema dell'identificazione di regioni simili.

## Algoritmi di allineamento

Storicamente uno dei primi algoritmi di allineamento di tipo globale è l'algoritmo Needleman-Wunsch del 1970, basato sulla programmazione dinamica. Nel 1981 è stato proposto l'algoritmo Smith-Waterman basato sempre sulla programmazione dinamica, ma che produce un allineamento di tipo locale.

Per determinare l'edit distance, cioè quanto le sequenze sono differenti, si possono usare diverse metriche. Le più famose sono la distanza di Levenshtein che conta il numero di sostituzioni, inserimenti e cancellazioni) o la distanza di Hamming che conta solo il numero di sostituzioni e non ammette inserimenti e cancellazioni.

## Software

Esistono molti software di allineamento, uno dei più usati e famosi è BLAST (Basic Local Alignment Search Tools).

