Motivos - VisUSALvis.usal.es/rodrigo/documentos/bioinfo/muii/sesiones/3-motivos.pdf ·...

Post on 06-Mar-2018

228 views 3 download

Transcript of Motivos - VisUSALvis.usal.es/rodrigo/documentos/bioinfo/muii/sesiones/3-motivos.pdf ·...

InformáticabiomédicaMotivos

RodrigoSantamaría

Motivos

MotivosExpresióngénicayrelojcircadianoRegulacióngenómicaymotivos

Matricesdepuntuaciónyentropía

• Motivos• Búsquedademotivos• Búsquedaavariciosa• Búsquedaaleatoria

Relojcircadiano

• ‘Reloj’biológicoquecontrolanuestraagenda– Razónporlaquesufrimosjet-lag– Experimentosconsujetosentotaloscuridaddurante24hmuestranquelosciclossemantienen

• Muyimportanteenplantas– Paracoordinarseconlasalida/puestadelsol– Dependiendodelmomentodeldíadeterminadoporsureloj,susgenesseexpresarán diferente

Dogmacentraldelabiologíamolecular

“DNAàmRNAà proteínas”DNA

mRNA

transcription

Protein

translation

expresión

Vídeos sobre losprocesos detranscripción ytraducción delaNDSUhttp://vcell.ndsu.nodak.edu/animations/transcriptionhttp://vcell.ndsu.nodak.edu/animations/translation

Genesreguladores• Enplantas,LHY,CCA1y

TOC1 sonlosgenesqueregulanelrelojcircadiano– TOC1activaCCA1/LHY,

queluegoreprimenlosnivelesdeTOC1

– AlreprimirselosnivelesdeTOC1,bajantambiénlosdeCCA1/LHY,hastaqueTOC1sevuelvearecuperarporlanocheylosreactivaparaunnuevodía

• Estoseconocecomounbuclederealimentaciónnegativoyesmuycomún

https://sqonline.ucsd.edu/2013/06/growth-spurts-circadian-secrets-and-an-algal-cure-for-malaria/

Factores detranscripción

• LHC/CCA1/TOC1songenesreguladoresporque las proteínas que expresan sonfactores detranscripción– Seunen amotivos reguladores (olugares deunión defactores detranscripción)• Secuencias cortas deDNAcerca deliniciodetranscripción deungen• Deesta manera,promueven laactivación delgen

Motivos

• [SteveKay,2000]encontró que 46de500genesconuncomportamiento circadiano deuna planta,Arabidopsisthaliana, compartíanelmotivo AAAATATCT

• Ejercicio:¿Cuál es elnúmero esperado deocurrencias deun9-meren500secuencias,cada una delongitud 1000?

Motivos esquivos

• Desgraciadamente,lonormales que losmotivos contenganmutaciones

1 T C G G G G g T T T t t2 c C G G t G A c T T a C3 a C G G G G A T T T t C4 T t G G G G A c T T t t 5 a a G G G G A c T T C C6 T t G G G G A c T T C C7 T C G G G G A T T c a t8 T C G G G G A T T c C t9 T a G G G G A a c T a C10 T C G G G t A T a a C C

Por ejemplo,estas sontodas lavariaciones delmotivoTCGGGGATTTCC,reguladordelarespuesta inmune enDrosophilamelanogaster(mosca).Eneste motivo seune elfactordetranscripción NF-xB*

*NF-xB es unactorclaveenmuchos procesos celulares,especialmente enlareacción inmunológica frente aunainfección.Suregulación incorrectaestá ligada aldesarrollo decáncer,choques sépticos yenfermedades autoinmunes

Motivos esquivos

• Hemos implantado un15-merenestas 10secuencias:– ¿Puedes encontrar elmensaje oculto?

