Bioinformática Estudio del flujo de información genética ▫ Bases de datos ▫ Predicciones ¡Es ciencia! ▫ Controles ▫ Validaciones
Flujo de la información ADNARNProteína NucleótidosAminoácidos Molécula: Compuesta por: A C G T Ala Cys Asp Glu Phe Gly His Ile Lys Leu Met Asn Pro Gln Arg Ser Thr Val Trp Tyr A C G U
Organización génica
AACGT TAATG TTGCA ATTAC + -
Biotipos Codificante de proteína ARNs (ARNt, ARNr, ARNlnc, miRNA) Pseudogenes Otros
Secuenciación de ADN Método Sanger ▫ Una secuencia por experimento ▫ Cerca de 1000 bases por secuencia
El proyecto Genoma Humano Comenzó hacia 1987 Duró unos 15 años Costó unos 3000 millones de dólares Proporciona un genoma de referencia
Métodos de segunda generación Unos 160 millones de secuencias por experimento Unas 108 bases por secuencia Un genoma humano se puede secuenciar en una semana por poco más de 5000 dólares
Tercera generación Sin pausa Molécula única Varios métodos en competencia ▫ Síntesis ▫ Poro ▫ Microscopía Altas tasas de error, especialmente en indels
Aplicaciones Genoma ▫ Inserciones/deleciones ▫ Mutaciones Exoma RNAseq ▫ Profundidad ▫ Mutaciones Epigenoma
Proyectos a gran escala Otros genomas 1000 genomes ICGC
GGAATACAGAGANAGAAGAACACATCCCACAGTGCATAAATACCCATATTTA GGTAACCAAAACNAAAACTGTGTTTCTTATTTTTTCTCCAAAGAATAAAATA + TTGGTTTCCTTTNCAGATTTTGGAGGACTTTAACAAAATGAGATGATAAATG TAGTTGAAGGCANCTAGACATTAGTATACCCTTTAATGAATAATGTTATTGA + A?BB>B>A# Fastq
Alineamiento Profundidad de lectura
Sidrón Cálculo de probabilidades S = p(configuración | Het) / p(configuración | Hz) Low SHigh S
Base Calling with Sidrón Contingency Table f(read N a | real N b ) Q=40 Real Base ACGT Read Base A C G T Affymetrix 6.0 SNP array Illumina OmniQua d SNP array Common SNPs 275,976 (99.58% with same call) Collection of Hz positions Q=10 Real Base ACGT Read Base A C G T
Problemas en alineamientos Zonas repetitivas
Problemas en alineamientos Indels
Problemas en alineamientos Zonas de baja complejidad
Variantes y Mutaciones Variación -> Respecto a genoma de referencia Mutación -> Respecto a genoma germinal Codificante / no codificante Sinónima / no sinónima Indel
Mutaciones somáticas Genoma de referencia Lecturas en tejido normal Lecturas en tejido tumoral
El algoritmo * * Alineamiento * * Candidatos (mq) * * Lecturas Tumor Normal Sidrón Somatic substitutions Polyfilter Coding muts Mutandis Indel count Somatic indels Bwa Picard Extract variant positions
ICGC Genoma tumoral Genoma constitutivo
ICGC ADN normal y tumoral de 500 pacientes Genoma completo, exoma, RNAseq, epigenoma Drivers y passengers Genoma tumoral Genoma constitutivo
Mutated Unmutated XPO1 MYD88
La larga cola
Proteínas Predicciones: ▫ Modificaciones post-traduccionales ▫ Parámetros químicos ▫ Dominios ▫ Estructuras
SF3B1 D894 N626YT663I K700EV701F G742DD894G U2AF65 interaction p14 interaction HEAT domain K666E K741N R625H Y623C H662D K700 V701 Y623 N626 R625 H662 K666 T663 K741 G742
POT1 12splY66*M1LK90E Y223C Y36N Q94R H266L G272VS250*Q301H POT1 ssDNA_binding binding_surface_II ssDNA_binding_site OB1/OB2_interface
POT1
Enfermedades hereditarias Variantes en genes No sinónimas No polimórficas Homozigotas Heterozigotas en padres
Progeria atípica
BANF1 y progeria Células progeroides BAF MUT BAF WT DAPI BANF1 Emerina ADN
Ordenadores CPU Memoria EntradaSalida
Lenguajes de programación Alto nivel ▫ LISP ▫ Python ▫ Perl ▫ Java ▫ HTML Bajo nivel ▫ Asm ▫ C (defparameter *small* 1) (defparameter *big* 100) (defun guess-my-number () (ash (+ *small* *big*) -1)) (defun smaller () (setf *big* (1- (guess-my-number))) (guess-my-number)) (defun bigger () (setf *small* (1+ (guess-my-number))) (guess-my-number)) (defun start-over () (defparameter *small* 1) (defparameter *big* 100) (guess-my-number)) #!/usr/bin/perl -w use strict; use IO::Uncompress::Gunzip; my $file = shift; = split /[\/\\]/, $0; my $pname = die("Use: perl $pname pileup_file\n") unless ($file && -e $file); my $fh; open ($fh, $file); my $c = get_chunk($fh); my $z = IO::Uncompress::Gunzip->new(\$c); while (my $l = $z->getline()){ print "$l\n"; } zstr_count: B9FFFFFFFF mov ecx, -1.loop: inc ecx C0800 cmp byte [eax + ecx], A 75F9 jne.loop.done: C C3 ret