Table Of Content(cid:30)
UNIVERSITA DEGLI STUDI DI FERRARA
Facolta(cid:30) di Scienze Matematiche, Fisiche e Naturali
Corso di laurea in matematica
UN ALGORITMO PER LA
RICOSTRUZIONE DI SEQUENZE
DA SEQUENZE PARZIALI
IN BIOINFORMATICA
Relatore:
Laureanda:
Chiar.moProf. JosefEschgfa¤ller
LuciaDelChicca
Anno accademico 2000-2001
INDICE
1. INTRODUZIONE 1
2. FATTORIDIUNAPAROLA 7
3. FATTORIRIPETUTI 9
4. PACCHETTI 13
5. ILRICOPRIMENTOCANONICO 19
6. GLIALGORITMIDICARPI/DELUCAINC++ 25
7. PROGRAMMAZIONEORIENTATAAGLIOGGETTIINPERL 31
8. ESEMPI 33
9. ILMETODODELL’OTTIMIZZAZIONEGENETICA 49
10. OTTIMIZZAZIONEGENETICADIALLINEAMENTI 51
11. LISTATIINC++ 59
12. LISTATIINPERL 71
BIBLIOGRAFIA 73
1. INTRODUZIONE
La bioinformatica e(cid:30) una nuova disciplina che studia le applicazioni delle
scienze dell’informazione alle scienze biologiche. Si occupa dell’organiz-
zazioneedell’utilizzodidatibiologicichedescrivonosequenzedigeni,com-
posizione e struttura di proteine, processi biochimici nelle cellule ed espe-
rimenti biologici di altro tipo. Negli ultimi anni si e(cid:30) arrivati alla sequen-
ziazione completa o quasi completa del genoma di molti organismi, com-
preso il genoma dell’uomo, ed e(cid:30) cos(cid:30)(cid:17) aumentata in misura vertiginosa la
quantita(cid:30) diinformazionegeneticagrezzache deveesserecatalogata, man-
tenuta e studiata dai ricercatori non solo della genetica, ma anche della
medicina, della farmacologia, della botanica, dell’agricoltura, della zoolo-
gia,dell’antropologia,dellageobiologia. Labioinformaticanascequindidal
bisognodigestire,catalogareedanalizzaregrandiquantita(cid:30) didatibiologici
che sono moltocomplessi evoluminosi. Infatti una cos(cid:30)(cid:17) immensaquantita(cid:30)
di informazioni crea svariati problemi, che vanno dal suo immagazzina-
mento alla messa a punto di so(cid:2)sticati sistemi di interrogazione, alla sua
analisi.
Lo sviluppo della biologia molecolare, della genetica e della biochimica
ha cos(cid:30)(cid:17) portato alla produzionedi una rilevantequantita(cid:30) di dati, dei quali
le biosequenze (acidi nucleici e proteine) costituiscono l’aspetto essenziale
e piu(cid:30) importante. La caratteristica intrinseca delle biosequenze, ovvero
l’esseremacromolecolebiologichecostituitedatanteunita(cid:30) (inucleotidiegli
aminoacidi)legatel’unadietrol’altraaformarestringhe,haresoindispen-
sabile l’utilizzo di tecnologie informatiche sia per la loro archiviazione che
perla loroanalisi. Infatti molte funzioni biologiche corrispondenti alle se-
quenzedegliaminoacidinelleproteinerisultanosconosciute. E(cid:30) possibile,in
alcunicasi, confrontarleoppureutilizzare strumentidianalisi percapirne
la struttura, identi(cid:2)carne i gruppi funzionali o per operare modi(cid:2)che (ad
esempioneldisegnodifarmaci).
Nell’ambitomolecolarelabioinformaticacomprendenumerosiaspettiab-
bastanzadiversitralorochevannodallacreazionedibanchedatispecializ-
zate, alla produzione di software, all’implementazione di modelli matema-
tici. Cisonoduetipi dibanche dati: quelleprimarieequellespecializzate.
Sono dette banche dati primarie le banche dati di sequenze di acidi nu-
cleici che contengono i dati grezzi di laboratorio, ossia informazioni molto
generiche,cioe(cid:30) quelminimodiinformazioninecessariedaassociareallase-
quenzaperidenti(cid:2)carla. Lebanchedatispecializzateinvecesisonosvilup-
pate successivamente, sono derivate da quelle primarie e contengono dati
associatiaquellidellebanchedatiprimarie. Laprimaraccoltadidati bio-
(cid:0)
logici fu una banca dati di proteine, la NBRF (National Biology Research
Foundation), e risale al 1960 ad opera di Margaret Dayhoff, una ricerca-
trice nel campo dell’evoluzione molecolare che era interessata ad avere la
maggior quantita(cid:30) possibile di dati di sequenze di proteine a disposizione
per i suoi studi. Nacquero successivamente le banche dati di sequenze di
acidinucleici: nel1980labancadatieuropea(EMBLDatalibrary),nel1982
quella americana (Genbank) e in(cid:2)ne nel 1986 quella giapponese (DDBJ).
Fra queste banche dati si e(cid:30) sviluppata una collaborazione internazionale
che ha reso possibile l’individuazione di un certo numero di informazioni
daassociareaciascunasequenzanucleotidicaedhafavoritoloscambiodei
dati tanto che, per gran parte, le sequenze e le relative informazioni nelle
tre banche dati sono comuni anche se strutturate in modo diverso. Ogni
voce della banca dati e(cid:30) caratterizzata da un nome, che in codice indica la
specie e la funzione biologica della sequenza che rappresenta, e da un nu-
meroche identi(cid:2)caunivocamentela sequenza. Altre informazioni relative
ad una sequenza per esempio nella banca dati EMBL sono: la lunghezza
della sequenza, la data della sua introduzione nella banca dati e le infor-
mazioni bibliogra(cid:2)che che riguardano la pubblicazione della sequenza, le
informazioni tassonomiche che indicano la specie da cui la sequenza e(cid:30) es-
tratta, le parole chiave che indicano le funzioni biologiche contenute nella
sequenza, il cross referencing che permette di collegare le banche dati di
sequenze di acidi nucleici a quelle di proteine e ad altre banche dati spe-
cializzate.
L’aspettodell’internazionalita(cid:30) e(cid:30) fondamentaleperlabioinformaticanegli
aspetti tecnologici e di servizio. Per quel che riguarda le banche dati di
acidinucleici,Stati Uniti,EuropaeGiappone collaboranoperla raccoltae
l’organizzazionedeidati. Inconseguenzaall’attenzionerivoltainternazional-
mente a certi progetti, e(cid:30) sorta l’esigenza di istituire centri internazionali
di bioinformatica: in particolare negli Stati Uniti il National Center for
Biotechnology Information (NCBI) con sede a Washington e in Europa il
EuropeanBioinformaticsInstitute(EBI)consedeaHinxton(UK).Talicen-
tridistribuisconotecnologiaecoordinanounservizioincentratosullebiose-
quenze a livello internazionale. Queste banche dati non avrebbero avuto
la possibilita(cid:30) di esisteree disvilupparsi conquesta velocita(cid:30) e (cid:2)no a questi
livellisenzalenuovetecnologieinformaticheetelematiche.
Un aspetto fondamentale della bioinformatica e(cid:30) lo studio delle informa-
zionicontenutenellebiosequenze,cioe(cid:30) ditutteleproblematichebiologiche
e le tecniche informatiche legate alla ricerca e comprensione di messaggi
all’interno delle biosequenze. Queste sequenze sono costituite da stringhe
(cid:0)
dicaratteri: inucleotidinegliacidinucleiciegliaminoacidinelleproteine,
lacuisuccessioneproduceede(cid:2)niscel’informazionebiologicacomeuntesto
scrittoinunalinguanaturaleconscritturaalfabetica. Peresempionelcaso
degli acidinucleici l’alfabeto e(cid:30) costituito daquattro elementi: adenina(A),
citosina(C),guanina(G)etimina(T)ouracile(U)nelDNAoRNA,mentre
perleproteinel’alfabetoha20lettere(i20aminoacidinaturali).
Nonostantesiconoscadacirca quarant’anniilcodicegeneticocheaogni
tripla di nucleotidi fa corrispondere un aminoacido, l’analisi dei testi bio-
logici e(cid:30) ancora agli inizi. Infatti il genoma non contiene solo le ricette per
la costruzione delle proteine, ma anche segnali, meccanismi di riconosci-
mento,ripetitivita(cid:30) ancoramisteriose.
Quando si determina una nuova sequenza, la prima operazione che di
solito si compieperla sua caratterizzazione e(cid:30) la ricerca, all’internodi una
banca dati, di sequenze con un grado di similarita(cid:30) statisticamente signi-
(cid:2)cativo rispetto alla sequenza in esame. Nelle proteine spesso esiste una
stretta, benche(cid:30) ancora poco compresa, relazione tra struttura e funzione
biologica: la funzione biologica di una proteina dipende dalla sua strut-
tura chimica e spaziale, che a sua volta e(cid:30) determinata dalla sua sequenza
aminoacidica. La determinazione del grado di similarita(cid:30) tra due o piu(cid:30) se-
quenze fa riferimento alla somiglianza che viene misurata tra sequenze
precedentementeallineate,comeverra(cid:30) descrittopiu(cid:30) avantiinquestaintro-
duzione.
La bioinformatica sta diventando sempre piu(cid:30) importante per la ricerca
medica: un altro dei suoi scopi e(cid:30) mettere a disposizione informazioni che
rendonopossibilel’ingegneriageneticaelosviluppodimedicinalicheespri-
mano o sopprimano determinate funzioni nelle cellule di un paziente o di
unagentenocivo.
Non conoscevo la bioinformatica (cid:2)no a quando non ho frequentato un
corsoinGermaniadovehocominciatoafamiliarizzareconquestamateria.
L’inizioe(cid:30) statounpo’dif(cid:2)cilesiaperiterminitecnicinellalinguastraniera
cheperilfattochepermeladisciplinaeranuova,madopoaverstudiatola
teoria,e(cid:30) statomoltointeressanteprovareadentrareeffettivamenteinuna
bancadatieadanalizzarneleinformazionicontenute.
Laprimapartedellatesi e(cid:30) dedicataall’esposizionediunlavorodiCarpi
e de Luca, apparso come rapporto di seminario nel 1998 e recentemente
in forma ampliata nel Journal of Theoretical Computer Science. Questo
lavoro contiene forse la prima caratterizzazione matematica degli ostacoli
nellaricostruzionediunasequenzadasuoiframmenti. Questiostacolisono
(cid:0)
rappresentatidaqueifattori,necessariamenteripetuti,dellasequenza(ter-
minepreferitodaibiologi)oparola(termineusatoininformaticateorica)da
ricostruire, che sono nondeterminanti, cioe(cid:30) che nella parola completa sono
seguiti da due lettere diverse o preceduti da due lettere diverse. Il calcolo
combinatoriodiquestifattorispecialie(cid:30) presentatoinmodoabbastanzadet-
tagliatonellavorodideLuca.
Anticipiamo brevemente l’idea degli algoritmi. Immaginiamo di avere
una sequenza genetica di cui conosciamo solo i pezzi piu(cid:30) piccoli che sono
il risultato di un trattamento biochimico, ad esempio di un trattamento
con endonucleasi di restrizione. Come possiamo ricomporre dai pezzi la
sequenza originale? Abbiamo quindi un problema di ricostruzione di una
parola, che chiamiamo , da un insieme dei suoi fattori; indichiamo con
(cid:0)
(cid:1)(cid:3)(cid:2) l’insieme dei fattori di una parola. Se ognuno di questi fattori nella
(cid:0)(cid:5)(cid:4)
parolaoriginaleavesseun’unicacontinuazioneversodestraeversosinistra
(se esistesse cioe(cid:30) per ognuno di questi fattori un’unica lettera tale che
(cid:6) (cid:7)
e(cid:30) ancora contenuto nella parola originale ed un’unica lettera tale
(cid:7)(cid:8)(cid:6) (cid:0) (cid:9)
che e(cid:30) fattore di ), allora la ricostruzionedovrebbe essere possibile. La
(cid:6)(cid:10)(cid:9) (cid:0)
dif(cid:2)colta(cid:30) nascedaqueifattorichenonhannoquestaproprieta(cid:30),cioe(cid:30) daquei
fattori che sononondeterminantia sinistra oadestra in nelsensoche
(cid:6) (cid:0)
esistono lettere con (cid:18) tali che (cid:1)(cid:3)(cid:2) e (cid:1)(cid:3)(cid:2) (in questo
(cid:7)(cid:12)(cid:11)(cid:13)(cid:7)(cid:15)(cid:14) (cid:7)(cid:17)(cid:16) (cid:7)(cid:8)(cid:14) (cid:7)(cid:8)(cid:6)(cid:17)(cid:19) (cid:0)(cid:20)(cid:4) (cid:7)(cid:8)(cid:14)(cid:21)(cid:6)(cid:17)(cid:19) (cid:0)(cid:20)(cid:4)
caso si dice che e(cid:30) nondeterminante a sinistra), oppure esistono
(cid:6) (cid:9)(cid:22)(cid:11)(cid:23)(cid:9)(cid:22)(cid:14)(cid:24)(cid:19)(cid:17)(cid:25)
con (cid:18) tali che (cid:1)(cid:3)(cid:2) e (cid:1)(cid:3)(cid:2) (in questo caso si dice che e(cid:30)
(cid:9)(cid:26)(cid:16) (cid:9)(cid:27)(cid:14) (cid:6)(cid:10)(cid:9)(cid:28)(cid:19) (cid:0)(cid:20)(cid:4) (cid:6)(cid:10)(cid:9)(cid:27)(cid:14)(cid:29)(cid:19) (cid:0)(cid:20)(cid:4) (cid:6)
nondeterminanteadestra).
L’idea di de Luca e(cid:30) adesso di racchiudere questi fattori tra due lettere
formandocos(cid:30)(cid:17)pacchetti;e(cid:30) anchechiarochesara(cid:30) suf(cid:2)cienteconoscereipac-
chettimassimali eifattorinondeterminanti massimaliperpoterricostru-
irelaparola. Siamoriuscitiasempli(cid:2)carel’esposizionenellavorooriginale,
daunlato dimostrandoche i fattorinondeterminanti a sinistra massimali
sono anche nondeterminanti a destra e quindi binondeterminanti massi-
malieviceversa,dall’altroutilizzandosistematicamenteparolechiuse,cioe(cid:30)
aggiungendo a sinistra e a destra lettere che non appaiono nella parola
originale, per eliminare i casi particolari che altrimenti si presentano alle
estremita(cid:30) dellaparola. Leideeetecnichecombinatoriesonoinvecegia(cid:30) tutte
contenutenellavorocitato.
Abbiamoimplementatoiduealgoritmipiu(cid:30) importantidellavorodiCarpi
edeLuca (cioe(cid:30) la ricostruzionediuna paroladai suoi pacchetti massimali
e la determinazione dei pacchetti massimali in successione ordinata, il ri-
coprimento canonico)in C++ e in parte in Perl. Abbiamo presentato in un
capitolo a parte le versatili possibilita(cid:30) di programmazione orientata agli
(cid:30)
oggettiinPerl.
Peralgoritmidicaratterepiu(cid:30) informaticosivedanogliarticolidiCroche-
more/Ve·rineRaf(cid:2)not,ilibridiCrochemore/Hancart/LecroqodiGus(cid:2)elde
la tesi diVe·rin. Proprioil genoma deglieucarioti contienemoltesequenze
ripetute; cio(cid:30) e(cid:30) ben noto anche ai genetisti; il libro di Gus(cid:2)eld, ricco e dif-
(cid:2)cile, contieneanche molte osservazionisulle implicazioni biologiche delle
ripetizioninelgenoma,rivisteanchenell’articolodiEpplen/Riess. Lacom-
binatoriadelleparolehamoltilegamiconlateoriadeisemigruppi,esposti
neltestorecentedideLuca/Varricchio.
Il Perl e(cid:30) oggi proposto molto spesso come linguaggioin ascesa per i pro-
blemi di bioinformatica (Tisdall, Gibas/Jambeck (cid:150) questi libri introducono
anche all’uso delle fonti bioinformatiche in Internet). Wall/Christiansen/-
Orwante(cid:30) l’introduzionestandardallinguaggioPerl.
Esistono vari metodi statistici per la ricostruzione di sequenze; un mo-
dello in cui viene anche esaminato il ruolo dei fattori ripetuti si trova nel
lavoro di Arratia/Martin/Reinert/Waterman. Il libro di Waterman ha una
forteinclinazionestatisticaanchequandotrattaproblemidicaratterecom-
binatorio.
Unaltroproblemae(cid:30) l’allineamentoottimaledidueopiu(cid:30) sequenze. L’alli-
neamentotraduesequenzeconsistenelladeterminazionediunarelazione
tra le lettere della prima sequenza con quelle della seconda in modo da
rendereminimoilnumerodidifferenze. L’allineamentocioe(cid:30) stabilisceuna
corrispondenza tra due sequenze (o parti di esse) in modo da minimizzare
ilnumerodioperazioninecessarieperlatrasformazionediunanell’altra.
SianoACGATAGATATCTGTA eCAATTCGAATCAGAlestringhedaal-
lineare. Lescriviamol’unasottol’altranelmodoseguente
AC(cid:150)GAT(cid:150)AGATATC(cid:150)TGTA
(cid:150)CA(cid:150)ATTCGA(cid:150)ATCA(cid:150)G(cid:150)A
Abbiamo quindi inserito dei segni (cid:150) in modo tale che le due stringhe al-
lungateabbianolastessa lunghezza, cercandodiottenereunmassimo nu-
merodiposizioniincuicoincidono. Unataledisposizionesichiamaallinea-
mento. Possiamo ora de(cid:2)nire la somiglianza tra due stringhe allungate
(che per brevita(cid:30) chiamiamo anche la somiglianza dell’allineamento): ogni
(cid:150) conta (cid:1) ; ogni posizione in cui si trovano due lettere uguali vale ; ogni
(cid:0) (cid:2)
posizione dove si trovano due lettere differenti conta ((cid:150) non viene con-
(cid:0)(cid:3)(cid:2)
sideratounalettera). Nelnostroesempioabbiamootto(cid:150),unaposizionecon
letterediverseedieciposizioni incuileletterecoincidono. Lasomiglianza
dell’allineamentoe(cid:30) quindi .
(cid:0)(cid:3)(cid:2)(cid:5)(cid:4)(cid:6)(cid:0)(cid:7)(cid:2)(cid:9)(cid:8)(cid:10)(cid:2)(cid:5)(cid:11)(cid:13)(cid:12)(cid:14)(cid:0)(cid:16)(cid:15)
(cid:17)
Questoproblemae(cid:30) statostudiatointensamenteconalgoritmipiu(cid:30) omeno
ef(cid:2)cienticongeneralizzazioniaicasidiallineamentilocaliediallineamenti
di piu(cid:30) di duesequenze, entrambi moltoimportanti nella pratica. Abbiamo
sperimentato qui il metodo dell’ottimizzazione genetica per l’allineamento
di due sequenze. Crediamo che si tratti di una tecnica ef(cid:2)ciente, (cid:2)nora
poco esplorata (tranne, per quanto sappiamo, nella tesi di Notredame). Il
programma, anche per ragioni di velocita(cid:30), e(cid:30) stato realizzato in C++. La
problematica degli allineamenti ottimali e(cid:30) esposta in molti testi di bioin-
formaticaocombinatoriadelleparole(Sankoff/Kruskal,Setubal/Meidanis,
Pevzner, Waterman, Gus(cid:2)eld, Crochemore/Hancart/Lecroq) o nell’articolo
di Altschul. L’ottimizzazione genetica e(cid:30) stata applicata anche al problema
diricostruzionedaParsons/Forrest/Burks.
Unabreveesposizionedeimeccanismi fondamentali della genetica(con-
servazionedell’informazione,suatrasmissioneetraduzioneinfunzionebio-
logica)sitrovanellibrodiBreckow/Greinert. IltrattatodiLodishe.a. e(cid:30)con-
siderato attualmente il testo piu(cid:30) completo di biologia molecolare; un’espo-
sizionemoltopiu(cid:30) brevesitrovanell’atlantetascabilediPassarge.
Sento il bisogno di ringraziare di cuoreil Prof. Eschgfa¤ller, non solo per
lacompetenzaeilsostegnochemihaoffertoperlastesuradiquestolavoro,
ma anche per la grandedisponibilita(cid:30) e l’aiuto sempredimostrati, in parti-
colareper la cura e l’attenzionenella preparazione della lingua tedesca in
occasionedellamiapartenzaperilsemestreErasmus,perlacollaborazione
nella ricerca di un lavoro per la borsa di studio Leonardo e per il suggeri-
mento e l’incoraggiamento a partecipare ad un corso di bioinformatica in
Germania.
(cid:0)
2. FATTORIDIUNAPAROLA
Situazione2.1: siauninsieme(cid:2)nito(cid:2)(cid:4)(cid:3) , (cfr. Def. 2.2),e .
(cid:0) (cid:1) (cid:5)(cid:7)(cid:6)(cid:8)(cid:0)(cid:10)(cid:9) (cid:11)(cid:13)(cid:12)(cid:15)(cid:14)(cid:16)(cid:6)(cid:8)(cid:17)
De(cid:2)nizione 2.2: (cid:2) (cid:20)(cid:21) (cid:22) sia il monoide libero generato da . Gli
(cid:0)(cid:10)(cid:9)(cid:19)(cid:18) (cid:0) (cid:0)
(cid:22)(cid:24)(cid:23)(cid:26)(cid:25)
elementidi sichiamanoletteredell’alfabeto ,glielementidi sichia-
(cid:0) (cid:0) (cid:0)(cid:27)(cid:9)
manoparole. L’elementoneutrodi (laparolavuota)e(cid:30) denotatacon .
(cid:0)(cid:28)(cid:9) (cid:29)
Poniamo (cid:2) . Comed’usonellacombinatoriadelleparole,per
(cid:0)(cid:31)(cid:30)(cid:19)(cid:18) (cid:0)(cid:31)(cid:9)! #"$(cid:29)&%
’)(+* ( (cid:22) (/*#0$0-01(
* (cid:12)-,-,$,-(cid:12) (cid:22)+. (cid:6)(cid:4)(cid:0) scriviamo semplicemente (cid:22) . Identi(cid:2)chiamo (cid:0) con
enotiamoche (cid:25) (cid:2) .
(cid:0) (cid:0) "-(cid:29)2%
De(cid:2)nizione2.3: Per e (cid:22) chiamiamo (cid:2) lalunghezzadi .
35476 (cid:5)8(cid:6)9(cid:0) :(cid:5);:+(cid:18) 3 (cid:5)
Inparticolare (cid:2) .
:(cid:29)<: 6
De(cid:2)nizione2.4: Per e usiamoleseguenti
=?>(cid:19)(cid:11)@>(cid:7):(cid:5);:BAC= 6(cid:27)>EDF>(cid:7):(cid:5);:-GH(cid:11)IA(cid:19)=
abbreviazioni:
’
(1) (cid:5) (cid:11) . sial’i-esimaletteradi(cid:5) per(cid:11)J>(cid:7):(cid:5);:.
’ ’(cid:15)K ’
Quindi(cid:5) (cid:2) (cid:5) = . (cid:5) . ,L,L,(cid:5) :(cid:5)(cid:28):. .
’ ’ ’
(2) (cid:5) (cid:11)(cid:13)(cid:12)(cid:13)D . (cid:18)(cid:2) (cid:5) (cid:11) . ,L,M,(cid:5) (cid:11)NAOD;GO= . per DF476+(cid:12)
’
(cid:5) (cid:11)(cid:13)(cid:12)16 . (cid:18)(cid:2) (cid:29) (ancheper(cid:11) (cid:2) :(cid:5);:PAQ= ).
’ ’
Inparticolare(cid:5) (cid:11) . (cid:2) (cid:5) (cid:11)(cid:13)(cid:12)-= . perogni(cid:11) .
De(cid:2)nizione2.5: Unaparola sidicefattoredi ,seesistono tali
R (cid:5) ST(cid:12)1U(cid:10)(cid:6)H(cid:0)(cid:27)(cid:9)
che (cid:2) .
(cid:5) S/R!U
’ ’
DenotiamoconV (cid:5) . l’insiemedeifattoridi(cid:5) . GlielementidiV (cid:5) . N"$(cid:5)?%
sichiamanofattoripropridi .
(cid:5)
’ ’
Per WYXE(cid:0)Z(cid:9) sia V W . (cid:18)(cid:2) (cid:21) V (cid:5) . .
[#\&]
’
Per3^4E6 sia V (cid:22) (cid:5) . l’insiemedeifattoridilunghezza >E3 di(cid:5) .
De(cid:2)nizione2.6:
(1) Una parola si chiama un pre(cid:2)sso di , se esiste tale che
S (cid:5) _Q(cid:6)‘(cid:0)(cid:10)(cid:9)
(cid:2) .
(cid:5) S/_
(2) Una parola si chiama un suf(cid:2)sso di , se esiste tale che
_ (cid:5) Sa(cid:6)‘(cid:0) (cid:9)
(cid:2) .
(cid:5) S/_
DenotiamoconPref( )l’insiemedeipre(cid:2)ssidi econSuff( )l’insiemedei
(cid:5) (cid:5) (cid:5)
suf(cid:2)ssi.
De(cid:2)nizione 2.7: alf((cid:5) . (cid:18)(cid:2) (cid:0)cbdV ’ (cid:5) . sia l’insieme delle lettere che com-
paionoin .
(cid:5)
De(cid:2)nizione2.8: Per sia
Re(cid:6)(cid:8)(cid:0)(cid:10)(cid:9)
f
Pos( ed .
(cid:0)(cid:2)(cid:1)(cid:4)(cid:3)(cid:6)(cid:5)(cid:8)(cid:7)(cid:10)(cid:9)(cid:12)(cid:11)(cid:8)(cid:13)(cid:15)(cid:14)(cid:17)(cid:16)(cid:19)(cid:18)(cid:21)(cid:20)(cid:23)(cid:22)(cid:24)(cid:13)(cid:25)(cid:22)(cid:12)(cid:18)(cid:3)(cid:26)(cid:18)(cid:28)(cid:27)(cid:29)(cid:20) (cid:0)(cid:17)(cid:9)(cid:30)(cid:3) (cid:31)!(cid:13)"(cid:1)#(cid:18)(cid:0)$(cid:18)(cid:5)&%
SiosservichePos( .
’((cid:1))(cid:3)(cid:6)(cid:5)(cid:15)(cid:9)(cid:12)(cid:11)*(cid:20)+(cid:1)-,.(cid:1)(cid:28)/0/1/0(cid:1)#(cid:18)(cid:3)(cid:26)(cid:18)2(cid:27)3(cid:20)+%
GlielementidiPos( )sichiamanoleposizionidi in .
(cid:0)(cid:2)(cid:1)(cid:4)(cid:3) (cid:0) (cid:3)
De(cid:2)nizione 2.9: contenga anche le lettere . Una parola si
4 (cid:27)5(cid:1)76 (cid:3)8(cid:14)94;:
chiamachiusa,seiniziacon eterminacon enoncontiene o alsuo
(cid:27) 6 (cid:27) 6
interno.
QuestaideasitrovaancheinGus(cid:2)eldeRaf(cid:2)not.
De(cid:2)nizione 2.10: Per sia int la parola che si
(cid:18)(cid:3)(cid:26)(cid:18)(cid:8)<=, (cid:3)>(cid:7)?(cid:9)@(cid:3) (cid:31)A,(cid:21)(cid:1)((cid:18)(cid:3)5(cid:18)B63,*(cid:5)
ottieneda togliendolaprimael’ultimalettera.
(cid:3)
Unfattore di sichiamainterno,se int .
(cid:0) (cid:3) (cid:0)C(cid:14)CDE(cid:31) (cid:3)(cid:6)(cid:5)
puo(cid:30) essere allo stesso tempo un fattore interno e un pre(cid:2)sso e un
(cid:0) (cid:9)HF G
suf(cid:2)ssodi , comemostral’esempio , . Cio(cid:30) nonpuo(cid:30) accadere
(cid:3) (cid:3)I(cid:9)KJLJLJ (cid:0)M(cid:9)(cid:12)J
se e(cid:30) chiusa. Per de(cid:2)niamoanchel’internodestro
(cid:3) (cid:18)(cid:3)5(cid:18)(cid:21)<N(cid:20)
(cid:3)9(cid:27)(cid:29)(cid:20)O(cid:7)(cid:10)(cid:9)3(cid:3) (cid:31)A,(cid:21)(cid:1)((cid:18)(cid:3)5(cid:18)P6(cid:24)(cid:20)((cid:5)
come la parola che si ottiene da togliendo la prima lettera e l’interno
(cid:3)
sinistro
(cid:3)36(cid:24)(cid:20)O(cid:7)(cid:10)(cid:9)3(cid:3) (cid:31)Q(cid:20)*(cid:1)((cid:18)(cid:3)5(cid:18)P6(cid:24)(cid:20)((cid:5)
comelaparolachesiottieneda togliendol’ultimalettera.
(cid:3)
R
Description:nella ricostruzione di una sequenza da suoi frammenti. R. Parsons/S. Forrest/ C. Burks: Genetic algorithms operators, and DNA fragment assembly