aagcttcaccggcaaaaaaaagggggggatcgcccacggactcacatcctcattactattctgcctagcaaactcaaactacgaacgcactcacagtcgcatcataatcctctctcaaggacttcaaactctactccaaaaaaaaggggggggatgacttctagcaagcctcgctaaaaaaaagggggggcccactattaacctactgggagaactctctgtgctagtaaccacgttctcctgatcaaataaaaaaaagggggggacaggactcaacatactagtcacagccctatactccctctacatatttaccacaacacaatggggctcactcacccaccacattaacaacataaaacccaaaaaaaagggggggaacaccctcatgttcatacacctatcccccattctcctaaaaaaaagggggggcgacatcattaccgggttttcctcttgtaaatatagtttaaccaaaacatcagattgtgaatctgaaaaaaaaagggggggaccccttatttaccgagaaagctcacaagaactgctaactcaaaaaaaaagggggggcaacatggctttctcaacttttaaaggataacagctatccattggtcttaggccccaaaaattttggtgcaactccaaataaaagtaataaccatgcacactactataacaaaaaaaagggggggttccctaattcccccatccttaccaccctcgttaaccctaacaaaaaaaactcatacccccattatgtaaaaaaaaaggggggga

Motivos esquivos• Solución:

• Sinembargo,si variamos 4nucleótidos alazar

aagcttcaccggcAAAAAAAAGGGGGGGatcgcccacggactcacatcctcattactattctgcctagcaaactcaaactacgaacgcactcacagtcgcatcataatcctctctcaaggacttcaaactctactccAAAAAAAAGGGGGGGgatgacttctagcaagcctcgctAAAAAAAAGGGGGGGcccactattaacctactgggagaactctctgtgctagtaaccacgttctcctgatcaaatAAAAAAAAGGGGGGGacaggactcaacatactagtcacagccctatactccctctacatatttaccacaacacaatggggctcactcacccaccacattaacaacataaaacccAAAAAAAAGGGGGGGaacaccctcatgttcatacacctatcccccattctcctAAAAAAAAGGGGGGGcgacatcattaccgggttttcctcttgtaaatatagtttaaccaaaacatcagattgtgaatctgaAAAAAAAAGGGGGGGaccccttatttaccgagaaagctcacaagaactgctaactcaAAAAAAAAGGGGGGGcaacatggctttctcaacttttaaaggataacagctatccattggtcttaggccccaaaaattttggtgcaactccaaataaaagtaataaccatgcacactactataacAAAAAAAAGGGGGGGttccctaattcccccatccttaccaccctcgttaaccctaacaaaaaaaactcatacccccattatgtaAAAAAAAAGGGGGGGa

aagcttcaccggcAAgAAgAAGGtGGtGatcgcccacggactcacatcctcattactattctgcctagcaaactcaaactacgaacgcactcacagtcgcatcataatcctctctcaaggacttcaaactctactccAAAgAAtaGGGGcGGgatgacttctagcaagcctcgctAccAAAAAGGGtGGacccactattaacctactgggagaactctctgtgctagtaaccacgttctcctgatcaaatAAAgAAgAaGGGtGGacaggactcaacatactagtcacagccctatactccctctacatatttaccacaacacaatggggctcactcacccaccacattaacaacataaaacccAAAAcgAAtGGGGGaaacaccctcatgttcatacacctatcccccattctcctAAAtAAtAGGGGcGacgacatcattaccgggttttcctcttgtaaatatagtttaaccaaaacatcagattgtgaatctgacAAAAAgtGcGGGGGaccccttatttaccgagaaagctcacaagaactgctaactcaAAAAAAAtaGGGaaGcaacatggctttctcaacttttaaaggataacagctatccattggtcttaggccccaaaaattttggtgcaactccaaataaaagtaataaccatgcacactactataacAAAAAAtAcGGtaGGttccctaattcccccatccttaccaccctcgttaaccctaacaaaaaaaactcatacccccattatgtaAtAcAgAAaGGGGGGa

Paquetes

1. Añadirlarutadenuestropaquetealpath:

2. Importararchivosesion2methods.py yutilizarcualquierfuncióndefinidaenél

11

Ejercicio

• UtilizarlafuncióncountKmersV3 delasesiónanteriorconlossiguientesargumentosdeentrada:– seq=aagcttcaccggcAAgAAgAAGGtGGtGatcgcccacggactcacatcctcattactattctgc

