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