búsqueda de patrones

45
Informática biomédica Patrones Rodrigo Santamaría

Upload: haxuyen

Post on 06-Jan-2017

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Búsqueda de patrones

InformáticabiomédicaPatrones

RodrigoSantamaría

Page 2: Búsqueda de patrones

Patrones

Unpocodebiología

• Unpocodebiología• K-mers• DNAbox• Motivos

• Unpocodeestadística• Mutaciones• Combinaciones• Permutaciones

• Cazandomotivosesquivos

Page 3: Búsqueda de patrones

K-mer

• Esunasecuenciadeknucleótidos– Conceptomuyutilizadoenensamblado,alineamientoybúsquedadesecuencias

Page 4: Búsqueda de patrones

DNAbox• LaproteínaDnaA eselfactordeiniciodelareplicaciónenbacterias

• DnaA seuneadeterminadasregionesenoriC*,conocidascomoDnaA boxes.– Porejemplo,enE.coli hay4DnaA boxesquecontienenel9-mer5’-TTATCCACA-3’**

*oriC es una región abstracta,deuna longitud arbitraria,generalmente entorno alas 500basesEnelEjercicio 4delaSesión 1calculamos elsesgo mínimo deEcoli, que usaremos para eloriC deesta bacteria

http://www.ebi.ac.uk/pdb

e/entry/pd

b/1j1v

**https://en.wikipedia.org/wiki/Prokaryotic_DNA_replication

Page 5: Búsqueda de patrones

Contando k-mers

• Es sencillo,simplemente implica recorrer unasecuencia ycapturar cada subsecuencia delongitud kACTGGGTCGTAACGTGCAGTTTAAACGC

k=7

ACTGGGT +1CTGGGTC +1TGGGTCG +1...

¿Cuál es lacomplejidad delmétodo?

Page 6: Búsqueda de patrones

Ejercicio1

• ImplementarlafuncióncountKmers:– entrada:• seq (cadenaoriginal)• k (tamañodelk-mero)• n (nºdeocurrencias)

– salida:diccionarioquetengacomoclaveslosk-merosycomovaloreselnúmerodevecesqueapareceenseq.Sóloapareceráneneldiccionariolosk-merosqueaparezcann omásveces

6

Page 7: Búsqueda de patrones

Ejercicio1• Ejemplo– entrada:

• ACGTTGCATGTCGCATGATGCATGAGAGCT• 4• 2

– salida:• {'GCAT': 3, 'ATGA': 2, 'TGCA': 2, 'CATG': 3}

• Prueba– OriC deVibriocholerae

• http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/oric.txt

– 9– 3

7

Page 8: Búsqueda de patrones

Motivos

• Losmotivossonk-merosqueaparecenrecurrentementeenalgúnaspectobiológico

UsandocountKmers,¿qué9-merosfrecuentespodemosencontrarenlaregiónoriC deVibrio cholerae?

¡Eureka!Hayunpatrónbastanteclaro:lassecuenciasCTTGATCAT ysucomplementariaATGATCAAG aparecen3vecescadauna.

Peroojo,nopodemos saltarrápidamentealaconclusióndequehayunmotivoparatodoslosgenomasbacterianosquecaractericeorígenesdereplicación.Einclusopodría serqueelpatrónencontradoparaVcholerae seasólodebidoalazarynotengasignificanciaestadística.

Deberemoscomprobarestasdoscuestiones8

Page 9: Búsqueda de patrones

Motivos

• PodemosusarcountKmers parabuscar9-mersqueaparezcan3omásveceseneloriC deThermotoga petrophila– ¿SonlosmismosqueenVCholerae?

Thermotoga petrophila esunabacteriaqueresistetemperaturasmuyaltas,graciasasucubierta(la‘togatérmica’)

Descubiertaenundepósito depetróleo,a70oC(’amigadelpetróleo’)

9

Page 10: Búsqueda de patrones

K-merosesquivos• SiusamoscountKmers eneloriC deEcoli,noencontramostodas

