Download Genómica. Lección 1. Vectores y genotecas
Document related concepts
no text concepts found
Transcript
Análisis de Genomas Navegadores genómicos Genoma Humano en GenBank http://www.ncbi.nlm.nih.gov/mapvie Visualizador Genoma Humano w/map_search.cgi?chr=hum_chr.inf &query= Guía al genoma humano http://www.ncbi.nlm.nih.gov/gen ome/guide/human/ Ensembl http://www.ensembl.org Annotated human Genome sequence data UCSC http://genome.ucsc.edu/ UCSC Genome Browser Análisis de Genomas Navegadores genómicos http://www.youtube.com/watch?v=vtJ6FvwCVTM 1 Aplicaciones del genoma Bases de datos del genoma humano http://bioinf3.uab.cat/prgenomica/ Viajando a través del Genoma Humà 2 3 Genome databases & browsers • Genome browser: interfaz de visualización de una base de datos genómica vía Web – Posibilidad de visualizar anotaciones (apuntes) dispares de genes y otras posiciones – Datos directamente asociados con lo posición genómica (genes, estructura gen como límites exones.intrones, regiones reguladoras, alineamiento de transcritos, proteínas, mRNA, EST, …, características cromosómicas como secuencias repetitivas, puntos calientes de recombinación y variación local en %GC, alineamientos con otras especies, variación intrapoblacional, expresión, STS,..) – No directamente asociados con la posición (datos estructurales de las proteínas, datos evolutivos, anotaciones de variantes fenotípicas, datos de rutas metabólicas y de señalización, datos de interacción de proteínas, …) Su poder radica en que permite efectuar consultas que implicar anotaciones múltiples que están asociadas con la misma región • Genome databases & browsers El futuro nos permitirá comparar anotaciones de bases de datos de múltiples genomas y permitirá preguntarnos cuestiones tales como: • • • ¿Cómo varía la longitud de los intrones entre genes ortólogos de especies relacionadas? ¿Están conservados los puntos calientes de recombinación de distintas especies? ¿Qué genes con procesamiento alternativo (spliced) en una especies o los están en otras? Hasta ahora, las preguntas requieren la elaboración de programas ad hoc. Pero en un próximo futuro, llevar a cabo estas consultas multciomparativa de especies podrá realizarla un no programador. 4 Código Perl (1a parte) #Calculamos el contenido de GC para toda la secuencia $sequence = "ATGCAGCATCGTAGCATCGTACG….."; # Dividimos el fragmento de la secuencia en un array para tener las bases por separado @seqarray = split('',$sequence); #Ponemos los contadores a 0 $countG = 0; $countC = 0; $countA = 0; $countT = 0; foreach $base (@seqarray) { #En este bucle para cada base, sumamos 1 al contador correspondiente. i significa case insensitive $countG++ if $base =~ /G/i; $countA++ if $base =~ /A/i; $countT++ if $base =~ /T/i; $countC++ if $base =~ /C/i; } #Una vez tenemos el numero de G y C, calculamos su porcentaje $contenidoGC = ($countG + $countC) / ($countG + $countC + $countA + $countT) *100; #Solo mostramos 2 decimales (con la funcion printf podemos limitar y redondear a la vez) printf "Porcentaje A: %2.2f\nPorcentaje T: %2.2f\nPorcentaje C: %2.2f\nPorcentaje G: %2.2f\nPorcentaje GC: %2.2f\n", $countA/length($sequence)*100, $countT/length($sequence)*100, $countC/length($sequence)*100, $countG/length($sequence)*100, $contenidoGC; Código generación secuencia aleatoria genoma basado cadena de márkov primer orden $longsec = 100; $pA = 0.25; $pC = 0.25; $pG = 0.25; $pT = 0.25; $pAA = 0.6; $pAG = 0.2; $pAC = 0.1; $pAT = 0.1; $pCA = 0.1; $pCG = 0.1; $pCC = 0.8; $pCT = 0.0; $pGA = 0.2; $pGG = 0.2; $pGC = 0.3; $pGG = 0.3; $pTA = 0.1; $pTG = 0.8; $pTC = 0.0; $pTT = 0.1; $x = rand(1); if ($x < $pA ){$nc= "A"} elsif ($x < $pA + $pC ){$nc = "C"} elsif ($x < $pA + $pC + $pG){$nc = "G"} elsif ($x <1){$nc = "T"} print $nc; for ($i = 0 ; $i<=$longsec; $i++) { if ($nc ="A") { $x = rand(1); if ($x < $pAA ) {$nc= "A"} elsif ($x < $pAA + $pAC ){$nc = "C"} elsif ($x < $pAA + $pAC + $pAG ){$nc = "G"} elsif ($x <1){$nc = "T"} } if ($nc ="G") { $x = rand(1); if ($x < $pCA ) {$nc= "A"} elsif ($x < $pCA + $pCC ){$nc = "C"} elsif ($x < $pCA + $pCC + $pCG ){$nc = "G"} elsif ($x <1){$nc = "T"} } if ($nc ="C") { $x = rand(1); if ($x < $pGA ) {$nc= "A"} elsif ($x < $pGA + $pGC ){$nc = "C"} elsif ($x < $pGA + $pGC + $pGG ){$nc = "G"} elsif ($x <1){$nc = "T"} } if ($nc ="T") { $x = rand(1); if ($x < $pTA ) {$nc= "A"} elsif ($x < $pTA + $pTC ){$nc = "C"} elsif ($x < $pTA + $pTC + $pTG ){$nc = "G"} elsif ($x <1){$nc = "T"} } print $nc; exit; aA aC aG aT de A 0.6 0.2 0.1 0.1 de C 0.1 0.1 0.8 0.0 de G 0.2 0.2 0.3 0.3 de T 0.1 0.8 0.0 0.1 5