ctagcaaactcaaactacgaacgcactcacagtcgcatcataatcctctctcaaggacttcaaactctactccAAAgAAtaGGGGcGGgatgacttctagcaagcctcgctAccAAAAAGGGtGGacccactattaacctactgggagaactctctgtgctagtaaccacgttctcctgatcaaatAAAgAAgAaGGGtGGacaggactcaacatactagtcacagccctatactccctctacatatttaccacaacacaatggggctcactcacccaccacattaacaacataaaacccAAAAcgAAtGGGGGaaacaccctcatgttcatacacctatcccccattctcctAAAtAAtAGGGGcGacgacatcattaccgggttttcctcttgtaaatatagtttaaccaaaacatcagattgtgaatctgacAAAAAgtGcGGGGGaccccttatttaccgagaaagctcacaagaactgctaactcaAAAAAAAtaGGGaaGcaacatggctttctcaacttttaaaggataacagctatccattggtcttaggccccaaaaattttggtgcaactccaaataaaagtaataaccatgcacactactataacAAAAAAtAcGGtaGGttccctaattcccccatccttaccaccctcgttaaccctaacaaaaaaaactcatacccccattatgtaAtAcAgAAaGGGGGGa

– k=15– d=4– min=3

12

à Imposible,demasiado lento.Sólo funciona conk-merospequeños (k<=9)ypocas mutaciones (d=1,2)

Búsqueda demotivos:Definiendo elproblema

• Entrada*:– Dna: colección det cadenas delongitud n– k: tamaño delmotivo– d: número demutaciones

• Salida:– Todos losmotivos (k,d) en Dna

*Demomento limitamos elproblema ak<=15,d<=4,yt<=10cadenas deunos 600nucleótidos (tamaño medio deuna región reguladora)

PuntuandomotivosT C G G G G g T T T t tc C G G t G A c T T a Ca C G G G G A T T T t CT t G G G G A c T T t t a a G G G G A c T T C CT t G G G G A c T T C CT C G G G G A T T c a tT C G G G G A T T c C tT a G G G G A a c T a CT C G G G t A T a a C C

Motivos

score(Motivos) 3+4+0+0+1+1+1+5+2+3+6+4 = 30

consensus(Motivos) T C G G G G A T T T C C

profile(Motivos)A: .2 .2 0 0 0 0 .9 .1 .1 .1 .3 0 C: .1 .6 0 0 0 0 0 .4 .1 .2 .4 .6G: 0 0 1 1 .9 .9 .1 0 0 0 0 0 T: .7 .2 0 0 .1 .1 0 .5 .8 .7 .3. 4

Ejercicio1• Implementarlafunciónscore:

– entrada:• Dna (conjuntodetcadenasdelongitudn)

– salida:sumadetodoslosnucleótidosquenocoincidenconelnucleótidomayoritariodesucolumna

• Ejemplo:– Dna:utilizarlosdocemotivosdeNF-xB descritosanteriormente

• http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/nfkbMotifs.txt– salida:30

• Prueba– Dna:

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

15

Ejercicio• Implementarlafunciónprofile:– entrada:

• Dna (conjuntodetcadenasdelongitudn)– salida:perfildelascadenas

• Ejemplo:– Dna:utilizarlosdocemotivosdeNF-xB descritosanteriormente• http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/nfkbMotifs.txt

– salida:• {'A': [0.2, 0.2, 0.0, 0.0, 0.0, 0.0, 0.9, 0.1, 0.1, 0.1, 0.3, 0.0],

'C': [0.1, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4, 0.1, 0.2, 0.4, 0.6], 'T': [0.7, 0.2, 0.0, 0.0, 0.1, 0.1, 0.0, 0.5, 0.8, 0.7, 0.3, 0.4], 'G': [0.0, 0.0, 1.0, 1.0, 0.9, 0.9, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0]}

16

Puntuación

• Elproblema delabúsqueda demotivos sepuede ver como unproblema debuscar unconjunto dek-motivos que minimice lapuntuación

Lapuntuación mínima que podemos alcanzar es decero,pero para tmotivos detamaño k,

¿cuál sería lapuntuación máxima?

Motivos

BúsquedadeMotivosDefinicióndelproblema

Fuerzabruta

• Motivos• Búsquedademotivos• Búsquedaavariciosa• Búsquedaaleatoria

Búsqueda demotivos:Definiendo elproblema (score)

