Allineamenti multipli

Documenti analoghi
Allineamenti multipli

Allineamento multiplo

Le sequenze consenso

Algoritmi di Allineamento

Filogenesi molecolare

ALLINEAMENTI MULTIPLI

FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990) Algoritmi EURISTICI di allineamento

BLAST. W = word size T = threshold X = elongation S = HSP threshold

Corso di Bioinformatica. Docente: Dr. Antinisca DI MARCO

Quarta lezione. 1. Ricerca di omologhe in banche dati. 2. Programmi per la ricerca: FASTA BLAST

Allineamenti di sequenze: concetti e algoritmi

Allineamenti Multipli di Sequenze

Organizzazione del genoma umano

FASTA. Lezione del

Riconoscimento e recupero dell informazione per bioinformatica

Il progetto Genoma Umano è iniziato nel E stato possibile perchè nel 1986 era stato sviluppato il sequenziamento automatizzato del DNA.

Laboratorio di Bioinformatica I. Filogenesi. Dott. Sergio Marin Vargas (2014 / 2015)

Alberi filogenetici. File: alberi_filogenetici.odp. Riccardo Percudani 02/03/04

AUTOMA A STATI FINITI

Allineamento e similarità di sequenze

InfoBioLab I ENTREZ. ES 1: Ricerca di sequenze di aminoacidi in banche dati biologiche

Modello computazionale per la predizione di siti di legame per fattori di trascrizione

ALLINEAMENTO DI SEQUENZE

Sommario. Presentazione dell opera Ringraziamenti

UNIVERSITÀ DEGLI STUDI DI MILANO. Bioinformatica. A.A semestre II. 4 Evoluzione e filogenesi

Z-score. lo Z-score è definito come: Z-score = (opt query - M random)/ deviazione standard random

q xi Modelli probabilis-ci Lanciando un dado abbiamo sei parametri p i >0;

Ricevimento Studenti: Lunedì previa prenotazione. Cenci lab

Filogenesi molecolare

UNIVERSITÀ DEGLI STUDI DI MILANO. Bioinformatica. A.A semestre I. Allineamento veloce (euristiche)

GENOMA. Analisi di sequenze -- Analisi di espressione -- Funzione delle proteine CONTENUTO FUNZIONE. Progetti genoma in centinaia di organismi

Biologia Molecolare Computazionale

Allineamenti a coppie

Lezione 7. Allineamento di sequenze biologiche

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

Ricerca di omologia di sequenza

Lezione 2 (10/03/2010): Allineamento di sequenze (parte 1) Antonella Meloni:

Esercizio: Ricerca di sequenze in banche dati e allineamento multiplo (adattato da una lezione del Prof. Paiardini)

Ricerche con BLAST (Laboratorio)

Riconoscimento e recupero dell informazione per bioinformatica

Relazione sequenza-struttura e funzione

Markov Chains and Markov Chain Monte Carlo (MCMC)

Sistemi di Elaborazione delle Informazioni

Esercitazioni di statistica

Cenni di apprendimento in Reti Bayesiane

2. Algoritmi e Programmi

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

MATEMATICA SCUOLA PRIMARIA CLASSE SECONDA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE RELATIVI A NUMERI

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Intelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011

Elementi di Informatica e Programmazione

Corso di Intelligenza Artificiale A.A. 2016/2017

Analisi dei dati con Excel

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

EUROPEAN COMPUTER DRIVING LICENCE SYLLABUS VERSIONE 5.0

2.2 Alberi di supporto di costo ottimo

Lezione 1. Le molecole di base che costituiscono la vita

Laboratorio di Algoritmi e Strutture Dati

Sviluppo di programmi

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

L A B C di R. Stefano Leonardi c Dipartimento di Scienze Ambientali Università di Parma Parma, 9 febbraio 2010

Sistemi Web per il turismo - lezione 3 -

Cercare il percorso minimo Ant Colony Optimization

Luigi Piroddi

Come si sceglie l algoritmo di allineamento? hanno pezzi di struttura simili? appartengono alla stessa famiglia? svolgono la stessa funzione?

Metodi di Distanza. G.Allegrucci riproduzione vietata