lasocurrenciasdelmotivoesperado(TTATCCACA)• Elcódigogenéticoesdegenerado

– Existenmutacionesquepuedenvariarligeramenteelpatróndeunmotivo

TTATCCACATTATCGACATGATCCATA

10

¿Hastaquépuntounpatrónesigualperodegenerado,odirectamentedistinto?¿Quécriteriosestadísticosobiológicosmarcamosparaestasdistinciones?¿Cómoafectaelcódigodegeneradoalabúsquedacomputacional(diseño dealgoritmos, rendimiento,etc.)?Todasestassonpreguntas importantesqueiremosdiscutiendo

Page 11: Búsqueda de patrones

Ejercicio2• ImplementarlafunciónfindMotif:– entrada:

• motif (motivodeADNabuscar)• seq (cadenadeADNdondebuscar)• d (nºdemutacionespermitidasrespectoamotif)

– salida:undiccionario{pos,motif} dondesealmacenaelpatrónencontradoysuposicióndeinicio

• Ejemplo:– seq:CGCCCGAATCCAGAACGCATTCCCCTGGCCTCCATTCTGGAACGGTACGGACGTCAATCAAAT– motif:ATTCTGGA– d:3– salida:{6: 'AATCCAGA', 7: 'ATCCAGAA', 33: 'ATTCTGGA’}

11

Page 12: Búsqueda de patrones

Ejercicio2

• Prueba:– seq:oriC deEcoli• Paracalcularla,tomamosunaseccióndelgenomadeEcoli de500bases,comenzandoporlaprimeraposiciónobtenidaconlafunciónminSkew (ejercicio4delasesión1)

– motif:DNAboxconocidopormétodosexperimentales• TTATCCACA

– d:1

12

Page 13: Búsqueda de patrones

Reflexión

• Conelejercicio2,¿seencuentranlas4ocurrenciasdeTTATCCACA eneloriC deEcoli?– ¡No!

• ¿Porqué,sitenemosencuentalosmutantes?– Porquesóloconsideramoslosk-mers mutantesqueyaseencuentrenenlasecuencia

– Necesitamospensarentérminosdetodoslosposiblesk-mers• Problemasdecombinatoria(estadística)• Problemasderendimiento(computación)

13

Page 14: Búsqueda de patrones

Secuenciaconsenso

• Secuenciamásfrecuentedeentrevarias

ATTCTGGAAATCTCGAACACTGGG--------A*TCTGGA31233232

14

Encaso deque nohayaningún valorque destaquepara una determinadaposición, sesuele utilizaralguna técnica dedesempate o,máscoherente,usar uncarácter que indique quepara esa posición nohayunconsenso claro (p.ej.unasterisco)

Page 15: Búsqueda de patrones

Consensoylogos

• Sepuedenusarmayúsculasyminúsculaspararepresentarelgradodeconsenso,otécnicasmáscomplejas(logosdesecuencia)

ATTCTGGAAATCTCGAACACTGGG--------A*tCTgGa31233232

15

Page 16: Búsqueda de patrones

Ejercicio3

• Implementarlafunciónconsensus:– entrada:

• seqs (listadesecuenciasdeADNdelamismalongitud)– salida:str conlacadenadeconsenso

• Encasodeempate,sedesempataalfabéticamente

• Ejemplo:– seqs: ['ATTCTGGA', 'AATCCAGA', 'ATCCAGAA']– salida:ATTCAGGA

• Prueba:– ADNmitocondrialdedistintosprimates*

16*http://vis.usal.es/rodrigo/documentos/bioinfo/filogenia/mitDNAprimates.fasta

Page 17: Búsqueda de patrones

Patrones

Unpocodeestadística

• Unpocodebiología• DNAbox• K-mers• Motivos

• Unpocodeestadística• Mutaciones• Combinaciones• Permutaciones

• Cazandomotivosesquivos

Page 18: Búsqueda de patrones

Mutaciones

• Lasmutacionesdelcódigogenéticoson– Unarealidadbiológica– Unacomplicacióncomputacional– Unproblemaestadístico

Page 19: Búsqueda de patrones

Combinacionesypermutaciones

• Combinación:mezclasinimportarelorden• Permutación:mezclaordenada– permutación– posición

• Enamboscasos,podemospermitirrepeticióndeelementosono

• Combinación:473,374,347sonlomismo• Permutación:473esdistintode374y347

Page 20: Búsqueda de patrones

Permutacionesconrepetición

• ¿CuántasposiblescadenasdeDNAdelongitudrexisten?– Tenemosn elementos(aquí,n=4nucleótidos)– Hacemosr elecciones:n·n·n…·n (r veces)– Permutacionesconrepetición:nr

– Paraunacadenade30nucleótidos• 430=1152921504606846976posiblescadenas!~ 1trillón

Page 21: Búsqueda de patrones

Permutacionessinrepetición

• Tenemosn elementosentrelosqueelegirr– Elnºdepermutacionesconrepeticiónposibleses• nx(n-1)x(n-2)…x(n-r)• Enotraspalabras,hayunaposibilidadmenosconcadanuevaelección

• Funciónfactorial– n!=nx(n-1)x(n-2)x…x3x2x1– 4!=4x3x2x1=24

Page 22: Búsqueda de patrones

Permutacionessinrepetición

• SeanlosnucleótidosA,T,C,G(n=4)• Lasposiblespermutacionessinrepeticióndecadenasdelongitudr=4serán:

A à T à C à GC GG

T à A à C à GC GG

…4 · 3 · 2 · 1 = 24

Page 23: Búsqueda de patrones

Permutacionessinrepetición

• Podemostenerpermutacionessinrepeticióndehastalongitudr=n

• Sir<n,laprobabilidadnoeselfactorial– n·(n-1)·(n-2)·…·(n-r+1)

n!(n− r)!

Page 24: Búsqueda de patrones

Combinacionessinrepetición

• Enunacombinaciónnoimportaelorden• Lamejorformadeverloestomartodaslasposiblespermutacionessinrepetición(r=n)

• Porejemplo,parar=n=3Importaelorden (3!) Noimportaelorden(1)

123

132

213 123

23 1

312

321

Page 25: Búsqueda de patrones

Combinacionessinrepetición

• Porlotanto,sólotenemosquedividirlaspermutacionessinrepeticiónentrer!

• Estaesunafunciónimportante(coeficientebinomial)yserepresentacomosevearriba

n!r!(n− r)!

= nr

"

#$

%

&'

Page 26: Búsqueda de patrones

Combinacionesconrepetición

• Estafórmulaesunpocomásdifícildededucirintuitivamente:

n+ r −1r

"

#$

%

&'=(n+ r −1)!r!(n−1)!

Page 27: Búsqueda de patrones

ResumenPosición? Repetición? Posibilidades

(n elems.,relecs.)Comentarios

Permutación(sí) Sí nr nposibilidades porelección

No n posibilidadesenla1ªelecciónn-1enla2ªelección,etc.

Combinación (no) Sí

No Comola permutaciónsinrepeticiónperoeliminando lasposiblescombinatoriasencadaronda(r!)

Más información: http://www.mathsisfun.com/combinatorics/combinations-permutations.html

(n+ r −1)!r!(n−1)!

n!(n− r)!

n!r!(n− r)!

Page 28: Búsqueda de patrones

Ejercicio• SeaunacadenaS de11nucleótidos– Cuantascadenasposiblesmutadasen2nucleótidosexistenparaS?

• 1ºpaso:– CuántasposiblescombinacionesdelugareshayparamutacionesdeS en2nucleótidos?1. Cuántovalennyr?

– reselnºdecambiosquequeremosà 2– neselnºdepuntosposiblesdecambioà 11

2. Importaelordendelasmutaciones?– no(combinación)

3. Puedeunamismaposiciónrecibirlasdosmutaciones?– Vamosaconsiderarqueno(sinrepetición)

Page 29: Búsqueda de patrones

Ejercicio

• Tenemos55posiblesparesdeposicionesdondepuedehabermutación

11!2!(11− 2)!

= 55

Page 30: Búsqueda de patrones

Ejercicio4

• 2ºpaso: paracadaunodeesospares,¿cuántasposiblesmutacionespuedehaber?– r,puntosdecambioà 2– n,opcionesdecambioà 3– Importaelorden?à Sí(permutación)– Hayrepetición?à Sí– 32=9

• 55·9=495posiblesmutacionesen2nucleótidosenunacadenade11

• Ytodaslasposiblesmutacionesen3nucleótidos?

Page 31: Búsqueda de patrones

Patrones

Cazandomotivosesquivos

• Unpocodebiología• DNAbox• K-mers• Motivos

• Unpocodeestadística• Mutaciones• Combinaciones• Permutaciones

• Cazandomotivosesquivos

Page 32: Búsqueda de patrones

Motivosesquivos

• Elproblemaqueteníamosantes*esquesóloteníamosencuentamotivosqueaparecieranennuestrasecuencia– Peropuedehabermotivosqueno aparezcanenlasecuenciaperopormutacionesseanlosmáscomunes!

– Conclusión:debemostenerencuentatodoslosmotivosposiblesparauntamañodek-mer

*Ejercicio 2

Page 33: Búsqueda de patrones

Ejercicio

• Usarlafunciónmutations*:– entrada

• word:palabradelaquebuscamostodaslamutaciones• letters:posiblesletrasenword oenlasmutaciones• num_mismatches: númerodemutacionespuntuales

– salida• vectorcontodaslasposiblesmutacionesdeword

• UsarlafunciónmutationsEqualOrLessquecalculatodaslasmutacionesconhastanum_mismatches

* http://vis.usal.es/rodrigo/documentos/bioinfo/muii/mutations.py

Page 34: Búsqueda de patrones

Solución

http://vis.usal.es/rodrigo/documentos/bioinfo/muii/mutations.py

Page 35: Búsqueda de patrones

Ejercicio5

• ImplementarlafunciónallMutations:– entrada• seq:secuenciadelaquebuscamostodoslosk-mers• k:tamañodelosk-mers• d:númerodemutacionespuntuales

– salida• longituddelvectorcontodoslosk-mer posiblesenseq,incluidosaquellosquenoseencuentranexplícitamenteenseq,considerandohastadmutacionespuntuales

Page 36: Búsqueda de patrones

Ejercicio5• Pista:– UtilizarlafunciónmutationsEqualOrLess yunavariableconjuntodetiposet

• Ejemplo:– seq:CGCCCGAATCCAGAACGCATTCCCATATTTCGGGACCACTGGCCTCCACGGTACGGACGTCAATCAAAT

– k:9– d:2– salida:20847

• Prueba:oriC deEcoli,conk=9 yd=3

36

Page 37: Búsqueda de patrones

Ejercicio6

• ImplementarlafuncióncountKmersV2:– entrada:

• seq (cadenadondebuscamos)• d (nºdemutacionespermitidas)• k (tamañodelk-mer)• n (nºmínimodevecesqueseencuentraelk-mer)

– salida:diccionarioconlosk-mers (clave)ylafrecuenciaconlaqueocurren(valor)• contandohastadmutaciones• filtrandolosk-mers conmenosden ocurrencias• teniendoencuentak-mers quenoestánenlasecuencia

37

Page 38: Búsqueda de patrones

Ejercicio6

• Ejemplo:– seq:AACAAGCTGATAAACATTTAAAGAG– k:5– d:1– n:3– salida:{'AACAG': 3, 'TAAAA': 3, 'ATTAA': 3, 'AAGAT': 3, 'AAAAA': 4, 'TTAAA': 3, 'AAAAG': 3}

• Prueba:– OriC deEcoli conk=9 yd=1 (n=3)

38

Page 39: Búsqueda de patrones

BuscandoDNAboxes

• RecordemosquelaDNAboxconocidaexperimentalmenteenEcoli esTTACCACA,queaparece4vecesenlaregiónoricEC*

• SiejecutamoscountKmersV2 conk=9, d=1, min=2– TTACCACA tiene2ocurrencias– Losk-mersmásfrecuentestienen3– SeguimosigualqueconfindMotif (ej.2)

*http://en.wikipedia.org/wiki/Prokaryotic_DNA_replication

¿Quéfalla?

Page 40: Búsqueda de patrones

Ejercicio7• ModificarligeramentelafunciónanteriorparahacerlafuncióncountKmersV3:– entrada:

• seq (cadenadondebuscamos)• d (nºdemutacionespermitidas)• k (tamañodelk-mero)• n (nºmínimodevecesqueseencuentraelk-mer)

– salida:diccionarioconlosk-mers enseq (clave)ylafrecuenciaconlaqueocurren(valor)• contandohastadmutaciones• filtrandolosk-mers conmenosden ocurrencias• teniendoencuentak-mers quenoestánenlasecuencia• teniendoencuentalasocurrenciasdelk-mer reversocomplementario

40

Page 41: Búsqueda de patrones

Ejercicio7• Ejemplo:

– seq:AACAAGCTGATAAACATTTAAAGAG– k:5– d:1– min:4– salida:{'AAAAA': 4, 'CTTTT': 4, 'AACAG': 4, 'TTTAA': 5, 'TAAAA': 5, 'TTAAT': 4, 'TTGAA': 4, 'GTTAA': 4, 'ATTAA': 4, 'TTCAA': 4, 'TTAAC': 4, 'TTATA': 4, 'TTAAA': 5, 'TTTTA': 5, 'TATAA': 4, 'CTGTT': 4, 'AAAAG': 4, ’TTTTT': 4}

• Prueba:– OriC deEcoli conk=9 yd=1 (min=4)

41

Page 42: Búsqueda de patrones

BuscandoDNAboxes

• Contandolasocurrenciasinversascomplementarias,síqueencontramoslascuatroocurrenciasdeTTATACACA:

AATGATGATGACGTCAAAAGGATCCGGATAAAACATGGTGATTGCCTCGCATAACGCGGTATGAAAATGGATTGAAGCCCGGGCCGTGGATTCTACTCAACTTTGTCGGCTTGAGAAAGACCTGGGATCCTGGGTATTAAAAAGAAGATCTATTTATTTAGAGATCTGTTCTATTGTGATCTCTTATTAGGATCGCACTGCCCTGTGGATAACAAGGATCCGGCTTTTAAGATCAACAACCTGGAAAGGATCATTAACTGTGAATGATCGGTGATCCTGGACCGTATAAGCTGGGATCAGAATGAGGGGTTATACACAACTCAAAAACTGAACAACAGTTGTTCTTTGGATAACTACCGGTTGATCCAAGCTTCCTGACAGAGTTATCCACAGTAGATCGCACGATCTGTATACTTATTTGAGTAAATTAACCCACGATCCCAGCCATTCTTCTGCCGGATCTTCCGGAATGTCGTGATCAAGAATGTTGATCTTCAGTG

mutación sentido antisentido

Page 43: Búsqueda de patrones

BuscandoDNAboxes• Hemostenidomuchasuertedequeelmotivoestuvierajustoenlos500nucleótidosquehemoselegidoparadefinirOriC

• Haymuchaspreguntasenelaire:– Hayotrosmotivoscon4ocurrenciasenoriC. ¿Sonequivalentesalencontrado?¿Paraquésirven?

– ¿Porqué9-mersyno8-merso10-mers?– ¿Porquéunasolamutación,ynoninguna,odos?– ¿Cuántotardatualgoritmoparaunasecuenciade500bases?¿seríafactibleparabuscarentodoungenoma?

Page 44: Búsqueda de patrones
Page 45: Búsqueda de patrones

http://xkcd.com/830/