E N D
1. 1 Fernán Agüero Bioinformática y Genómica Fernán Agüero
Instituto de Investigaciones Biotecnológicas
Universidad Nacional de General San Martín
2. 2 Fernán Agüero Un breve repaso histórico La aparición de las secuencias completas del genoma humano y cientos de otros genomas es el producto de un siglo de investigación dirigido a comprender la información genética.
Comienzos del siglo XX: redescubrimiento de las leyes de Mendel
Durante el primer cuarto de siglo, la biología descubrió que la base celular de la información eran los cromosomas
Durante el segundo cuarto de siglo, se descubrió que la base molecular de la información era el DNA
Durante el tercer cuarto de siglo, se definieron los mecanismos que utilizan las células para leer esta información y se desarrollaron las herramientas de DNA recombinante
Durante el ultimo cuarto de siglo, los biólogos se volcaron a colectar información genética - primero de genes, luego de genomas completos.
3. 3 Fernán Agüero Información biológica
4. 4 Fernán Agüero En que estamos hoy …
5. 5 Fernán Agüero En que estamos hoy … El resultado: de ser una ciencia puramente experimental (con base en el laboratorio) la biología está siendo transformada en una ciencia de la información
La información acumulada no sólo es información genética (secuencias de DNA)
expresión de RNAs
interacción entre proteínas
estructuras tridimensionales
Anulación sistemática de genes (knockouts, RNAi) que produce información de fenotipos
…
Cada vez más diversos estudios comienzan con el análisis de bases de datos para luego formular hipótesis o diseñar experimentos
Cada vez más el trabajo de laboratorio termina en la acumulación de colecciones masivas de datos que deben ser luego analizados
7. 7 Fernán Agüero Paradigma central de la bioinformática
8. 8 Fernán Agüero Genómica, Bioinformática y Medicina
9. 9 Fernán Agüero Información biológica en formato electrónicoBases de datos Fernán Agüero
Instituto de Investigaciones Biotecnológicas
UNSAM
10. 10 Fernán Agüero Bases de datos: introducción: conceptos básicos
11. 11 Fernán Agüero Introducción: conceptos básicos: registros
12. 12 Fernán Agüero Tipos de datos Cada campo de una base de datos contiene un tipo particular de datos
021204
Es un numero?
Es texto?
Es una fecha?
Ejemplo de una busqueda: buscar todos los registros en donde el valor almacenado sea mayor que 021204
Es obvio que para poder comparar los valores almacenados tenemos que saber qe tipo de valores estamos comparando.
Si es una fecha: 021204 (2.Dic.2004) > 211203 (21.Dic.2003)
Si es un numero: 021203 < 211203
Si es texto: 021203 ? 211203, las comparaciones < y > pueden dar distintos resultados (evaluan orden o longitud)
13. 13 Fernán Agüero Tipos de datos Numericos (enteros, decimales)
Texto
Fechas (DD/MM/YYYY, HH:MM:SS)
Logicos (boolean) = verdadero / falso
Geometricos (punto, linea, circulo, poligonos, etc.)
14. 14 Fernán Agüero Bases de datos: conceptos básicos: clave primaria
15. 15 Fernán Agüero Bases de datos: bases de datos relacionales
16. 16 Fernán Agüero Bases de datos: distribucion de la informacion
17. 17 Fernán Agüero Búsquedas en una base de datos: índices
18. 18 Fernán Agüero Indices (cont) Un ejemplo más complejo: buscar todos los records que contengan la palabra ‘kinase’ en la descripción de la secuencia
19. 19 Fernán Agüero Indexar es costoso El proceso de indexación es costoso en términos computacionales, pero se realiza una única vez (en realidad cada vez que se actualizan los datos)
Desde el punto de vista de la base de datos, los índices no son otra cosa que nuevas tablas relacionadas con la tabla que contiene el campo indexado
Ejemplo más obvio: buscadores de páginas de internet (Google, Altavista). Visitan páginas e indexan los términos que encuentran
kewyword: url1, url2, url3, url4, etc.
20. 20 Fernán Agüero Búsquedas en bases de datos: búsquedas indexadas
21. 21 Fernán Agüero Schemas La distribución de los datos en campos dentro de una tabla y de las relaciones entre tablas y sus campos es lo que se llama el diseño o schema
22. 22 Fernán Agüero Schemas (cont)
23. 23 Fernán Agüero RDBMS Relational Database Management Systems
Comerciales
Oracle, Sybase
Open source, gratuitos
PostgreSQL, MySQL
Todos usan SQL (standard query language) para
crear tablas, índices, etc.
ingresar datos
consultar
24. 24 Fernán Agüero Búsquedas simples Los motores de búsqueda ofrecen búsquedas simples
No imponen restricciones
El usuario tipea palabras libremente
Usan estrategias para intentar “adivinar” la intención del usuario (sobre qué campo de la base de datos buscar)
25. 25 Fernán Agüero Ejemplo: term mapping - Entrez (PubMed) Entrez busca en una serie de listas para ver si la palabra que ingresaron se encuentra en alguna
MeSH (Medical Subject Headings): vocabulario controlado utilizado para indexar artículos en PubMed.
Journals: nombre completo del journal, abreviaturas usadas en MEDLINE y números ISSN.
Lista de frases: cientos de miles de frases generadas a partir de MeSH y otros vocabularios controlados similares.
Indice de autores: apellido e iniciales.
Stopwords: palabras comunes, presentes en casi todos los registros de la base de datos (a, an, by, of, the … )
26. 26 Fernán Agüero Búsquedas simples: pros / cons Ventajas
rápidas de formular
no hay que leer el manual
ni hacer un curso ?
Desventajas
poco selectivas
27. 27 Fernán Agüero Búsquedas avanzadas Presuponen un cierto conocimiento sobre la organización subyacente de los datos
Hay que especificar sobre qué campos buscar:
? hay que conocer los campos
Entrez: se especifican entre corchetes
Tags predefinidos (hay que conocerlos)
Escherichia coli[organism]
review[publication type]
attenuator[feature key]
SRS: formulario avanzado (no hay que conocer términos o tags)
28. 28 Fernán Agüero Búsquedas avanzadas: Entrez Entrez provee además
Límites: especie de formulario avanzado que les permite limitar la búsqueda a un campo determinado, sin tener que conocer los tags)
History: una historia de las búsquedas que van realizando. En cualquier momento pueden combinar búsquedas o volver sobre alguna de ellas
Preview/Index: les permite probar una búsqueda (preview) y ver el número de registros que selecciona o ver los índices y el número de registros asociados a cada uno de ellos
Details: permite analizar la traducción que realizó Entrez de la búsqueda que realizamos (uso de sinónimos, límites, etc)
29. 29 Fernán Agüero Operadores lógicos En búsquedas simples o avanzadas siempre tienen a disposición operadores lógicos para encadenar términos
AND (unión)
human AND genome
+human +genome
human && genome
OR (intersección)
human OR genome
human || genome
NOT (subconjunto)
human NOT genome
30. 30 Fernán Agüero Orden de los términos en un query El orden de los términos es importante
Un query se evalúa de izquierda a derecha
human NOT genome no es lo mismo que genome NOT human
Si el query tiene muchos términos pueden forzar el orden de evaluación usando paréntesis
human AND cancer AND (cell OR science OR nature)
casein kinase NOT (human OR mouse)
32. 32 Fernán Agüero Bases de datos biológicas: DNA
33. 33 Fernán Agüero Bases de datos biológicas: proteínas
34. 34 Fernán Agüero Bases de datos biológicas: estructura
35. 35 Fernán Agüero Bases de datos biológicas: literatura
36. 36 Fernán Agüero Bases de datos biológicas: GenBank
37. 37 Fernán Agüero GenBank Redundante
Con errores
Dificil de actualizar
Para poder corregir, mejorar y mantener actualizada la anotación de los registros, el NCBI creó RefSeq (colección curada de registros de GenBank)
toma records de GenBank y los actualiza/corrije
unifica para reducir redundancia
Accession numbers del tipo XX_123456
38. 38 Fernán Agüero Bases de datos primarias
39. 39 Fernán Agüero Bases de datos secundarias
40. 40 Fernán Agüero Análisis y anotación de genomas Fernán Agüero
41. 41 Fernán Agüero Historia Primer proyecto de secuenciación de un genoma: Escherichia coli (US + Japón). Comenzó en 1992 y terminó en 1997. 4.6 MB
Primer genoma (eubacteria): Haemophilus influenzae (1995). 1.83 MB
Primer genoma (archaea): Metanococcus jannaschii (1996). 1.6 MB
42. 42 Fernán Agüero Qué es un genoma? Una colección de
genes
que codifican productos proteicos
que codifican RNAs
pseudogenes
regiones no codificantes
regulatorias (expresión)
estructurales
attachment a matriz nuclear
mitosis / meiosis
elementos repetitivos
43. 43 Fernán Agüero Qué es anotar? Agregar información, de la manera más confiable y actualizada que se pueda para describir una secuencia
Información asociada a coordenadas genómicas (comienzo..fin), a distintos niveles
Interpretar la información cruda de secuencia en un marco biológico
44. 44 Fernán Agüero Anotación genómica Dos niveles de anotación
Estructural: encontrar genes y otros sitios con relevancia biológica. Armar un modelo del genoma: cada gen/sitio es un objecto asociado a una posición en el genoma
Funcional: los objetos son utilizados en búsquedas (y experimentos). El objetivo es atribuir información biológica relevante a los objetos.
45. 45 Fernán Agüero Más niveles de anotación Organismo: fenotipo: morfología, fisiología, comportamiento, respuestas ambientales
Celula: vías metabólicas, cascadas de señalización, localización subcelular.
Molecula: sitios de binding, actividad catalítica, estructura tridimensional
Dominio
Motif
Residuo
46. 46 Fernán Agüero De donde proviene la anotación? Fuentes utilizadas en la anotación:
publicaciones que reportan nuevas secuencias
reviews que actualizan periódicamente la anotación de familias o grupos de proteínas
expertos externos
análisis de secuencia
47. 47 Fernán Agüero Anotación genómica
48. 48 Fernán Agüero Annotation & functional genomics
49. 49 Fernán Agüero Anotación: busqueda de genes Buscar genes en el genoma
RNA
ribosomal RNAs ? BLASTN
tRNAs ? tRNAscan
protein coding
ab initio gene prediction? ORFs, codon usage, frecuencia de hexámeros, modelos, etc.)
similarity ? BLASTX, otros
Buscar regiones no codificantes
regulatorias
ab initio ? Gibbs sampling
similarity ? patterns, profiles
repetitivas
similarity
ab initio
En todos los casos ? literatura!
50. 50 Fernán Agüero Integrar resultados
51. 51 Fernán Agüero Genome annotation: C. elegans
52. 52 Fernán Agüero Resumir resultados de análisis Guardar el reporte crudo de un BLAST (lista de hits, alineamientos) es demasiado
Prácticamente cualquiera de los análisis que se realizan sobre DNA o proteínas para anotar un genoma pueden resumirse en:
secuencia start end
cromosoma1 1723 3456
Este formato básico es la base del formato GFF (Sanger)
secuencia metodo programa start end frame score extra
Contig1 similarity blastx 100 1000 +1 132 gi|12345|AF34093 casein kinase ...
Contig1 cds glimmer 85 1201 +1 1321 ORF0001; overlap with ORF0002
Contig1 similarity blastn 80 1300 . 136 gi|54321|AF09990 complete genome
53. 53 Fernán Agüero Anotación: herramientas Artemis
http://www.sanger.ac.uk/Software/Artemis
Permite visualizar
secuencia, con sus traducciones virtuales (6)
tracks de anotación (entries)
plots (built-ins y creados por el usuario)
Lee secuencias en formato FASTA, EMBL, GenBank
Lee features en formato EMBL, GenBank, GFF, MSPcrunch, BLAST
54. 54 Fernán Agüero Artemis: main window
55. 55 Fernán Agüero Artemis: plots
56. 56 Fernán Agüero Artemis: display de análisis
57. 57 Fernán Agüero Artemis:
58. 58 Fernán Agüero Artemis: zoom
59. 59 Fernán Agüero Artemis: spliced genes
60. 60 Fernán Agüero Artemis: comparar análisis
61. 61 Fernán Agüero ACT: Artemis Comparison Tool
62. 62 Fernán Agüero ACT: Artemis Comparison Tool
63. 63 Fernán Agüero Otras estrategias Artemis se usa para anotar genomas bacterianos o para pequeños proyectos (cósmidos, BACs, etc.)
En genomas más grandes, la tendencia es a distribuir la anotación
Los tracks de anotación son generados en distintos centros
Ejemplo: UCSC Genome Browser (genoma humano, ratón).
64. 64 Fernán Agüero Anotación automática: TrEMBL La anotación de TrEMBL (translated EMBL) se hace por métodos automáticos.
Requerimientos para anotar automáticamente
Una base de datos de referencia bien anotada (ej. Swissprot)
Una base de datos que sea altamente confiable (en el sentido diagnóstico) en la asignación de proteínas a grupos o familias (ej CDD, InterPro)
Una serie de reglas de anotación
65. 65 Fernán Agüero Transferencia directa de anotación Realizar una búsqueda en la base de datos de referencia y transferir la anotación
Ejemplo: FASTA contra una base de datos de secuencias y transferencia de la línea DE del mejor hit
66. 66 Fernán Agüero Anotación a partir de múltiples fuentes Generalmente se usa más de una base de datos externa
Hay que combinar los resultados
67. 67 Fernán Agüero Conflictos Contradicción
Inconsistencia
Sinónimos
Redundancia
68. 68 Fernán Agüero Traducción de anotaciones Es necesario utilizar un traductor para mapear el lenguaje utilizado en la base de datos externa (XDB) al lenguaje utilizado en la base de datos target que queremos anotar
69. 69 Fernán Agüero Traducciones: algunos ejemplos
70. 70 Fernán Agüero Requerimientos de un sistema de anotación automática Corrección
Escalable
Actualizable
Poco redundante
Completo
Vocabulario controlado
71. 71 Fernán Agüero Cómo funciona? Una proteína en TrEMBL es reconocida como un miembro de cierto grupo o familia de proteínas
Este grupo de proteínas en Swissprot comparten entre sí partes de la anotación
La anotación común es transferida automáticamente a la proteína en TrEMBL y marcada como ‘annotated by similarity’
72. 72 Fernán Agüero Anotación: evidencias Las anotaciones suelen estar acompañadas de TAGS que indican la evidencia en la que se basa la anotación
Ejemplos de algunos TAGS utilizados en TrEMBL:
EMBL: la información fue copiada del original (EMBL/GenBank/DDBJ)
TrEMBL: anotación modificada para corregir errores o para adecuarse a la sintaxis propia de Swissprot
Curator: juicio del curador
Similarity: por similitud con otra secuencia, a juicio del curador
Experimental: evidencia experimental de acuerdo a una referencia, que usualmente es un paper.
Opinion: opinión emitida por el autor de una referencia, usualmente con poca o ninguna evidencia experimental
Rulebase: información derivada del uso de una regla de anotación automática
SignalP: programa de predicción
73. 73 Fernán Agüero Anotación: manual vs automática La anotación de un genoma ocurre en etapas
anotación automática
correr todos los análisis sobre el genoma
generar un primer borrador con todos los datos organizados. Por ejemplo en páginas web o integrando todos los datos en un display unificado (Artemis)
anotación manual: cura de los datos
una persona (curador) revisa la anotación, gen por gen, verificando la anotación automática, agregando anotaciones manuales, corriendo eventualmente algún programa particular
74. 74 Fernán Agüero Qué herramientas se usan? Oakridge Genome Annotation Channel
http://compbio.ornl.gov/channel
ENSEMBL
http://ensembl.ebi.ac.uk
Artemis
http://www.sanger.ac.uk/Software/Artemis
GeneQuiz
http://www.sander.ebi.ac.uk/genequiz
Genome browsers: varios
cada consorcio/proyecto desarrolló el suyo: Apollo (FlyBase, Drosophila), AceDB (C. elegans),
75. 75 Fernán Agüero Anotación: fuentes de error Transferencia transitiva de anotaciones
gen1 mal anotado como ‘casein kinase’ presente en los bancos de datos
gen2 con alta similitud con gen1, resulta anotado como casein kinase
Solución:
usar bases de datos curadas: por ejemplo Swissprot
revisar la anotación de más de un hit
verificar que las anotaciones de todos los hits concuerden
76. 76 Fernán Agüero Anotación confiable: proyecto HAMAP High-quality Automated Microbial Annotation of Proteomes
Swissprot (Swiss Bioinformatics Institute-European Bioinformatics Institute)
CNRS Lyon
INRIA Grenoble
INRA Toulouse
CNRS Marseille
Pasteur Institute
77. 77 Fernán Agüero HAMAP
78. 78 Fernán Agüero Prioridades del proyecto HAMAP Anotación de proteínas huérfanas
Pre-anotación de proteínas pertenecientes a familias grandes/complejas (transportadores ABC, HTH, sistemas de dos componentes, SDH)
Anotación de alta calidad de proteínas pertenecientes a familias bien caracterizadas
Anotación manual de proteínas caracterizadas experimentalmente en ese organismo
Anotación manual de proteínas no caracterizadas que muestren similitud con otras proteínas
79. 79 Fernán Agüero Estrategia HAMAP
80. 80 Fernán Agüero HAMAP: ORFans No tienen similitud con otras proteínas (excepto tal vez otras proteínas de organismos muy cercanos)
No tienen hits contra InterPro (Prosite, PRINTS, Pfam, ProDom, SMART)
Qué se hace:
Predicción de señales
Predicción de regiones trans-membrana
Predicción de coiled-coils
Anotación de repeticiones
81. 81 Fernán Agüero HAMAP: ORFan antes
82. 82 Fernán Agüero HAMAP: ORFan después
83. 83 Fernán Agüero HAMAP: large/complex families
84. 84 Fernán Agüero HAMAP: anotación automática Transferencia automática de anotación
Usando reglas específicas para cada famila de proteínas
Usando reglas específicas para un organismo particular
La transferencia de anotación puede ir acompañada de advertencias para el curador
Por ejemplo:
WARNING: this genome contains MF_00031 (ruvA) but not MF_00016 (ruvB)
85. 85 Fernán Agüero HAMAP: ejemplo reglas
86. 86 Fernán Agüero HAMAP: Escherichia coli De acuerdo al análisis original: 4286 proteínas
60 proteínas no detectadas (casi todas < 100 aa)
120 muy probablemente no existan
50 pares o tripletes de ORFs tuvieron que ser fusionados
719 con errores en la asignación del codón de inicio
~1800 todavía sin caracterización bioquímica (aproximadamente una asignación funcional por semana)
87. 87 Fernán Agüero Chromosome browsers UCSC Genome Browser
provee un display rápido de cualquier región genómica
con varios “tracks” de anotación alineados al genoma
Por el momento sólo: Human & Mouse
Annotation tracks
genes conocidos (RefSeq, GenBank)
predicted genes (Genscan, FGENESH, GeneID, Acembly)
spliced ESTs
CpG islands
assembly gaps
cobertura
bandas cromosómicas
elementos repetitivos
etc
89. 89 Fernán Agüero UCSC Genome browser UCSC sólo genera la mitad de los tracks
El resto proviene de la comunidad biomédica
El Genome Browser es una herramienta de visualización
No saca conclusiones! Simplemente integra en forma gráfica toda la información que posee sobre una región, dejando la exploración y la interpretación al usuario.
90. 90 Fernán Agüero UCSC Genome Browser: gene expression
91. 91 Fernán Agüero UCSC Genome browser: alternative splicing
92. 92 Fernán Agüero UCSC Genome browser: complex transcription
93. 93 Fernán Agüero UCSC Genoma browser: user tracks Ustedes pueden agregar sus propios tracks
Pueden ser públicos o privados
No necesitan saber programar
Tienen que proveer información en formato GFF (u otros similares: GTF, BED)
chrom start end [name strand score]
chr1 1302347 1302357 SP1 + 800
chr1 1504778 1504787 SP2 – 980
94. 94 Fernán Agüero Acknowledgements Nicola Mulder, EBI
Daniel Lawson, Sanger Centre
95. 95 Fernán Agüero BioinformáticaHerramientas y aplicaciones Fernán Agüero
Instituto de Investigaciones Biotecnológicas
Universidad Nacional de General San Martín
96. 96 Fernán Agüero Entender la información genética La información genética es redundante
La información estructural es redundante
Un gen, muchas funciones
La información genética es unidimensional, pero la función depende de la estructura tridimensional
El reemplazo de 40% de los residuos de una proteína no afectan la función
97. 97 Fernán Agüero Qué herramientas provee la computación científica Machine Learning (inteligencia artificial, aprendizaje automático)
Distintos métodos ‘entrenables’ para reconocer o aprender disintas cosas:
Neural Networks
Markov Models and Hidden Markov Models
Nearest neighbor
Otros
Predicción en proteínas
SignalP, Net-O-Glyc, TMHMM, TmPred, PSORT
Gene finding, Gene prediction
Genscan, Glimmer, GeneMark, FGENESH
Predicción de estructura secundaria
nnpredict, PHDSec,
98. 98 Fernán Agüero Qué herramientas provee la computación Bases de datos
Organizar datos de manera eficiente
Posibilidad de realizar consultas complejas, integrando y cruzando datos.
Entrez, SRS, FlyBase
Oracle, Sybase, MySQL, PostgreSQL
Teoría de la información
Medir la cantidad de información (en bits)
Incertidumbre
Sequence Logos
Algoritmos
Métodos para tratar con distintos tipos de problemas
Una vez que se aprende como solucionar un problema particular, la solución se generaliza a toda una clase de problemas similares
Dynamic programming Qué problema resuelve este algoritmo? El problema de encontrar el mejor camino entre muchos posibles.
utilizado en métodos de alineamiento de secuencias (Smith-Waterman, Needleman-Wunsch, BLAST, FASTA), en métodos de predicción de genes, en ruteo de llamadas telefónicas a través de distintas centrales, etc.
99. 99 Fernán Agüero Bases de datos: conceptos básicos
100. 100 Fernán Agüero Un experimento bioinformático Un experimento en la computadora no es distinto de cualquier experimento en la mesada:
los resultados deben contestar una pregunta concreta
deben ser reproducibles por otra persona que utilice el mismo método
Identificar el problema
cuál es el mecanismo catalítico de la enzima X?
Identificar las herramientas necesarias para resolver el problema
búsquedas de secuencias similares, alineamientos múltiples, detección de profiles y motivos, modelado de la estructura tridimensional, evaluación del modelo
Definir criterios de satisfacción (éxito del experimento)
Prácticamente todos los métodos computacionales producen resultados. Una búsqueda utilizando BLAST casi siempre produce algún hit
Es necesario distinguir resultados significativos del ruido para no terminar comparando superoxido dismutasas con alcohol dehidrogenasas.
Hay que entender cómo funcionan los programas, en qué algoritmos están basados, que puntos débiles tienen, etc.
101. 101 Fernán Agüero Un experimento bioinformático … Seleccionar el set de datos apropiados
En el laboratorio, los materiales y reactivos son objetos físicos necesarios para realizar un experimento. Generalmente uno sabe cuando fueron preparados, quien los preparo, como fueron preparados, etc.
En bioinformática el mismo tipo de información es esencial. Las fuentes de información (bases de datos, por ej), fecha de ultima actualizacion, el crtiterio y el metodo utilizado para extraer los datos que van a ser utilizados en el experimento
102. 102 Fernán Agüero Un ejemplo concreto Un investigador interesado en estudiar genes en involucrados en la interacción hospedador-parásito, con especial interés en identificar aquellos productos que sean secretados
Un sitio web reporta los resultados de un análisis sistemático de expresión (usando microarrays) de todos los genes del genoma en todos los estadíos del ciclo de vida del parásito
El investigador puede bajar un archivo con un resumen de estos experimentos
Las secuencias de todas las proteínas codificadas por el genoma se encuentran disponibles en una base de datos.
Lo que se necesita es contar con la capacidad de identificar genes que se expresen en los estadíos del ciclo de vida que ocurren en el hospedador y extraer las secuencias de estos genes de la base de datos
En ultima instancia el objetivo es analizar las secuencias de interés usando SignalP para predecir la posible presencia de un péptido señal
103. 103 Fernán Agüero Cuestiones a tener en cuenta: Podemos hacer el trabajo ‘a mano’
Abrimos el resumen con los datos de los experimentos con microarrays en un procesador de texto
buscamos los genes que muestran expresión en el estadio de interés
Construimos una lista de genes (accession numbers)
Luego vamos a nuestra base de datos con secuencias genómicas y sus traducciones y buscamos una por una las secuencias
El ultimo paso es pasar todas las secuencias a un formato que entienda SignalP y ingresarlas una por una en el formulario correspondiente.
Hay tres problemas evidentes:
Si el número de genes que se expresan en nuestro estadio de interes es más que ‘unos cuantos’ el trabajo se vuelve tedioso y más que nada lento por el tiempo que insume
Peor aun, cada vez que aparezcan nuevos resultados de microarrays o se actualicen, hay que repetir todo el procedimiento
El proceso de abrir el resumen con datos de microarrays (o la base de datos de genes) en un procesador de textos puede no ser factible si el tamaño de los archivos excede los 5 o 10 MB
104. 104 Fernán Agüero Programación en biología Cualquier persona que tenga experiencia en el diseño y llevado a cabo de experimentos para responder una pregunta puede programar una computadora
Un experimento en el laboratorio comienza con una pregunta que evoluciona hacia una hipótesis testeable
Finalmente el experimento sirve para afirmar o descartar una afirmación
En la computadora el programa que uno escriba debe estar diseñado de manera de producir resultados que respondan a este tipo de afirmaciones
Aprender un lenguaje de programación puede resultar un desafío no trivial, pero es similar a aprender a utilizar una nueva herramienta, tecnología u otro lenguaje (inglés, francés)
105. 105 Fernán Agüero Programación en biología Ejemplos simples:
automatizar tareas
identificar una o más tareas que uno quiere realizar
escribir un programa que las realice en forma automática
Analizar todas las proteínas de un genoma y seleccionar aquellas que sean (o parezcan) proteinasas
Un archivo con todas las secuencias
Una base de datos de proteinas (Swissprot, GenPept)
Un programa para buscar secuencias similares en bases de datos (BLAST)
Una serie de instrucciones a seguir (un protocolo)
106. 106 Fernán Agüero Automatizar búsquedas con BLAST
107. 107 Fernán Agüero Automatizar BLAST Muy lindo el diagrama, pero: cómo se hace?
Por cada secuencia de una lista de secuencias hay que:
correr la comparación (BLAST) contra una base de datos
analizar el reporte que genera el programa y extraer dos tipos de datos:
score, expect, identidad, similitud (algún criterio cuantitativo que me sirva para tomar una decisión)
descripción de la secuencia obtenida de la base de datos
108. 108 Fernán Agüero Programación Todo lenguaje de programación provee construcciones para tomar decisiones:
if A then do B, else do C
if A > 100 then continue else exit
Algunos lenguajes de programación proveen métodos para ejecutar otros programas
salir al sistema operativo, ejecutar el programa X y tomar el output
blast secuencia vs swissprot
system( “blast -i secuencia -d swissprot” )
Lo más dificil: analizar el output y tomar los datos de interés
para poder tomar decisiones (hacer comparaciones) tenemos que tener los datos en variables
109. 109 Fernán Agüero Reportes de BLAST Un reporte de BLAST tal como aparece en un navegador o al ejecutar el programa en la línea de comando (Unix) es basicamente un archivo de texto (un archivo plano o flatfile)
Ningun reporte es igual a otro. Sin embargo hay patrones similares (la apariencia de hecho es similar). Tenemos que entrenar a nuestro programa para reconocer patrones:
la primer linea contiene información sobre el programa
la quinta línea contiene información sobre la secuencia utilizada para la búsqueda
la décima línea contiene información sobre la base de datos
la línea que comienza con ‘>’ indica el comienzo de la descripción de un hit
etc.
110. 110 Fernán Agüero Anatomía de un reporte de BLAST
111. 111 Fernán Agüero Anatomía de un reporte de BLAST
112. 112 Fernán Agüero Anatomía de un reporte de BLAST
113. 113 Fernán Agüero Anatomía de un reporte de BLAST
114. 114 Fernán Agüero Nuevos formatos Los reportes estaban diseñados con un usuario (humano) en mente
Formato no estructurado
Ideal para lectura
Cada vez más los reportes que producen distintos programas se encuentran en formatos estructurados más fáciles de analizar desde el punto de vista de la computadora
XML
ASN.1
Tabulado
Estos formatos no son amigables para un humano (no son fáciles de leer)
115. 115 Fernán Agüero Representación de la información
116. 116 Fernán Agüero Representación de la información
117. 117 Fernán Agüero Analizando un reporte de BLAST Nuestro programa ya leyó el reporte
Y almacenó los valores que le pedimos en distintas variables
Ahora podemos hacerle hacer lo que querramos:
(en pseudocódigo):
if $score < 100 { read next report }
else { print $accession }
if $description =~ “proteinase” { print $accession} else { read next report }
if $score < 100 AND $description =~ “proteinase”
{ print $accession }
else { read next report }
118. 118 Fernán Agüero Módulos de software reusables Resumiendo:
nuestro programa tiene que poder leer el reporte (FACIL)
identificar dentro del reporte distintos elementos y almacenarlos en variables (MAS COMPLICADO)
tomar decisiones en base a los valores contenidos en las variables y realizar acciones (imprimir algo en pantalla, almacenar datos en un archivo, base de datos, etc.) (Criterio del usuario)
El criterio del usuario es lo que va a hacer que el programa sirva para un fin u otro
Es evidente que los pasos 1 y 2 van a ser necesarios para cualquier programas que intenten procesar reportes de BLAST
solo hay que programarlos una vez
modulos reusables (subrutinas)
119. 119 Fernán Agüero Bibliotecas de modulos reusables Perl, Python, Java, C
en general todos los lenguajes proveen bibliotecas de módulos reusables
el módulo contiene código que realiza ciertas operaciones
no es necesario saber como funciona internamente el módulo para poder usarlo
solo necesitamos saber que datos necesita (por ejemplo: una secuencia) y que resultados produce (un valor: 135, una respuesta: SI/NO)
En el caso de aplicaciones biológicas
BioPerl
BioPython
BioJava
Otros
120. 120 Fernán Agüero Pipelines Qué es un pipeline?
Una línea automatizada de análisis
121. 121 Fernán Agüero Pipelines: ejemplos Sistemas de anotación automática de genomas
Ensembl - http://www.ensembl.org
UCSC Genome Browser - http://genome.ucsc.edu
ORNL Genome Channel - http://compbio.ornl.gov/channel
HAMAP - http://us.expasy.org/sprot/hamap
122. 122 Fernán Agüero Estrategia HAMAP
126. 126 Fernán Agüero Consideraciones prácticas La bioinformática es más barata que el trabajo en el laboratorio
El equipamiento es significativamente más barato que el de un laboratorio de biología molecular
Los materiales (programas) y reactivos (datos) son en general gratuitos y libremente accesibles
Almacenamiento
La cantidad y tipos de bases de datos que se planean instalar (ejemplo: GenBank actualmente requiere 120 GB)
La cantidad y tipo de datos que se planean generar
Memoria y Procesador
Los requerimientos de los distintos métodos
BLAST es principalmente memoria-intensivo
HMMER es principalmente procesador-intensivo
127. 127 Fernán Agüero Consideraciones prácticas Backup
CD
Cinta
Un segundo disco
Software
Sistema operativo: unix
Paquetes: BLAST, FASTA, etc
Software de manejo de bases de datos: MySQL, PostgreSQL
Lenguajes de proramación: Perl, Java, Python, C, C++
Para un laboratorio chico una PC con un disco un poco más grande y un poco más de memoria que lo común pueden ser suficientes
128. 128 Fernán Agüero Con respecto a la protozoología Los genomas de varios protozoarios están terminados o cerca de estarlo
Plasmodium falciparum, berghei, chabaudi, knowlesi
Toxoplasma gondii
Trypanosomatidos (T. cruzi, T. brucei, L. major)
Algunos otros se encuentran en distintos estados
Entamoeba hystolytica
Theileria annulata
Babesia bovis
Eimeria tenella
En algunos casos hay proyectos post-genómicos en curso o recién comenzando
Proteomics
Microarrays
RNAi
129. 129 Fernán Agüero Bibliografía sugerida Developing Bionformatics Computer Skills
O’Reilly & Associates
Bioinformatics. Sequence and genome analysis.
CSHL Press
Bioinformatics, a practical guide to the analysis of genes and proteins
Wiley InterScience