Lezione 6. Analisi di sequenze biologiche e ricerche in database

Introduzione alla programmazione Esercizi risolti

Unità aritmetica e logica

Linguaggi, Traduttori e le Basi della Programmazione

Calcolare con il computer: Excel. Saro Alioto 1

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Introduzione all algebra

Programmazione dinamica

RICERCA DI PATTERN E DI MOTIVI DEFINIZIONE DI MOTIVO

Il concetto di calcolatore e di algoritmo

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

Algoritmi. Pagina 1 di 5

scaricato da I peptidi risultano dall unione di due o più aminoacidi mediante un legame COVALENTE

Metodo dei minimi quadrati e matrice pseudoinversa

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Algoritmi in C++ (seconda parte)

Problemi, algoritmi, calcolatore

Informatica e Bioinformatica: Basi di Dati

A W T V A S A V R T S I A Y T V A A A V R T S I A Y T V A A A V L T S I

Unità di apprendimento 6. Dal problema al programma

numeri quantici orbitale spin

Insiemi numerici. Teoria in sintesi NUMERI NATURALI

Evoluzione delle molecole biologiche

SOLUZIONI DEL 1 0 TEST DI PREPARAZIONE ALLA 1 a PROVA INTERMEDIA

Bioinformatica ed applicazioni di bioinformatica strutturale!

ALGEBRA LINEARE PARTE II

Distanza di Edit. Speaker: Antinisca Di Marco Data:

Corso di Calcolo Numerico

Mini-Corso di Informatica

Tesina di Biologia Molecolare II

Riconoscimento e recupero dell informazione per bioinformatica

Corso di Analisi Numerica

Transcript:

Allineamenti multipli

Allineamenti multipli Finora ci siamo occupati di allineamenti a coppie (pairwise), ma il modo migliore per conoscere le caratteristiche di una determinata famiglia è allineare molte proteine a funzione analoga. I siti funzionalmente o strutturalmente più rilevanti tendono a mantenersi invariati nelle proteine omologhe, mentre i siti meno importanti possono cambiare anche molto. Osservare e studiare le conservazioni significa capire come le famiglie di proteine funzionano, cosa la rende diverse tra loro, se esistono o meno relazioni filogenetiche inter- e intra- famiglia. In questo modo è possibile individuare la funzione di una proteina ignota solo osservando la sequenza dei suoi residui.

Similitudine e omologia Omologia: carattere QUALITATIVO che posseggono quelle sequenze che derivano da un antenato comune in seguito al processo evolutivo. O due geni sono omologhi o non lo sono. Non esiste una percentuale di omologia. Similitudine: carattere QUANTITATIVO che origina da un allineamento. Il grado di identità che si determina tra i residui allineati o il fatto che residui simili possano corrispondere in un allineamento, può essere quantificato disponendo di metri di valutazione oggettivi, come le matrici di sostituzione. => un alta similitudine tra proteine può essere indice di omologia, ma non si può escludere il contrario. Esistono infatti proteine molto simili (specie nei siti attivi) in organismi filogeneticamente non correlati tra loro e proteine molto diverse che possono essere ricondotte a omologhe mediante altri studi.

Geni ortologhi e geni paraloghi Geni ortologhi: geni simili riscontrabili in organismi correlati tra loro. Il fenomeno della speciazione porta alla divergenza dei geni e quindi delle proteine che essi codificano. es. l α-globina di uomo e di topo hanno iniziato a divergere circa 80 milioni di anni fa, quando avvenne la divisione che dette vita ai primati e ai roditori. => I due geni sono da considerarsi ortologhi. Geni paraloghi: geni originati dalla duplicazione di un unico gene nello stesso organismo. es. α-globina e β-globina umana hanno iniziato a divergere in seguito alla duplicazione di un gene globinico ancestrale. => I due geni sono da considerarsi paraloghi.