• Podemos definir unpocomás elproblema• Entrada:– Dna: colección det cadenas– k: tamaño delmotivo

• Salida:– Una colección dek-mers,uno decada cadena enDna,que minimicen score(Dna) entretodaslas posibles combinaciones

Fuerza bruta?

• Probar todas lascombinaciones demotivosbuscando elmenor score– n-k+1 posibles motivos encada secuencia– (n-k+1)t combinaciones ent secuencias– score(motivos) está enelorden k·t– Asumiendo n>>k,estaríamos hablando de• O(nt·k·t)• Muy lento!

Otra aproximación

• Envez deexplorar todos losmotivos yluegodeterminar elconsensoà lohacemos alrevés

• Calculamos d: distancia decada motivo alconsenso (su #demismatches):T C G G G G g T T T t t 3c C G G t G A c T T a C 4a C G G G G A T T T t C 2T t G G G G A c T T t t 4a a G G G G A c T T C C 3T t G G G G A c T T C C 2T C G G G G A T T c a t 3T C G G G G A T T c C t 2T a G G G G A a c T a C 4T C G G G t A T a a C C 3

Aesta distancia lallamaremos distanciadeHamming (d)

Otra aproximación (ii)• Definamosd(motivos, patrón) comolasumadelas

distanciasdeHamming decadamotivoalpatrón– puntuación(motivos) eselcálculodeladistanciaporcolumnas– d(motivos, patrón) eselcálculodeladistanciaporfilas

• Luego– puntuación(motivos)=d(motivos, consenso(motivos))

T C G G G G g T T T t t 3c C G G t G A c T T a C 4a C G G G G A T T T t C 2T t G G G G A c T T t t 4a a G G G G A c T T C C 3T t G G G G A c T T C C 2 dT C G G G G A T T c a t 3T C G G G G A T T c C t 2T a G G G G A a c T a C 4T C G G G t A T a a C C 33+4+0+0+1+1+1+5+2+3+6+4 30

puntuación

Definiendo elproblema (d)

• Redefinamos elproblema una vez más• Entrada:– Dna: colección det cadenas– k: tamaño delmotivo

• Salida:– Unpatrón k-mer yuna colección demotivos detamaño k,uno decada cadena enDna,queminimicen d(motivos, patrón) entrelasposibles combinaciones depatrones ymotivos

Complejidad

• ¿Pero nosecomplicamás elproblema?– Ahora tenemos que buscar losmotivos y elpatrón

• Si,pero dadounpatrón,notenemos queexplorar todos losmotivos:– 4k patrones distintos– Paracada uno deellos,calcular las tdistancias deHamming,cada una deellas es k·n

– EntotalO(4k·k·n·t)• Muchomenos que O(nt·k·t) ,teniendoencuentaquek<20normalmente

Ejercicio• Implementarlafunciónd:

– entrada:• Dna (coleccióndetcadenas)• pattern (unpatrón)

– salida:lasumadelasdistanciasdeHamming paracadaunadelascadenasdeDna respectoalpatrón• NótesequelascadenasdeDna puedenteneruntamañomayorqueelpatrón,

conloqueseutilizaráladistanciamáspequeñadeunodelosfragmentosdelacadenaalpatrón

• Ejemplo:– Dna:utilizarlosdocemotivosdeNF-xB descritosanteriormente

• http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/nfkbMotifs.txt– pattern:secuenciaconsenso

• TCGGGGATTTCC– salida:30

25

Ejercicio2• ImplementarlafunciónmedianString:

– entrada:• Dna (coleccióndetcadenas)• k (enteroindicandoeltamañodelpatrónbuscado)

– salida:unk-mer patrónqueminimiced(patrón,Dna) entretodoslosposiblespatronesdeesetamañok

• Ejemplo:– Dna:utilizarlosdocemotivosdeNF-xB descritosanteriormente

• http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/nfkbMotifs.txt– k=9– salida:TCGGGGATT (condistancia d=17)

• Prueba– Dna:losdoce motivos deNF-xB– k=5

26

Desventajas

• medianString,aunque más rápido quefuerza bruta,sigue siendo lento– Varias horas enuncomputador decente para k=15

• Además,requiere conocer k apriori

Motivos

BúsquedaavariciosaMatricesdeprobabilidadSustitucióndeLaplace

• Motivos• Búsquedademotivos• Búsquedaavariciosa• Búsquedaaleatoria

Búsqueda avariciosa demotivos

• Losalgoritmos avariciosos sonprocedimientos iterativos que escogen lamejor alternativa entreunconjunto desoluciones aleatorias– Normalmente,noencuentran lamejor solución• Pero sonmuy rápidos enencontrar una soluciónaproximada

• Es una solución muy usada enbioinformática

Probabilidad deunmotivo

• Podemos calcular laprobabilidad Pr deque undeterminado perfil produzca unmotivo:

A: .2 .2 0 0 0 0 .9 .1 .1 .1 .3 0 C: .1 .6 0 0 0 0 0 .4 .1 .2 .4 .6G: 0 0 1 1 .9 .9 .1 0 0 0 0 0 T: .7 .2 0 0 .1 .1 0 .5 .8 .7 .3. 4

Pr(ACGGGGATTACC|Perfil)=.2*.6* 1* 1*.9*.9*.9*.5*.8*.1*.4*.6= 0.000939808

T C G G G G g T T T t tc C G G t G A c T T a Ca C G G G G A T T T t CT t G G G G A c T T t ta a G G G G A c T T C CT t G G G G A c T T C CT C G G G G A T T c a tT C G G G G A T T c C tT a G G G G A a c T a CT C G G G t A T a a C C

Ejercicio3• ImplementarlafunciónPr:

– entrada:• perfil (matrizconprobabilidadesparacadanucleótidoyposición)• motivo (secuenciadelmismotamañoquelascolumnasdelperfil)

– salida:númerorealconprobabilidaddequeelmotivoaparezcaeneseperfil

• Ejemplo:– perfil:utilizarlosdocemotivosdeNF-xB descritosanteriormentepara

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

– motivo=ACGGGGATTACC– salida:0.000839808

• Prueba:– perfil:elmismo queenelejemplo– motivo:TCGGGGATTTCC

31

Ejercicio• ImplementarlafunciónmostProbableKmerGivenProfile:

– entrada:• perfil (matrizconprobabilidadesparacadanucleótidoyposición)• texto (secuenciaenlaquebuscarelk-mer másprobablesegúnelperfil)• k (tamañodelk-mer ydelperfil)

– salida:k-mer másprobablesegúnelperfil,entrelosk-mer posiblesdetexto

• Ejemplo:– perfil:utilizarlosdocemotivosdeNF-xB descritosanteriormentepara

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

– texto=GGTACGGGGATTACCT– k:12– salida:ACGGGGATTACC (probabilidad0.000839808)

32

Búsqueda avariciosa demotivos

GreedyMotifSearch(Dna, k, t)bestMotifs <- matriz con los primeros k-mers de Dna

para cada k-mer motif en la primera cadena de Dna

motif1 <- motif

para i=2 hasta t

p <- profile(motif1,...,motifi-1)motifi <- mostProbableKmerGivenProfile(p,Dna[i],k)

motifs <-(motif1,...,motift)

si score(motifs) < score(bestMotifs)bestMotifs <- motifs

return bestMotifs

Búsqueda avariciosa

• Elpseudocódigoanteriorbásicamente– Elige como k-mers más homogéneos enDna unos alazar

• p.ej.elprimero decada secuencia enDna

– Toma laprimera secuencia deDna• Paracada k-merM endicha secuencia

– Paracada secuencia s deDna» Construye unperfil Pantconlas secuencias anteriores» Determina qué k-merMs es más probableensapartir dePant» AñadeMs alconjunto dek-mers parecidos aM

– Sielconjunto dek-mers parecidos aM es más homogéneo que elconjunto dek-mers que teníamos hastaahora,losustituye

Ejercicio4• ImplementarlafuncióngreedyMotifSearchV0:

– entrada:• dna (tsecuenciasenlasquebuscarunmotivo)• k (tamañodelmotivoabuscar)

– salida:tk-mers,unodecadasecuencia,quecorrespondenalmotivomásprobable

• Ejemplo:– dna:['GGCGTTCAGGCA', 'AAGAATCAGTCA', 'CAAGGAGTTCGC',

'CACGTCAATCAC', 'CAATAATATTCG']

– k:3– salida:['CAG', 'CAG', 'CAA', 'CAA', 'CAA']

• Prueba– dna: http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/seqs4mut.txt

– k=15

35

Analizando labusqueda avariciosa

• Elalgoritmo es muy rápido (k=15)• Sinembargo,lasecuencia consenso está lejosdeparecerse almotivo buscado– AAAAAAAAGGGGGGG– ggggcAAAtataaGa

• ¿Por qué?

Analizando labusqueda avariciosa

• Enlaprimera iteración,elperfil sólo estáformado por una cadena:– Por ejemplo,para elk-mer AAgAAgAAGGtGGtG enlaprimera cadena:

– Esteperfil tienemuchos ceros,cualquier motivo quenoseaexactamente igual tendrápr=0!!!

A: 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0C: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0T: 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0G: 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1

¿Saldrá elsolmañana?

• En1650,tras laGuerraCivilInglesa,losescoceses eligieron rey aCarlosII

• OliverCromwelllespidió losiguiente:– “Os ruego,por Cristo,que penséis que es posibleque os hayáis equivocado”

• Losescoceses rechazaron lapetición,yCromwellinvadió Escocia

¿Saldrá elsolmañana?

• Esta cita inspiró laregla deCromwell:

Nodebemos usar 0o1como valordeprobabilidad anoser que hablemos depredicados lógicos que sólo pueden

ser verdaderos ofalsos

• Es decir,debemos dar una probabilidad,aunqueseamuy baja,aeventosmuy improbables:– Por ejemplo:• ‘Mi profesor es unalien’o‘elsolnosaldrámañana’*

*Dehecho,elmatemático francés Laplacecalculó laprobabilidad deque elsolnosaliera mañana como 1/1826251,basándose enque había salidodurante losúltimos 5000años.Aunque ridiculizadopor sus contemporáneos, laaproximación deLaplacetiene unpapel importante enlaestadística

Regla desucesión deLaplace

• Es laaproximación más simplepara sustituirprobabilidades nulas por valores pequeños– Añadir 1atodas las cuentas

T A A CG T C TA C T AA G G T

A: 2 1 1 1C: 0 1 1 1G: 1 1 1 0T: 1 1 1 2

A: 2/4 1/4 1/4 1/4C: 0 1/4 1/4 1/4G: 1/4 1/4 1/4 0T: 1/4 1/4 1/4 2/4

A: 2+1 1+1 1+1 1+1C: 0+1 1+1 1+1 1+1G: 1+1 1+1 1+1 0+1T: 1+1 1+1 1+1 2+1

A: 3/8 2/8 2/8 2/8C: 1/8 2/8 2/8 2/8G: 2/8 2/8 2/8 1/8T: 2/8 2/8 2/8 3/8

CuentaProbabilidad

Ejercicio5• ImplementarlafuncióngreedyMotifSearch:

– entrada:• dna (tsecuenciasenlasquebuscarunmotivo)• k (tamañodelmotivoabuscar)

– salida:tk-mers,unodecadasecuencia,quecorrespondenalmotivomásprobable,perousandolasustitucióndeLaplaceparaelperfil

• Ejemplo:– dna:['GGCGTTCAGGCA', 'AAGAATCAGTCA', 'CAAGGAGTTCGC',

'CACGTCAATCAC', 'CAATAATATTCG']

– k:3– salida:['TTC', 'ATC', 'TTC', 'ATC', 'TTC']

• Prueba:– dna:http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/seqs4mut.txt– k=15

41

Analizando labusqueda avariciosa

• Ahora ya tenemos unresultadomás preciso

• Noobstante,¿podríamos tener unresultadoaún más preciso?

AAAAAAAAGGGGGGGtAAAAAAAaGGatGG (consenso conLaplace)ggggcAAAtataaGa (consenso sinLaplace)

Motivos

BúsquedaaleatoriaAlgoritmosdeMonteCarlo

MuestreodeGibbs

• Motivos• Búsquedademotivos• Búsquedaavariciosa• Búsquedaaleatoria

Algoritmos aleatorios

• Dostipos– Algoritmos deLasVegas• Solución siempre correcta• Aleatoriedad eneluso derecursos para conseguirla

– Algoritmos deMonteCarlo*• Tiempo deejecución determinista• Solución incorrecta conunerrormuy bajo• Lamayoría dealgoritmos aleatorios sondeeste tipo

• Enamboscasos,sonalgoritmosmuy rápidos

*Elnombre delosdostipos dealgoritmos aleatorios viene dadopor ciudades conuna larga tradición decasinos

Ejercicio• Implementarlafunciónmotifs:– entrada:

• profile (unperfil4xk)• dna (conjuntodetcadenas)

– salida:tk-mers,unodecadasecuencia,quecorrespondenalmotivomásprobable,usandoelperfildado

• Ejemplo:– dna:['TTACCTTAAC', 'GATGTCTGTC', 'ACGGCGTTAG', 'CCCTAACGAG', 'CGTCAGAGGT']

– profile:{'A':[0.8, 0 ,0, 0.2], 'C':[0, 0.8, 0.2, 0], 'G': [0.2, 0.2, 0.6, 0], 'T':[0, 0.2, 0, 0.8]}

– salida:['ACCT', 'ATGT', 'GCGT', 'ACGA', 'AGGT’]45

Búsqueda aleatoria demotivos

• Ejecución iterativa demotifs– Laprimera ejecución conunconjunto aleatorio demotivos

– Ejecuciones progresivas demotifs sobre losresultados delaejecución anterior,mientrasmejoremos elscore

Biblioteca random enpython

Búsqueda avariciosa demotivosRandomizedMotifSearch(Dna, k)

motivos <- selección aleatoria de k-mersen cada cadena de Dnamejores <- motivospara siempre

perfil <- profile(motivos)motivos <- motifs(perfil, Dna)si score(motivos) < score(mejores)

mejores <- motivossi no

return mejores

Ejercicio• ImplementarlafunciónrandomizedMotifSearch:– entrada:

• profile (unperfil4xk)• dna (conjuntodetcadenas)

– salida:tk-mers,unodecadasecuencia,quecorrespondenalmotivomásprobable,segúnestemétodoaleatorio

• Ejemplo:– dna:['TTACCTTAAC', 'GATGTCTGTC', 'ACGGCGTTAG', 'CCCTAACGAG', 'CGTCAGAGGT']

– k: 4– salida:?

• Ejecuta elmétodo variasveces,imprimiendo elscoredel resultado48

Búsqueda aleatoria demotivos

• Esto es undesastre!– Distintas ejecuciones dan distintos resultados• Porque cada vez usamos unconjunto inicial aleatoriodistinto

• Prueba:Ejecutar elalgoritmo 1000+veces,seleccionando elresultado conmejor score,sobre http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/seqs4mut.txt

– ¿Cuáleselmejorresultadoysuscore?

Búsqueda aleatoria demotivos

• Elmejor resultado sealcanza siempre con100.000iteraciones,aunque normalmentecon1000es suficiente

Método Tiempo (k=15) ErrormedianString ~horas ExactogreedySearch ~segundos AltogreedySearch (+Laplace) ~segundos Bajo

randomizedSearch ~minutos Muy bajo

¿Por qué funciona si es aleatorio?

• Laprobabilidad deque,por azar,capturemostodos losmotivos implantados esprácticamente nula– Pero noladecapturar almenos uno• ¿Cuál es esa probabilidad?• ¿Enqué factortenemos que multiplicaresaprobabilidadpara estar seguros decapturarlo?• ¿Es suficiente concapturar uno deellos enrandomizedMotifSearch?

Muestreo deGibbs*

• Elmuestreo aleatorio altera todos losk-mersencada ejecución– Puede descartar información valiosa

• Elmuestreo deGibbsaltera sólo unk-mer encada paso,envez detodos.

*Elmuestreo deGibbsdebe sunombre alfísico JosiahWillardGibbs(1839-1903) enhonorasus trabajos teóricos sobre laoptimización, aunquerealmente losque nombraronasí alalgoritmo fueron susautores,loshermanos StuartyDonaldGeman en1984

Búsqueda avariciosa demotivosGibbsSampler(Dna, k, t, N)

motivos <- selección aleatoria de k-mers en cada cadena de Dnamejores <- motivospara j <- 1 hasta N

i <- random(t)perfil <- profile(motivos[-i])motivos[i] <-mostProbableKmerGivenProfile(Dna[i], k, perfil)

si score(motivos) < score(mejores)mejores <- motivos

return mejores

Ejercicio• ImplementarlafuncióngibbsSampler:

– entrada:• dna (conjuntodetcadenas)• k (tamañodelmotivoabuscar)• N (númerodeiteraciones)

– salida:tk-mers,unodecadasecuencia,quecorrespondenalmotivomásprobable,segúnelmuestreodeGibbs

• Ejemplo:– dna:['GGCGTTCAGGCA', 'AAGAATCAGTCA', 'CAAGGAGTTCGC', 'CACGTCAATCAC', 'CAATAATATTCG’]

– k: 3– N: 100– salida:?

• Ejecuta elmétodo 1000veces,seleccionando elresultado conelscoremás bajo

54

Resumen

Método Tiempo (k=15) Error(ejemplo)medianString ~horas - (exacto)

greedySearch ~segundos gccctttgttaGaaa

greedySearch (+Laplace) ~segundos tAAAAAAAaGGatGG

randomizedSearch ~minutos(150.28scon10.000 its.)

tAAAAAAAaGGaGGG

gibbsSampling ~minutos(137.16sconN=1.000y200its.)

AAAAAAAAGGaGGGG

Más problemas

• Distribución denucleótidos defondo– Sialgún tipo denucleótido tiene más frecuenciaque elresto,elmotivo conmínimo score puedeestar compuesto deél,ynoser interesante

– Solución:entropía relativa*

taaaaGTCGaacGCTGaaaaaaaaFCCTataCCCGaataaagaaaaGGCG

Eneste ejemplo,Atiene una frecuenciamuy alta yenmascara elmotivoGCCG(score5)conelmotivo AAAA(score1)

*Novamos aentrar endetalle.Una buena explicación está disponible en:Pevzner andCompeau,BioinformaticsAlgorithms:AnActiveLearningApproach, página 125

Más problemas

• Motivos representadospor otros alfabetos– Confrecuencia,unmotivo serepresentamejorconalfabetos híbridos,por ejemplo:

W: A o TS: G o CK: G o TY: C o T

CSKWYWWATKWATYYK representa elmotivo CSREenlalevadura.Estemotivo engloba a211 motivos distintos delalfabetoestándar,quepor separado seríanmuydébiles para ser encontrados por losalgoritmos tratados aquí

Tuberculosis• Latuberculosis(TB)es una enfermedad infecciosa causada por la

bacteriaMycobacteriumtuberculosis(MTB)• Lasvariantes resistentes alosantibióticos deesta bacteriaestán

emergiendo,graciasaque estas MTBpueden vivir años enestadodehibernación (enelcaso debacterias sehabla deesporulación,pues forman esporas durmientes quepueden sobrevivir acondicionesmuy duras),sinoxígeno (hipoxia)

• Una aproximación es identificar qué genesregulan ladetección dehipoxia ycomienzan elproceso deesporulación

• Hace 10años ungrupo debiólogos encontró elregulador desupervivencia durmiente (DosR),unfactordetranscripción queregula losgenescuya expresión cambiadramáticamentebajohipoxia.Sehan encontrado almenos 25genesregulados por DoSR

Ejercicio*

• Conlabatería demétodos para búsqueda demotivos que hemos desarrollado,buscar elmotivo alque enlaza DosR enlos250nucleótidosarriba deestos 10genesque varíansensiblementebajo hipoxia:– http://vis.usal.es/rodrigo/documentos/bioinfo/avanzada/datos/DosR.txt

• Paraello,podemosutilizardistintosmétodosyparámetros– Especialmente,k entre8 y12,aunquepodemoshacerpruebasconk=20

*Enviar lasolución encontrada (código yunpequeño informe deunpardefolios) alcorreo delprofesor

Imagenmediante unmicroscopio electrónico deMtuberculosis (laescala es de2micras)

https://en.wikipedia.org/wiki/Tuberculosis