Sequenze simili per allineamento multiplo Le sequenze da multi-allineare in genere si ottengono dalla ricerca in banca dati mediante i sistemi di ricerca per similarità come BLAST e FASTA (ma ce ne sono anche molti altri...). Visto che derivano già da un allineamento a coppie (anche se prodotto con metodi euristici) e visto che si prendono in considerazione sequenze che hanno un alto score (o un basso expect), l allineamento multiplo su questi dataset dovrebbe dare risultati soddisfacenti.

Allineamento progressivo Un allineamento esatto come quello dei pairwise esaustivi richiederebbe un algoritmo di ordine O(L N ), cioè un numero di operazioni che cresce con la lunghezza delle sequenze elevato al numero di sequenze stesse 3 proteine da 200 residui = ordine 8 x 10 6 5 proteine da 100 residui = ordine 10 10 Ovviamente i tempi di elaborazione sarebbero interminabili. E stata quindi proposta una soluzione semplice ed elegante: L ALLINEAMENTO PROGRESSIVO DI COPPIE DI SEQUENZE basandosi sull assunto che se una proteina può essere allineata con una seconda e una seconda con una terza, allora deve esistere un allineamento che le comprenda tutte e tre.

Diagramma dell allineamento progressivo N sequenze (dataset) disposte a caso, non allineate Allineare tutte le proteine con tutte le proteine, a coppie N(N-1)/2 allineamenti Determinare un albero guida basato sui punteggi di similarità di tutte le coppie A partire dalla coppia più simile, allinearla, determinare le colonne conservate, e allineare le coppie successive mantenendo queste colonne e ri-calcolando lo score complessivo N sequenze (dataset) allineate

Allineamento pairwise: tutte contro tutte Sappiamo che esistono 2 metodi per determinare i punteggi di allineamenti pairwise: 1. Smith-Waterman: programmazione dinamica, esaustiva, lenta. 2. Metodo dei k-tuples (o w-mers), euristico, veloce. La velocità di questo step è fondamentale se si hanno tante sequenze da allineare, ma è altrettanto vero che se si fanno errori in questa fase, questi si propagano all allineamento finale.

L albero guida per la clusterizzazione Dati degli scores a coppie, è possibile determinare quale sia il miglior modo per passare da una proteina all altra seguendo un ordine che può essere ritenuto una progressione evolutiva. I metodi (rapidi) per costruire degli alberi dato un set di scores sono essenzialmente due: Neighbour Joining (NJ) Unweighted Pair Group Method with Arithmetic mean (UPGMA) Questi basano i loro schemi topologici sulle cosiddette Matrici di Distanza (le vedremo meglio più avanti), che hanno un significato inverso rispetto agli scores: Score: maggiore => sequenze più simili Distanza: maggiore => sequenze più distanti => più diverse

L albero guida e la clusterizzazione 2 1 Hbb_human - 2 Hbb_horse.17-3 Hba_human.59.60-1 4 Hba_horse.59.59.13-5 Myg_whale.77.77.75.75 - b_hu b_ho a_hu a_ho M_w E una matrice di distanze, minore è il numero, maggiore è la similitudine... 1 2 3 4 5 1 2 3 4 Ordine di allineamento PEEKSAVTALWGKVN--VDEVGG Hbb_human GEEKAAVLALWDKVN--EEEVGG Hbb_horse PADKTNVKAAWGKVGAHAGEYGA Hba_human AADKTNVKAAWSKVGGHAGEYGA Hba_horse EHEWQLVLHVWAKVEAGVAGHGQ Myg_whale Allineamento finale

Clustal Higgins & Sharp 1989 ClustalW è il programma per gli allineamenti multipli progressivi più noto e più utilizzato. E disponibile sul server EBI, richiamato anche dalle pagine dei risultati quando si fanno ricerche di similitudine (FASTA o BLAST), ma ne esistono versioni scaricabili (standalone) gratuite che girano sotto tutte le piattaforme. Esiste anche una versione con interfaccia grafica, ClustalX. Caratteristiche: - l algoritmo pesa diversamente le sequenze e cambia matrice man mano che aggiunge proteine a diversità crescente - è possibile aggiungere sequenze a quelle già allineate, basandosi su allineamenti preesistenti. - è possibile effettuare allineamenti strutturali.

Clustal W Interfaccia interattiva

Clustal X versione grafica di Clustal W

Uso delle penalty mask Le penalty mask sono serie di numeri da 1 a 9 da scrivere come fossero una sequenza di aminoacidi. Sono state pensate per alterare i criteri di inserimento dei gap in base ad informazioni che possono derivare da svariate fonti.!ss_hba_huma..aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaa...aaaaaaaaa!gm_hba_huma 112224444444444222122244444444442222224222111111111222444444 HBA_HUMA VLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHGK In queste zone l inserimento dei gap è sfavorito. Se si conosce la struttura di una delle proteine, questa verrà utilizzata per la costruzione dei punteggi di penalità nell allineamento a coppie preliminare: infatti in una famiglia di proteine, la struttura terziaria e quella secondaria tendono a conservarsi più della struttura primaria.

Valutare la qualità di un multi-allineamento La cosa più comune da fare è sommare tutti gli score di tutte le possibili coppie di proteine allineate. In genere si pesano i valori in base alla similitudine nello stesso cluster per evitare che alcuni di essi prevalgano su altri nel conteggio finale. Ottengo così una WSP (Weighted Sum of Pairs): N-1 N N: numero di sequenze WSP score = ΣΣW ij S(A ij ) i = 1 j = 1 i,j: coppia di sequenze S: punteggio di similarità della coppia W: peso per la coppia Il valore complessivo della WSP dipende dai criteri di punteggio utilizzati nell allineamento più che da considerazioni biologiche, ma è comunque un criterio valido per tutti gli allineamenti con gli stessi parametri Uno score così è chiamato Objective Function (OF)

Allineamento iterativo Clustal è caratterizzato dalla produzione dell albero guida per procedere con gli allineamenti tra sequenze progressivamente meno correlate. Ogni volta che viene aggiunta una sequenza però l albero non viene ri-calcolato, quindi eventuali errori iniziali non vengono corretti. Un modo per correggere tali errori è di operare una serie di iterazioni dopo ogni aggiunta, mirando a massimizzare con vari metodi la WSP globale e a coppie, ricreando ogni volta un nuovo albero, finché l allineamento si stabilizza. http://bioinfo.genotoul.fr/multalin/

Allineamento multiplo: locale o globale? Clustal nelle sue procedure di allineamento massimizza gli score cercando di estendere l allinamento lungo tutte le sequenze disponibili => fa un tipo di allineamento globale. Le stesse considerazioni viste per gli allineamenti pairwise valgono ancora, quindi biologicamente è meglio trovare allineamenti locali che globali. Nei MSA in realtà il problema è più complesso, perché dipende dalla similarità iniziale media tra le sequenze in esame, qualcosa che si può valutare solo a posteriori. => I nuovi metodi progressivi aggiustano i MSA esistenti 1. Cercando blocchi di massima conservazione. 2. Creando dei pattern da essi. 3. Usando i pattern per ricreare altri allineamenti possibili.

Altri programmi per il multi-allineamento Kalign (http://msa.cgb.ki.se/cgi-bin/msa.cgi) non utilizza il metodo UPGMA né il NJ per calcolare le distanze nella fase di generazione dell albero guida, ma un sistema più veloce e preciso basato sui pattern e sulla ricerca delle stringhe con gap (algoritmo di Wu- Mabner). T-Coffee (http://www.tcoffee.org) ottimizza l algoritmo di Clustal introducendo dopo l allineamento multiplo un sistema di scoring complesso che permette di imparare le zone calde e aggiustare l allineamento in base a queste, permettendo la fusione di allineamenti fatti con metodi diversi.

Visualizzazione dei multi-allineamenti Visualizzare bene un multi-allineamento è importantissimo per apprezzare le informazioni che esso può fornire. L output dei programmi di multiallineamento è una stringa contenente le sequenze allineate formattate in modi diversi secondo vari standard: MSF, NEXUS, PHYLIP, CLUSTAL, FASTA In questi cambia l intestazione, la porzione di proteina che si trova sulla stessa linea (per leggere tutto l allineamento sulla stessa schermata), le informazioni aggiuntive che riguardano l allineamento stesso. Esistono programmi come ReadSeq in grado di convertire un formato in un altro agevolmente.

Formati principali CLUSTAL FASTA NEXUS MSF PHYLIP

Utilizzo dei colori I file raw-text possono essere utilizzati per visualizzare le colonne, ma è possibile associare colori diversi per residui con caratteristiche chimico fisiche diverse. Questo facilita molto la visualizzazione dei multiallineamenti. La gestione dei colori negli allineamenti è in genere effettuata da programmi complessi che hanno compiti ben più sofisticati della semplice colorazione, integrando veri e propri ambienti di analisi bioinformatica. Esempi importanti sono BioEdit o CLC Sequence Viewer.

Le sequenze consenso Si definisce sequenza consenso una sequenza derivata da un multiallineamento che presenta solo i residui più conservati per ogni posizione e che ha le seguenti caratteristiche: Riassume un multi-allineamento Non è identica a nessuna delle proteine del dataset Si possono definire dei simboli che la definiscano e che indichino anche conservazioni non perfette in una posizione E possibile utilizzare una formattazione precisa che permetta di capire anche le variazioni in una posizione, non solo le conservazioni.

Tipi di sequenze consenso Consenso esatto Consenso a simboli GRVQGV--R------A--LG -GWV GRVQGh-aRvvvvvvAvvLGivGWV GRVQG[VI]-[FY]R------A L----GWY GRVQGV--R-6A LG--GWV Consenso con variazioni Consenso con ripetizioni

WebLogo E un tipo di visualizzazione un po banale ma rende bene l idea delle posizioni conservate su tratti di DNA/Proteine. In pratica per ogni colonna viene riportata una lettera (Base /AA) tanto più grande quanto maggiore sarà la sua presenza in quella posizione dell allineamento. http://weblogo.berkeley.edu/examples.html

Profili dei multi-allineamenti Un multi-allineamento genera molte più informazioni per l individuazione dei residui importanti per una famiglia di proteine di tanti allineamenti a coppie. Diventa quindi basilare poter riassumere le conservazioni osservate in un unico formato. Inoltre multi-allineare proteine divergenti tra loro è molto più informativo rispetto alla stessa analisi fatta su proteine molto simili. Un PROFILO è un metodo di SCORING in cui ad ognuno dei venti amino acidi viene assegnato un punteggio basato sulla frequenza e sul valore in una matrice di sostituzione. Ogni cella di un profilo esprime quindi il peso da attribuire ad ogni aminoacido in quella posizione Sequenza consenso I venti amino acidi

I profili e PSI-BLAST Esistono numerosi programmi che creano i profili (es. profilemaker del pacchetto GCG): quasi tutti riportano sulla prima colonna la sequenza CONSENSO, cioè una sequenza derivante da tutti gli allineamenti e contenente solo i residui più frequenti. PSI-Blast è una specializzazione di Blast che opera in modalità ricorsiva: Query BLAST Primi N risultati Allineamento Profilo Consenso Finché i risultati si stabilizzano I profili possono quindi dare preziose informazioni ed essere utilizzato per una ricerca in banca dati. Ad ogni iterazione successiva verranno individuate nuove sequenze, in modo più o meno accurato a seconda delle scelte fatte in precedenza. Il risultato è che si riescono ad ottenere match con proteine più distanti filogeneticamente, ma sempre ben correlate tra loro.

Algoritmi ad apprendimento automatico Se si possiedono dei buoni modelli probabilistici che descrivano bene l informazione contenuta in un contesto biologico, è possibile far imparare le relazioni che il modello propone ad un computer. L applicazione pratica di questo concetto si ritrova in: 1- Hidden Markov Models 2- Reti neurali 3- Algoritmi genetici Proprio perché oggi disponiamo di un gran numero di informazioni ma piuttosto disordinate, è possibile cercare di istruire un computer allo scopo di capire da solo le relazioni che intercorrono tra i vari elementi, lasciando ad esso il compito di indovinare i risultati.

Hidden Markov Models (HMMs) Sono modelli matematici che descrivono le probabilità di trovare una data sequenza in un database (che può essere anche un dataset di proteine multiallineamte) conoscendo il contenuto del database. Una catena di Markov è un insieme di numeri in successione in cui ogni numero dipende solo dai k numeri che lo precedono (k si definisce come l ordine della catena). Questi numeri possono essere probabilità, e quindi una catena di Markov è come un modello che descrive le probabilità condizionate di avere un residuo data uno o più serie di residui precedenti. Il programma più utilizzato basato su questi modelli è HMMER che ha come input un multiallineamento precedente (o una ricerca i banca dati) ed è in grado di cercare in banca dati utilizzando non le sequenze ma solo i profili che da essi vengono generati.

Hidden Markov Models (HMMs) i 0,5 A 0,9 0,1 0,25 B 0,8 o Data la sequenza ABCD è possibile stabilire la sua probabilità moltiplicando le probabilità di ogni evento. Catena di Markov di ordine zero: p(1234) = p(1)* p(2)* p(3)* p(4) 0,5 C 0,95 D Catena di Markov di ordine uno: P(1234) = p(12)*p(23)*p(34) Il grafico sopra mostra le relazioni probabilistiche che stanno alla base di una sequenza di es. 4 residui (o basi) secondo una matrice precisa e secondo dei criteri osservati nel database, così da stabilire in modo completo tutti i percorsi possibili, posto che ogni evento dipenda solo dall evento successivo. E poi possibile determinare le probabilità se gli eventi non sono indipendenti, ma dipendono dai k eventi successivi (catena di Markov di ordine k).

Applicazioni dei modelli di Markov Gli eventi sono definiti stati della catena, ma sono nascosti e legati da relazioni di probabilità predeterminate, fin quando non si chiede al modello di generare (emettere) i simboli appropriati. Ogni stato allora emetterà il suo simbolo a seconda degli eventi precedenti. 0,25 0,25 0,25 0,25 Input: mi serve una sequenza di 10 nucleotidi che abbia una probabilità P di presentarsi I 0,5 0,25 0,25 0,25 O Output: una sequenza di 10 residui con probabilità P di verificarsi 0,5 0,25 0,1 0,1 0,1 0,7 Input: che probabilità ho che questa sequenza si presenti per caso nel database? Output: la probabilità è P

Le reti neurali Sono circuiti di informazioni con una fissato numero di nodi (STATI) in cui immagazzinare le informazioni risultanti dalle varie interconnessioni ed una precisa ARCHITETTURA, cioè una struttura di interconnessione dei nodi. Se fornisco ad una rete neurale una informazione e il suo risultato (un TRAINING SET), gli stati memorizzano il modo di andare dall informazione al risultati sfruttando le interconnessioni. Ripetendo molte volte il training con set diversi ma ugualmente veri, alla fine la rete è in grado di arrivare da sola al risultato. Se fornisco alla rete una informazione con risultato incognito, essa risponderà con il risultato che per lei è appropriato, dato quello che ha imparato dai training set. es. fornendo un numero di multiallineamenti esatti, la rete impara a multiallineare, e alla fine, data una serie di sequenze, sarà in grado di multiallinearle.

Algoritmi genetici Se consideriamo un problema che ha una soluzione dipendente da n parametri e da k valori, una esplorazione completa richiede k n operazioni. Ma se noi sappiamo come si può evolvere il sistema (perchè abbiamo un training set o sappiamo le regole) per ricavare il risultato, sappiamo che alcuni passaggi non sono possibili o non si sono mai verificati, e sappiamo che ci sono percorsi che sono preferiti ad altri. Se l algoritmo viene modellato per rispettare gli schemi osservati e viene calcolata per ogni passaggio una FITNESS, cioè un valore di attendibilità, posso arrivare entro un certo numero di cicli ad avere un risultato che ha una fitness ottimale per le mie aspettative

Procedura di un algoritmo genetico cromosomi generazione valutazione della fitness selezione del cromosoma con fitness maggiore mutazione e crossing-over nuovi cromosomi sostituiscono i precedenti stop posso simulare un crossing over tra due sequenze visto che so come avviene il crossing over. posso simulare la mutagenesi visto che conosco le frequenze di mutazioni e gli eventi mutageni che accadono