Docstoc

Alineamiento de Secuencias - Wiphala.net

Document Sample
Alineamiento de Secuencias - Wiphala.net Powered By Docstoc
					          INTRODUCCION A TECNICAS DE
               MINERIA DE DATOS

                  ALINEAMIENTO DE SECUENCIAS




Mg. Samuel Oporto Díaz
             Mapa Conceptual – Minería de Datos
                                                                  Exploración y   Reconocimiento de        Evaluación e
  Fuentes de datos             Pre-procesamiento                 transformación       Patrones            Interpretación



               Data               Data                Data             Data                                 Evaluación y
DHW            cruda             Objetivo        Pre-procesada     Transformada         Patrones           Entendimiento



DBMS




Texto




Muestreo y Selección   Limpieza de Datos         Transformación de Datos     Modelado              Reportes y Visualización
• Muestreo             • Limpieza de datos       • Reducción de              • Descripción
• Selección            • Datos que no existen       Dimensionalidad          • Clasificación
                       • Datos no clasificados   • Creación de               • Regresión
                       • Identificación de          Características          • Agrupamiento
                         extremos                • Normalización de Datos    • Asociación
                       • Eliminación de Ruido    • Variables                 • Secuenciación
                                                    Correlacionadas          • Detección de
                                                 • Discretización              Desviación
               Tabla de Contenido
•   Introducción                    4
•   Pre-procesamiento               9
•   Reducción de Datos              26
•   Selección de Instancias         36
•   Selección de Características    40
•   Ejemplo
    – Planteamiento del Problema    49
    – Procedimiento de solución     53
    – Algoritmos                    58
    – Fuentes de Datos              64
    – Diseño de Experimentos        66
    – Resultados Experimentales     68
                                         3 /39
INTRODUCCION




               4 /39
PREGUNTAS




            5 /39
Alineamiento de secuencias

                                    Fernán Agüero
         Instituto de Investigaciones Biotecnológicas
        Universidad Nacional de General San Martín
                         <fernan at iib.unsam.edu.ar>




                                                        6 /39
                   Análisis comparativo
El alineamiento de
secuencias es similar a
otros tipos de análisis
comparativo.
En ambos es necesario
cuantificar las similitudes
y diferencias (scoring)
entre un grupo
relacionado de
entidades.




                              Finches of the Galápagos Islands observed by
                              Charles Darwin on the voyage of HMS Beagle

                                                                        7 /39
                       Para qué alinear?
• Para poder comparar dos secuencias
   – Dos proteínas o genes con función similar pero provenientes de distintos
     organismos
       • Analizar variación, conservación de residuos importantes para la función
       • Detectar patrones que sirvan para detección diferencial (diagnóstico)
   – Dos proteínas distintas pero con una región o dominio similar
       • Proteína X de función conocida contiene un dominio Y
       • Proteína Z de función desconocida también tiene un dominio Y. Puedo decir algo
         acerca de su probable función?
   – Un mRNA y el gen correspondiente: detección de la organización génica
       • El mRNA contiene secuencias derivadas de los exones solamente
       • El gen contiene tanto intrones como exones




                                                                                    8 /39
                Homología vs similitud
• Homología entre dos entes biológicos implica una herencia
  compartida

• Homología es un término cualitativo

• Se es homólogo o no se es

• Similitud implica una apreciación cuantitativa o una cuantificación
  directa de algún caracter

• Podemos usar una medida de similitud para inferir homología




                                                                        9 /39
                    Análisis comparativo
Los algoritmos que                      GATTAC
alinean    secuencias
modelan      procesos
                                        CA
evolutivos
                                 GATGACC GATTACC
                                 A       A

                          GATTACC GATTATC GATTACC
                          A       A       A

                                GATCATCA GATTGATCAGAT_ACC
Deriva de un ancestro común                          A
a través de cambios
incrementales debido a           sustitución   inserción   deleción
errores en la replicación del
DNA, mutaciones, daño o
crossing-over desigual.


                                                             10 /39
                   Análisis comparativo
Algoritmos de alineamiento
                                          GATTACC
modelan procesos evolutivos
                                          A
                                  GATGACC GATTACC
                                  A       A

                           GATTACC GATTATC GATTACC
                           A       A       A
Deriva a partir de un ancestro
común a través de cambio
incremental.                     GATCATCAGATTGATCAGATACCA

                            Sólo las secuencias actuales son conocidas, las
                                  secuencias ancestrales se postulan.




                                                                      11 /39
                      Análisis comparativo
Algoritmos de alineamiento                   GATTACC
modelan procesos evolutivos                  A
                                     GATGACC GATTACC
                                     A       A

                              GATTACC GATTATC GATTACC
Deriva a partir de un         A       A       A
ancestro común a través de
cambio incremental.
Mutaciones que no matan al          GATCATCAGATTGATCAGATACCA
individuo pueden pasar a la
población.

                              La palabra homología implica una herencia común
                              (un ancestro común), el cual puede ser inferido a
                              partir de observaciones de similitud de secuencia.



                                                                         12 /39
                      Alineamientos
• Qué es un alineamiento?
   – El procedimiento de comparación de dos (o más) secuencias de
     manera de lograr que una serie de caracteres individuales o
     patrones de caracteres que se encuentren en el mismo orden en
     ambas secuencias queden “alineados” verticalmente.

   – AATTGGCCGTACGT
   – AATTGGCCGTACGT


• Cómo alineamos dos secuencias?
   – a mano o con la ayuda de un programa
   – usando un método/algoritmo




                                                               13 /39
       Definición de alineamiento: tipos

Alineamiento:            Cada base se usa a lo sumo una vez


Alineamiento global:     Todas las bases se alinean con otra base o con un
                         gap (“-”)

Alineamientos locales:   No hay necesidad de alinear todas las bases




           Align BILLGATESLIKESCHEESE and GRATEDCHEESE

     G-ATESLIKESCHEESE or G-ATES & CHEESE
     GRATED-----CHEESE                    GRATED & CHEESE

                                                                       14 /39
       Alineamientos buenos y malos?
Cuál es el ‘mejor’ alineamiento?




                GCTACTAG-T-T--CGC-T-TAGC
                GCTACTAGCTCTAGCGCGTATAGC
                          0 mismatches, 5 gaps




                GCTACTAGTT------CGCTTAGC
                GCTACTAGCTCTAGCGCGTATAGC
                          3 mismatches, 1 gap




                                                 15 /39
       Cómo decidir cuál es el mejor?
• Respuesta: el más significativo desde el punto de vista
  biológico
• Pero: necesitamos una medida objetiva

• sistemas de puntaje (scoring)
   – reglas para asignar puntos
   – el más simple: match, mismatch, gap




                                                        16 /39
       Un primer ejemplo de scores
Ejemplo de sistema de score
match = +1         mismatch = 0            gap = -1



               G-
               ATESLIKESCHEESE
               GRATED-----
   Usando otro CHEESE score
               sistema de

                          Score
   (10 * 2) + (1 * 0) + (6 * (-1)) = +4
         1)                          +14




                                                      17 /39
             Puedo comparar scores?
• Primera conclusión importante:
   – no tiene sentido comparar scores de distintos alineamientos
   – a menos que el sistema de scoring utilizado sea el mismo en los
     distintos alineamientos
   – Es importante especificar el sistema de puntaje!




                                                                   18 /39
                        Gap penalties
gap opening penalty = -5
gap extension penalty = -1

1- Abrir un gap es costoso
                             GCTACTAG-T-T--CGC-T-TAGC
                             GCTACTAGCTCTAGCGCGTATAGC
                                   Penalty = 5 * (-5) + 6 * (-1) = -31



2 - Extender un gap es menos costoso

                             GCTACTAGTT------CGCTTAGC
                             GCTACTAGCTCTAGCGCGTATAGC
                                       Penalty = 1 * (-5) + 6 * (-1) = -11




                                                                             19 /39
                                         Dot plots: introducción
Dot-plot: Fitch, Biochem. Genet. (1969) 3, 99-108.

                                                 Eje horizontal: secuencia 1


                                             C G T A C C G T

                                         A   0   0   0     1     0     0       0   0
             Eje vertical: secuencia 2




                                         C   1   0   0     0     1     1       0   0


                                         G   0   1   0     0     0     0       1   0


                                         T   0   0   1     0     0     0       0   1




                                                                                       20 /39
21 /39
Dot Matrix Plot




                  22 /39
Dot Matrix Plot




                  23 /39
Dot Matrix Plot




                  24 /39
                     Similitud local
Dominios mezclados confunden a
los algoritmos de alineamiento.

                     Módulos en el factor XII de coagulación y en el activador
                     de plasminógneos – tissue plasminogen activator (PLAT)


                     FXII       F2 E F1 E               K                     Catalytic


                                                  Módulos
                                      Módulos en orden
                                          reversorepetidos


                     PLAT       F1 E          K          K               Catalytic




                                  F1,F2           Fibronectin repeats
                                  E               EGF similarity domain
                                  K               Kringle domain
                                  Catalytic       Serine protease activitiy



                                                                                          25 /39
Dot plots: ejemplo
                                               Coagulation Factor XII (F12)




                                                                                         E F1
 Tissue Plasminogen Activator (PLAT)




                                                                                         K
                                                                                         K
                                                                                         Catalytic
                                       F2   E F1 E     K                 Catalytic

                                                                                     26 /39
               Dot plots: ejemplo (cont.)
Dominios repetidos                                                 Coagulation Factor XII (F12)
muestran un patrón
característico.




                                                                                                             E F1
                     Tissue Plasminogen Activator (PLAT)




                                                                                                             K
                                                                                                             K
                                                                                                             Catalytic
                                                           F2   E F1 E     K                 Catalytic

                                                                                                         27 /39
                      Dot plots: path graphs
Dot plots sugieren
caminos (paths) a         Dominios EGF conservados en la urokinse plasminogen
través del espacio de     activator (PLAU) y el  tissue plasminogen activator
alineamientos posibles.   (PLAT)
                               90              137        90             137




                          23




                                                     23
Path graphs son
representaciones
más explícitas de
un alineamiento.



Cada path es un
alineamiento único.
                          72




                                                     72
           PLAU 90 EPKKVKDHCSKHSPCQKGGTCVNMP--SGPH-CLCPQHLTGNHCQKEK---
           CFE 137
           PLAT 23 ELHQVPSNCD----
           CLNGGTCVSNKYFSNIHWCNCPKKFGGQHCEIDKSKTCYE 72

                                                                      28 /39
 Path graphs: encontrar el mejor camino

Los problemas que         Rutear una llamada telefónica desde
involucran encontrar la           NY a San Francisco
mejor ruta o camino
(Best-path problems)
son comunes en
computación científica.



El algoritmo para
encontrar el mejor
camino entre dos
extremos y pasando por
varios puntos se llama
‘dynamic programming’




                                                          29 /39
Dynamic programming: introducción
Un ejemplo:



Construir un
alineamiento óptimo
                       GATACTA
entre estas dos
secuencias             GATTACCA

Utilizando las
siguientes reglas de
                       Match:      +1
scoring:
                       Mismatch:   -1
                       Gap:        -1


                                        30 /39
         Dynamic programming: ejemplo
Ordenar las dos
secuencias en una
matriz bidimensional        G A T A C T A
                        G
                        A
                        T
Los vértices de cada    T
celda se encuentran
entre letras (bases).   A
Needleman & Wunsch
                        C
(1970)
                        C
                        A
                                        31 /39
   Dynamic programming: ejemplo
              (cont.)
El    objetivo     es
encontrar   la   ruta
(path) óptimo
                            G A T A C T A
                        G
                        A      Desde aquí
                        T
                        T
                        A
                        C            Hasta acá
                        C
                        A
                                                 32 /39
Dynamic programming: paths posibles
Cada path corresponde a
un alineamiento único
                              G A T A C T A
                          G
                          A
                          T
                          T
                          A
                          C
                          C
                          A   Cuál es el óptimo?



                                                   33 /39
 Dynamic programming: scores: match
El score para una
ruta (path) es la
suma incremental de
los scores de sus
                          G A T A C T A
pasos (diagonales o
lados).
                      G
                              A alineada con A
                      A
                                Match = +1
                      T
                      T
                      A
                      C
                      C
                      A
                                                 34 /39
     Dynamic programming: scores:
              mismatch
El score para una
ruta (path) es la
suma incremental de
los scores de sus
                          G A T A C T A
pasos (diagonales o
lados).
                      G
                      A       A alineada con T
                      T         Mismatch = -1
                      T
                      A
                      C
                      C
                      A
                                                 35 /39
  Dynamic programming: scores: gaps
El score para una
ruta (path) es la
suma incremental de
los scores de sus
                          G A T A C T A
pasos (diagonales o
lados).
                      G                 T alineada con NADA
                      A
                                Gap = -1
                      T
                      T   T   alineada con NADA
                      A
                      C
                      C
                      A
                                                      36 /39
Dynamic programming: paso a paso (1)
Extender el path paso por paso


                             0
                                  G A T A C T A
                                   -1

                         G   -1    +1
 G      –     G          A
 G      G     –          T
  +1    -1     -1
                         T
                         A
                         C
                         C
                         A
                                              37 /39
 Dynamic programming: paso a paso (2)
Incrementar el path paso a paso


                             0
                                  G A T A C T A
                                   -1   -2

                         G   -1    +1   -2

                         A
                         T
Recordar    el  mejor
subpath que lleva a      T
cada    punto  en  la
matriz.                  A
                         C
                         C
                         A
                                              38 /39
 Dynamic programming: paso a paso (3)
Incrementar el path paso a paso


                             0
                                  G A T A C T A
                                   -1   -2

                         G   -1    +1   0
                                        -2

                         A         0    +2

                         T
Recordar    el  mejor
subpath que lleva a      T
cada    punto  en  la
matriz.                  A
                         C
                         C
                         A
                                              39 /39
 Dynamic programming: paso a paso (4)
Incrementar el path paso a paso


                             0
                                  G A T A C T A
                                   -1   -2

                         G   -1    +1   0
                                        -2

                         A   -2    0    +2

                         T
Recordar    el  mejor
subpath que lleva a      T
cada    punto  en  la
matriz.                  A
                         C
                         C
                         A
                                              40 /39
 Dynamic programming: paso a paso (5)
Incrementar el path paso a paso


                             0
                                  G A T A C T A
                                   -1   -2   -3

                         G   -1    +1   0
                                        -2   -1

                         A   -2    0    +2   +1

                         T   -3    -1   +1   +3
Recordar    el  mejor
subpath que lleva a      T
cada    punto  en  la
matriz.                  A
                         C
                         C
                         A
                                                  41 /39
 Dynamic programming: paso a paso (6)
Incrementar el path paso a paso


                             0
                                  G A T A C T A
                                   -1   -2   -3   -4   -5

                         G   -1    +1   0    -1   -2   -3

                         A   -2    0    +2   +1   0    -1

                         T   -3    -1   +1   +3   +2   +1
Recordar    el  mejor
subpath que lleva a      T   -4    -2   0    +2   +2   +1
cada    punto  en  la
matriz.                  A   -5    -3   -1   +1   +3   +2

                         C
                         C
                         A
                                                            42 /39
 Dynamic programming: paso a paso (7)
Incrementar el path paso a paso


                             0
                                  G A T A C T A
                                   -1   -2   -3   -4   -5   -6     -7

                         G   -1    +1   0    -1   -2   -3   -4     -5

                         A   -2    0    +2   +1   0    -1   -2     -3

                         T   -3    -1   +1   +3   +2   +1   0      -1
Recordar    el  mejor
subpath que lleva a      T   -4    -2   0    +2   +2   +1   +2     +1
cada    punto  en  la
matriz.                  A   -5    -3   -1   +1   +3   +2   +1     +3

                         C   -6    -4   -2   0    +2   +4   +3     +2

                         C   -7    -5   -3   -1   +1   +3   +3     +2

                         A   -8    -6   -4   -2   0    +2   +2     +4


                                                                 43 /39
    Dynamic programming: best path
Recorrer el camino de
atrás hacia adelante para
obtener el mejor path y         0
                                     G A T A C T A
                                      -1   -2   -3   -4   -5   -6     -7
alineamiento.
                            G   -1    +1   0    -1   -2   -3   -4     -5

                            A   -2    0    +2   +1   0    -1   -2     -3

                            T   -3    -1   +1   +3   +2   +1   0      -1

                            T   -4    -2   0    +2   +2   +1   +2     +1

                            A   -5    -3   -1   +1   +3   +2   +1     +3

                            C   -6    -4   -2   0    +2   +4   +3     +2

                            C   -7    -5   -3   -1   +1   +3   +3     +2

                            A   -8    -6   -4   -2   0    +2   +2     +4


                                                                    44 /39
    Dynamic programming: alineamiento
                obtenido
                               G A T A C T A
                           G
Imprimir el alineamiento
                           A
GA- TACTA                  T
GATTACCA
                           T
                           A
                           C
                           C
                           A
                                           45 /39
      Dynamic programming: Smith-
               Waterman
• El método fue modificado (Smith-Waterman) para obtener
  alineamientos locales

• El método garantiza la obtención de un alineamiento óptimo
  (cuyo score no puede ser mejorado)

• La complejidad es proporcional al producto de las
  longitudes de las secuencias a alinear




                                                      46 /39
                          Gracias a
Hugues Sicotte (NCBI)
(slides DP, HMS Beagle)


Marcelo Viegas
(slides Dot Matrix)




                                      47 /39
48 /39
Algoritmos de alineamiento optimo
    para pares de secuencias




                                49 /39
              Alineamientos óptimos
• Una vez fijado un sistema de puntuación
   – Matriz de substitución (Identidad, PAMxx, BLOSUM…)
   – Coste de la apertura y de la extensión de “gaps”
• Se define el alineamiento óptimo entre dos secuencias
  como aquel cuya puntuación és máxima entre todos los
  posibles alineamientos.




                                                          50 /39
51 /39
Un algoritmo exhaustivo para obtener
       alineamientos óptimos
• Una posible aproximación para encontrar el
  alineamiento óptimo es la búsqueda exhaustiva:
   – Construir todos los posibles alineamientos
   – Calcular la puntuación de cada uno
   – El alineamiento óptimo es el que obtenga el valor más grande
     (puede haber más de uno!)
• El número de alineamientos posibles es muy alto: Si S,
  T constan de unos 20 caracteres pueden hacer falta
  más de 240 operaciones!!!




                                                              52 /39
  Una alternativa a la búsqueda exhaustiva:
       La programación dinámica (PD)
• La programación dinámica es una técnica de diseño de
  algoritmos consistente en
   – Considerar, en primer lugar, los casos más sencillos de un
     problema
   – Resolverlos
   – Combinarlos para obtener la solución de casos más
     complicados
   – Hasta resolver el caso completo original
  Veamos un ejemplo




                                                                  53 /39
    Cómo utilizar programación dinámica para
       obtener el alineamiento óptimo?
•    Se obtiene un alineamiento óptimo para una subsecuencia,
     –   P.ej. el primer carácter de cada secuencia por la izquierda.
•    El alineamiento óptimo de la subsecuencia inicial se mantendrá en
     el alineamiento óptimo final
     –   cualquier otro puntuaría menos que éste  disminuiría la puntuación
         total
•    Tras alinear la primera subsecuencia ya no hace falta trabajar con
     ella  Se pasa a la subsecuencia siguiente y así se va iterando
     hasta el final
     –   el coste de cada paso es bajo
     –   el resultado final se obtiene de acumular los resultados de cada paso




                                                                         54 /39
El algoritmo de Needleman y Wünsch:
Alineamiento basado en programación
               dinámica




                                  55 /39
Un alineamiento puede representarse como un
   camino en una matriz (de puntuaciones)
       T   C   G   C   A


   T
   C                       TCGCA
   C                       TC-CA
   A
       T   C   G   C   A


  T
  C                        TCGCA
  C                        T-CCA
  A

                                       56 /39
Un alineamiento puede representarse como un
   camino en una matriz (de puntuaciones)
         T    C    G   C   A
                                 El significado de cada punto
                                 en la matriz es el siguiente:
   T                             Todos los caracteres hasta el
   C         s22                 punto se han alineado,
   C
                                 Puede ser, sin embargo que
   A
                                 haya muchos caminos que
                                 llevan al punto

 La posición etiquetada “s22” representa TC alineado con TC

        --TC               -TC         TC
        TC--               T-C         TC
                                                                 57 /39
    Calculo de la matriz de puntuaciones
• Cualquier posición de la matriz sólo
  puede alcanzarse de tres maneras                         S1
  posibles:
   – En diagonal lo que significa                  T   C   G     C   A
     emparejando el carácter de fila y de
     columna
   – En vertical que significa insertando      T
     uno o más gaps en la secuencia            C
     horizontal (S1)                      S2   C
   – En horizontal que representa
     insertar uno o más gaps en la             A           s43
     secuencia vertical (S2)




                                                                     58 /39
    Calculo de la matriz de puntuaciones
• Para llenar la matriz de
  puntuaciones                                             S1
    – Consideramos todas las maneras
      de llegar hasta cada celda de la             T   C   G     C   A
      matriz
    – Nos quedamos con la(s) que
      consiguen la puntuación más alta:        T
      Puede haber más de una                   C
                                          S2   C
                                               A           s43




                                                                     59 /39
        Cálculo de la matriz de puntuaciones
•   La matriz de puntuaciones (Score Matrix), P, se llena de arriba
    abajo y de izquierda a derecha mediante el siguiente
    procedimiento
    1. Se llena la fila 0 y la columna cero con el coste de abrir un gap y
       extenderlo tantos caracteres como posición en la fila (columna) se
       encuentre la celda
    2. Se va llenando la matriz de izquierda a derecha y de arriba abajo. En
       cada celda se coloca la puntuación máxima resultante de considerar
       todas las posibles maneras de acceder a aquella celda
    3. La direccion (o direcciones) que han dado lugar a la máxima
       puntuación se anota por separado en la matriz de reconstrucción que
       se utilizará para reconstruir el alineamiento




                                                                          60 /39
                       Fórmulas de cálculo
•   Utilizamos la notación siguiente:
    –      S(i,j): Puntuación para coincidencia o no
    –      Wk = a+b·k : Penalización afín para un “gap” de longitud k
•   Con esta notación la puntuación de la fila y la columna 0:
    –      P(0,0)=0; P(0,k)=-Wk, P(k,0)=-Wk,
•   Y la puntuación de cada celda de la tabla:




                        P(i  1, j  1)  S (i, j ), celda anterior en diagonal
                        
                        
         P(i, j )  maxmaxP(i  x, j )  Wx , celdas anteriores de la fila
                        maxP(i, j  y )  W , celdas anteriores de la columna
                          x 1

                         y 1
                                                y




                                                                           61 /39
          Matriz de reconstrucción (Traceback)
• Para reconstruir el alineamiento, al mismo tiempo que se llena la matriz
  de puntuaciones, se llena la matriz de reconstrucción, T de la siguiente
  forma:
    – T(i,j)=0, si el máximo viene de la diagonal
    – T(i,j)=+y, si el máximo viene de un desplazamiento vertical de y celdas. A
      veces tan sólo se indica que viene de arriba (“”)
    – T(i,j)=-x, si el máximo viene de un desplazamiento horizontal de x celdas. A
      veces tan sólo se indica que viene de la izquierda (“”)
• Si hay empate anotamos todos los valores iguales




                                                                           62 /39
            Reconstrucción del alineamiento


• Para reconstruir el alineamiento se busca, en la matriz de
  puntuaciones, la celda de la última fila o columna con la puntuación
  más grande
• Se escoge la misma celda en la matriz de reconstrucción y se va
  retrocediendo según los valores indicados en ésta
• Este procedimiento puede dar más de un alineamiento óptimo




                                                                   63 /39
Ejemplo




          64 /39
                Smith-Waterman
         Algoritmo de alineamiento local

                P(i  1, j  1)  S (i, j ),      Matriz de puntuaciones:
                maxP(i  x, j )  W ,
                                                 No se penalizan los gaps de
 P(i, j )  max x1
                                         x

                maxP(i, j  y )  Wy ,
                                                las bandas derecha y izquierda
                  y 1
                0
                                                 0     0    0    0   0    ..
                                                  0
                                                  0
                                                  0
Si el mejor alineamiento hasta un cierto         ..
punto tiene un valor negativo es                      P[i,0]= 0 ; per i= 0…m
mejor empezar uno nuevo en lugar de
extender el viejo                                     a[0,j]= 0 ; per j= 0…n

                                                                          65 /39
Complementos




               66 /39
 Nomenclatura para el estudio de
   secuencias de caracteres

• Cadena: Lista ordenada de caracteres de un alfabeto: GATTACA
• Prefijo: Caracteres consecutivos cogidos desde el inicio: G,
  GAT, GATTA,
• Sufijo: Caracteres consecutivos cogidos desde el final:
  A,CA,TACA,...
• Subcadena: Caracteres consecutivos desde los extremos o el
  medio: GAT,TACA,ATTA...
• Subsecuencia: Caracteres ordenados no necesariamente
  consecutivos: GAAA,TTC,...




                                                         67 /39
 Ejemplo de programación dinámica
      Números de Fibonacci

Sub Fib(n, tab())                                   tab
                                                     1
Dim j as integer                                     1
 Redim tab(n)                                        2
                        Empecemos resolviendo los    3
 tab[1] = 1              problemas más sencillos
                                                     5
 tab[2] = 1;                                         8
 for j = 3 to n                                     13
    tab[j]=tab[j-1] + tab[j-2]                      21

 next j                                             34
                                                    55
End Sub
     Utilicemos las soluciones parciales            89
        para resolver problemas más                 ….
                                                          Tornar
                  grandes

                                                            68 /39
  Gaps en el inicio del alineamiento


Si el dot-plot tiene este aspecto   El alineamiento es:
           A T C G A                 A T C G A
           *     *                            │ │ │
  C                  X              ▬ ▬ C G A
  G                      X
  A                          X

Si el dot-plot tiene este aspecto   El alineamiento es:
           G T C                    ▬ ▬ G C T
                                              │ │ │
 T *                                 T A G C T
 A *
 G        X
 T             X
 C                 X

                                                          69 /39
70 /39
Alineamiento de secuencias




                             71 /39
                      Contenido
1. Conceptos básicos
2. Métodos gráficos de alineamiento
3. Puntuación de los alineamientos




                                      72 /39
1. Conceptos básicos




                       73 /39
                     Introducción
• El alineamiento de secuencias es probablemente la
  herramienta más utilizada en bioinformática
• Su objetivo es alinear dos o más secuencias (de DNA o
  proteínas) de forma que puedan destacarse las regiones
  similares entre las moléculas
• Al determinar si una secuencia desconocida es similar, en
  algún sentido, a secuencias conocidas (e idealmente de
  estructura y función conocidas) podremos identificarla y
  predecir su estructura y función




                                                       74 /39
                    Aplicaciones
• Mediante un alineamiento global entre genomas se puede
   – identificar repeticiones internas (G1 vs G1) o
   – encontrar secuencias conservadas entre especies (G1
     vs G2)
• Para predecir la función de una proteína desconocida
  suele buscarse dominios funcionales comunes,
   – mediante alineamientos locales entre dos secuencias
   – mediante alineamientos múltiples entre conjuntos de
     secuencias
• Para buscar una secuencia en una base de datos para lo
  que alinea por separado distintos fragmentos y se
  cuantifica el grado de similitud alcanzado
• …

                                                    75 /39
             Métodos de alineamiento
• Existen muchos programas disponibles en WWW para
  alinear secuencias y buscarlas en las BD
• Si se pretende que el resultado de dichos programas sea
  útil no deben ser “cajas negras”
• La correcta elección del programa ( método) y de sus
  parámetros es muy importante
   – Una elección inadecuada puede conllevar la no detección de
     similitudes relevantes




                                                                  76 /39
        Visión global de los métodos
• Alineamiento de dos secuencias
  – Métodos gráficos: Dotplot. Es intuitivo, pero difícil de
    cuantificar
  – Algoritmos óptimos de alineamiento global (NW) o local
    (SW)
     Obtienen el mejor alineamiento posible con programación
      dinámica
     Son demasiado exigentes para ser prácticos en búsquedas
      extensivas
• Alineamientos múltiples
• Algoritmos heurísticos para búsqueda en bases de
  datos FASTA, BLAST
  – Dan soluciones buenas, no necesariamente óptimas
  – Pueden ser mucho más rápidos                   77 /39
           Alineamiento de secuencias
• Es el procedimiento consistente en comparar dos
  (“pairwise”) o más (“multiple”) secuencias buscando los
  caracteres o patrones que aparezcan en el mismo orden en
  las secuencias

•   Podemos distinguir entre alineamientos
    – Globales: Alineamiento de secuencias completas
    – Locales : Alineamiento de subsecuencias




                                                       78 /39
           Ejemplos de alineamientos

2 Secuencias no alineadas
    L G P S S K               Q   T   G   K   G   S   S   R   I   W D     N
    L N I       T K S         A   G   K   G   A   I   M   R   L   G D     A

Alineamiento global
      L G P S         S   K   Q   T   G   K   G   S   ▬   S   R   I   W   D   N
      │                   │           │   │   │               │           │
      L N ▬ I         T   K   S   A   G   K   G   A   I   M   R   L   G   D   A

Alineamiento local
     ▬ ▬ ▬ ▬ ▬ ▬ ▬                T   G   K   G ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬
                                      │   │   │
    ▬ ▬ ▬ ▬ ▬ ▬ ▬                 A   G   K   G ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬




                                                                          79 /39
Ejemplo de alineamiento múltiple

I       M A   G I   N   A   B       L   E
I       M P   R A   C   T   I       C   A   B   LE
I       L E   G I   B   L   E

    I   M ▬ ▬ A     G ▬         I   N A B       L    E
    I   M P R A     C T         I   C A B       L    E
    I   N F ▬ A     L ▬         I   ▬ ▬ B       L    E




                                                         80 /39
2. Métodos gráficos de alineamiento




                                  81 /39
                     Los Dotplots
• Se obtienen disponiendo dos secuencias S y T en los
  márgenes horizontal y vertical de una tabla
• y marcando con una cruz (un punto) todas las posiciones
  en que coinciden los caracteres de S y T
   – Si son idénticas se observa una diagonal definida
   – Cuanto más diferentes sean, más difusa será
   – La aparición de patrones permite revelar estructuras en
     las secuencias




                                                        82 /39
      Umbral de severidad (“Stringency
                threshold”)
• Para facilitar la visualización, se opta a menudo por mostrar
  únicamente las diagonales formadas por un número
  mínimo de puntos (umbral de severidad)

• Si el umbral de severidad es alto 
   – Eliminamos el ruido de fondo (“filtrado alto”)
   – Solo detecta similitudes muy altas

• Si es bajo 
   – Hay ruido de fondo
   – Detecta relaciones distantes



                                                         83 /39
Ejemplo de dotplot 1: Una secuencia con
              ella misma




                                   84 /39
Ejemplo de dotplot 2: Secuencias que
           han divergido




                                  85 /39
   Ejemplo de dotplot 3:
Inserciones y “deleciones”




                             86 /39
3. Puntuación de los alineamientos




                                87 /39
            Sistemas de puntuación
• Para cuantificar la similitud entre dos cadenas, S y T,
  definimos sistemas de puntuaciones de forma que para
  cada alineamiento se pueda calcular un número tal que, a
  mayor valor, mayor sea su significación (biológica)
• Pueden ser esquemas sencillos como por ej
   – Coincidencia ,          S[i]=T[i]  1,
   – No coincidencia,        S[i]#T[i]  0,
   – Inserción de espacios (gaps)  -1,
• o bien sistemas más complejos basados en afinidades
  químicas o en frecuencias de emparejamiento observadas




                                                      88 /39
        Puntuación de un alineamento
• Una vez establecido un sistema de puntuación la
  puntuación de una pareja de caracteres s,t alineados se
  define como p(s,t)

• La puntuación (score) de un alineamiento entre S i T:


              pS[i], T [i]
             i
• Un alineamiento es óptimo si su puntuación es la más
  grande posible




                                                          89 /39
             Ejemplo
S=       A   T   G    C   A    G   T
T=       A   T   A    A   G    T
p(s,t)   1   1   0    0   0    0          2


S=       A   T   G    C   A    G   T
T=       A   T   A    A   ▬    G   T
p(s,t)   1   1   0    0   -1   1   1      3


S=       A   T   G    C   A    G   T
T=       A   T   ▬    A   A    G   T
p(s,t)   1   1   -1   0   1    1   1      4

                                                90 /39
                      Ejemplo

Puntuación con esquema simple

S=       T    T   Y   G   A   P   P W C     S
T=           T   G   Y   A   P   P P W     S
p(s,t)   -1   1   0   0   1   1   1 0 0     1  4


S=       T    T   Y   G   A   P   P W   C   S
T=       T    G   Y   A   P   P   P W   S    
p(s,t)   1    0   1   0   0   1   1 1   0   -1  4




                                                      91 /39
        El sentido de las puntuaciones
• Los dos alineamientos del ejemplo anterior puntúan igual.
  Sin embargo
   – a) conserva residuos comunes (A, P, S, T)
   – b) conserva residuos menos habituales (W, Y)
• El sistema de puntuar los emparejamientos entre AA
  debería reflejar su relación química y biológica
   – Residuos similares/distintos deberían puntuar alto/bajo
     pues el cambiar uno por otro afectará poco/mucho la
     función de la proteína




                                                        92 /39
  Matrices de puntuación (scoring) o de
        substitución (substitution)
• Una forma usual de definir el sistema de puntuación es
  utilizando una matriz de substitución
• Es una tabla que contiene las puntuaciones que
  asignamos a cada pareja posible de caracteres, 
  (sirve para las coincidencias y las no-coincidencias)
• El término “substitución” refleja que lo que se pretende al
  puntuar un emparejamiento es valorar el coste evolutivo de
  cambiar un residuo por otro




                                                        93 /39
             Matrices para alinear ADN
• Suele utilizarse una matriz identidad
   – P(i,i)=1,         p (i,j)=0
   o alguna variante de ésta
   – P(i,i)=0.9,       p (i,j)=-0.1




                                          94 /39
             Matrices para proteínas
• No hay una matriz única que se pueda usar siempre
• Según la familia de proteínas y el grado de similitud
  esperado se usará una u otra
• Las más utilizadas PAM y BLOSUM
   – PAM: Percent Accepted Mutation Matrix
      • Derivadas de alineamientos globales de secuencias
        próximas
      • PAM40 PAM250. A mayor nº mayor distancia
        evolutiva
   – BLOSUM
      • Derivadas de alineamientos locales de secuencias
        distantes
      • BLOSUM90 BLOSUM45 El nº representa
        porcentaje de identifdad                        95 /39
96 /39
               Penalización por “gaps”
• En un sistema de puntuación es importante definir el coste
  de insertar o eliminar un residuo, lo que en el alineamiento
  aparece como un hueco (“gap”)
• Suele penalizarse distinto
   – el primer hueco (“gap opening”)
   – que los restantes (“gap extension”) que parten de él
• La variación de estos parámetros puede tener efectos
  importantes en el alineamiento final




                                                            97 /39
    Efecto del valor de la penalización


Coste de   Coste de
apertura   extensión                 Comentario
 de gap     del gap
Grande      Grande     Pocas inserciones o eliminaciones
                       Bueno para proteínas muy relacionadas


Grande     Pequeño     Algunas inserciones grandes
                       Bueno si puede que se hayan insertado
                       dominios completos
Pequeño     Grande     Muchas inserciones pequeñas
                       Bueno si se trata de proteínas distantes



                                                              98 /39
4. Algoritmos de alineamiento óptimo
      para pares de secuencias




                                  99 /39
  Un algoritmo exhaustivo para obtener
         alineamientos óptimos
• Un algoritmo para obtener el alineamiento óptimo es:
   – Construir todos los posibles alineamientos
   – Calcular la puntuación de cada uno
   – El alineamiento óptimo es el que obtenga el valor más
     grande (puede haber más de uno!)
• El número de alineamientos posibles es muy alto: Si S, T
  constan de unos 20 caracteres pueden hacer falta más de
  240 operaciones!!!




                                                     100 /39
      Una alternativa a la búsqueda exhaustiva:
           La programación dinámica (PD)
• La programación dinámica es una técnica de diseño de
  algoritmos consistente en
   – Considerar, en primer lugar, los casos más sencillos de
     un problema
   – Resolverlos
   – Combinarlos para obtener la solución de casos más
     complicados
   – Hasta resolver el caso completo original
  Veamos un ejemplo




                                                       101 /39
        Algoritmos de alineamiento óptimo
• Los dos más conocidos son
   – Needleman y Wunsch (1970) para alineamientos
     globales
   – Smith y Waterman (1981), una variante para
     alineamientos locales
• Sirven para alinear tanto DNA como proteínas
• Cada algoritmo retorna los alineamientos con la máxima
  puntuación posible para una matriz de substitución y un
  coste de “gaps” dados
• El alineamiento obtenido no tiene necesariamente un
  significado biológico



                                                      102 /39
103 /39
Bioinformática y Genómica

                                       Fernán Agüero
         Instituto de Investigaciones Biotecnológicas
        Universidad Nacional de General San Martín

           2004


                                            104 /39
                 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.




                                                                             105 /39
Información biológica




                        106 /39
En que estamos hoy …




                       107 /39
                   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




                                                                               108 /39
109 /39
Paradigma central de la bioinformática




Genetic       Molecular   Biochemical   Symptoms
Information   Structure   Function      (phenotype)




                                             110 /39
Genómica, Bioinformática y Medicina
                            Genomics



                         Bioinformatics



                         Identify Targets




Molecular Diagnostics                        Drug Design




Molecular Epidemiology
                                            Genetic Therapy


                                                              111 /39
Información biológica en formato
          electrónico
        Bases de datos
                                      Fernán Agüero
            Instituto de Investigaciones Biotecnológicas
                                                UNSAM




                                                           112 /39
       Bases de datos: introducción:
           conceptos básicos
Qué es una base de datos?      Una colección de datos



Cómo colecciono los datos?     Decisión del usuario. Diseño de
                               la base de datos.


Puedo usar:

Procesador de texto? (Word)    Si. Permite sólo búsqueda y
                               ordenamiento simples.



Planilla de Cálculo? (Excel)   También. Como los datos están
                               en columnas independientes, se
                               puede ordenar en formas más
                               complejas. Las búsquedas
                               siguen siendo simples.
                                                             113 /39
 Introducción: conceptos básicos: registros
                          • Una colección de registros (records).
                                        • Cada registro tiene varios campos.
                                        • Cada campo contiene información específica.
                                        • Cada campo contiene datos de un tipo
        Planilla                          determinado.
                                                – Ej: dinero,texto, números enteros, fechas, direcciones
  Versión simple de
    una base de                         • Cada registro tiene una clave primaria. Un
        datos                             identificador único que define al registro sin
                                          ambigüedad.


gi      Ac c es si on   vers ion   date         Genbank Di vi s i on   taxi d organi ms     Number of Chrom os om es
6226959 NM_000014              3   01/06/2000   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
6226762 NM_000014              2   12/10/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
4557224 NM_000014              1   04/02/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
     41 X63129                 1   06/06/1996   MA M                   9913 bos taurus      29+X+Y




                                                                                                         114 /39
                         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)




                                                                      115 /39
                      Tipos de datos
•   Numericos (enteros, decimales)
•   Texto
•   Fechas (DD/MM/YYYY, HH:MM:SS)
•   Logicos (boolean) = verdadero / falso
•   Geometricos (punto, linea, circulo, poligonos, etc.)




                                                           116 /39
 Bases de datos: conceptos básicos: clave
gi
                 primaria
        Ac c es si on   vers ion   date         Genbank Di vi s i on   taxi d organi ms     Number of Chrom os om es
6226959 NM_000014              3   01/06/2000   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
6226762 NM_000014              2   12/10/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
4557224 NM_000014              1   04/02/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
     41 X63129                 1   06/06/1996   MA M                   9913 bos taurus      29+X+Y



    gi = Genbank Identifier: Clave única : Clave primaria
    Cambia con cada actualización del registro correspondiente a la secuencia


    Accession Number: Clave secundaria
    Refiere al mismo locus y secuencia, a pesar de los cambios en la secuencia.


    Accession + Version es equivalente al gi (representa un identificador único)
    Ejemplo: AF405321.2                  Accession: AF405321                      Version: 2




                                                                                                        117 /39
             Bases de datos: bases de datos
gi      Ac c es si on
                      relacionales
                        vers ion   date         Genbank Di vi s i on   taxi d organi ms     Number of Chrom os om es
6226959 NM_000014              3   01/06/2000   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
6226762 NM_000014              2   12/10/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
4557224 NM_000014              1   04/02/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
     41 X63129                 1   06/06/1996   MA M                   9913 bos taurus      29+X+Y


  Base de datos relacional:
  Normalizar una base de datos para sub-elementos repetidos,
  repartiendola en bases de datos menores, relacionadas a través de un
  identificador único (clave primaria).

gi          Accession              version   date              Genbank Division taxid
6226959     NM_000014                    3   01/06/2000        PRI              9606
6226762     NM_000014                    2   12/10/1999        PRI              9606
4557224     NM_000014                    1   04/02/1999        PRI              9606
     41     X63129                       1   06/06/1996        MAM              9913

taxid    organims     Number of Chromosomes
    9606 homo sapiens 22 diploid + X+Y
    9913 bos taurus   29+X+Y

                                                                                                        118 /39
         Bases de datos: distribucion de la
                   informacion
           gi                                               annotation
 5693                       Trypanosoma cruzi chromosome 3, ORF 1234, similar to
                            gi|12345|AF934567 caseine kinase (Candida albicans)

 5694                       Candida albicans hypothetical protein in region 21922..24568

 5695                       Sarcocystis cruzi 16SRNA gene

 5696                       Lutzomyia cruzi cytochrome b; best similarity to gi|1234568




gi      Organism                  Annotation                                         similar to

5693    Trypanosoma cruzi         Chromosome 3, ORF 1234                             12345

5694    Candida albicans          Hypothetical protein in region 21922..24568

5695    Sarcocystis cruzi         16S RNA gene                                       786512

5696    Lutzomyia cruzi           Cytochrome b                                       1234568




                                                                                           119 /39
Búsquedas en una base de datos:
           índices
      • Para facilitar las búsquedas en una base de datos, se
        construyen índices.
      • Un índice es una lista de claves primarias asociadas a un
        determinado campo (o grupo de campos)


gi      Ac c es si on    vers ion   date         Genbank Di vi s i on   taxi d organi ms     Number of Chrom os om es
6226959 NM_000014               3   01/06/2000   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
6226762 NM_000014               2   12/10/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
4557224 NM_000014               1   04/02/1999   PRI                    9606 homo sapi ens   22 di ploi d + X +Y
     41 X63129                  1   06/06/1996   MA M                   9913 bos taurus      29+X+Y


Genbank div
PRI                     6226959;6226762;4557224;É
MAM                     41;É

Accession
NM_000014               6226959;6226762;4557224;
X63129                  41;
                                                                                                         120 /39
                                Indices (cont)
• Un ejemplo más complejo: buscar todos los records que
  contengan la palabra ‘kinase’ en la descripción de la
  secuencia
     gi          acc                           def
  214734       L07770    Xenopus laevis rhodopsin mRNA, complete cds.
  123456       AF43567   Mus musculus casein kinase mRNA, partial cds.



  •Indexar la columna ‘def’
      word                              list of GIs
   casein       1234,3245,43678,123456 ...
   kinase       432,5678,32456,123456 ...
   laevis       36314,214734, ...
   mus          23467,98732,123456,312456,567983 ...
   musculus     23467,98732,123456,567983 ...
   rhodopsin    214734,223466,873212,23587,2942,12932 ...
   xenopus      28462,36314,98476,214734 ...




                                                                         121 /39
                       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.




                                                                  122 /39
        Búsquedas en bases de datos:
           búsquedas indexadas
Importante: no se busca en el total de los datos disponibles, sino sobre
un subset pre-computado.


• Buscadores de páginas en internet

• PubMed / Entrez / SRS

• BLAST




                                                                  123 /39
                            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




                                                                  124 /39
Schemas (cont)




                 125 /39
                              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




                                                  126 /39
                 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)




                                                         127 /39
          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 … )




                                                                           128 /39
       Búsquedas simples: pros / cons
• Ventajas
   – rápidas de formular

   – no hay que leer el manual


   – ni hacer un curso 

• Desventajas
   – poco selectivas




                                        129 /39
             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)
                                                    130 /39
       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)
                                                    131 /39
               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




                                                     132 /39
     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)




                                                        133 /39
134 /39
       Bases de datos biológicas: DNA
• Nucleotide databases:

   – Genbank: International Collaboration
      • NCBI (USA), EMBL (Europe), DDBJ (Japan and Asia)


   – Organism specific databases
      •   FlyBase
      •   ChickBASE
      •   pigbase
      •   SGD (Saccharomyces Genome Database)




                                                           135 /39
   Bases de datos biológicas: proteínas
• Protein Databases:

   – NCBI:
      • Genpept: Translated Proteins from Genbank Submissions


   – EMBL
      • TrEMBL: Translated Proteins from EMBL Database


   – SwissProt:
      • recibe secuencias peptídicas
      • cura y anota secuencias provenientes de TrEMBL
     (Gratuita para uso académico. Restricciones sobre los
     descubrimientos hechos utilizando la base de datos. La
     versión de 1998 es gratuita y libre de todas las restricciones.)
       • http://www.expasy.ch (última versión no-gratuita)
       • NCBI tiene la última versión gratuita.
                                                                        136 /39
      Bases de datos biológicas:
             estructura
• Structure databases:
   – PDB: Protein structure database.
       • http://www.rscb.org/pdb/
   – MMDB: NCBI’s version of PDB with entrez links.
       • http://www.ncbi.nlm.nih.gov
   – SCOP: structural classification of proteins
       • family, superfamily, fold
   – CATH: structural classification of proteins
       • class, architecture, topology, homology
   – FSSP: fold classification based on structure-structure alignment
• Genome Mapping Information:
   – http://www.il-st-acad-sci.org/health/genebase.html
   – NCBI(Human)
   – Genome Centers:
       • Stanford, Washington University, UCSC
   – Research Centers and Universities

                                                                 137 /39
   Bases de datos biológicas: literatura
• Literature databases:
   – NCBI: Pubmed: All biomedical literature.
       • www.ncbi.nlm.nih.gov
       • Abstracts and links to publisher sites for
           – full text retrieval/ordering
           – journal browsing.
   – Publisher web sites.

• Pathways Database:
   – KEGG: Kyoto Encyclopedia of Genes and Genomes:
      www.genome.ad.jp/kegg/kegg/html




                                                      138 /39
   Bases de datos biológicas: GenBank
• Es un Banco: no se intenta unificar datos.
   – No se pueden modificar las secuencias sin el consentimiento del
     autor (submitter).
   – No se intenta unificar (puede haber más de una secuencia para
     un locus/gen).
   – Puede haber registros de diversas calidades de secuencia y
     diferentes fuentes ==> Se separan en varias divisiones de
     acuerdo a:
      • Secuencias de alta calidad en divisiones taxonómicas.
          – PRI -> Primates
          – MAM -> Mamíferos
          – INV -> Invertebrados
      • Secuencias de baja calidad en divisiones uso-específicas.
          – GSS -> Genome Sequence Survey
          – EST -> Expressed Sequence Tags
          – HTG -> High Troughput Sequencing (unfinished contigs, BACs,
            cosmids, chromosomes).

                                                                          139 /39
                           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




                                                       140 /39
             Bases de datos primarias
• Una base de datos primaria es un repositorio de datos
  derivados de un experimento o de conocimiento
  científico.

   –   Genbank (Repositorio de secuencias nucleotídicas)
   –   Protein DB, Swissprot
   –   PDB
   –   Pubmed (literatura)
   –   Genome Mapping
   –   Kegg (Kyoto Encyclopedia of Genes and Genomes, base
       de datos de vías metabólicas)




                                                             141 /39
         Bases de datos secundarias
• Una base de datos secundaria contiene información
  derivada de otras fuentes (primarias, entre otras).
   – Refseq (Colección curada de GenBank en NCBI)
   – Unigene (Clustering de ESTs en NCBI)


• Las bases de datos organismo específicas son en
  general una mezcla entre primaria y secundaria.




                                                        142 /39
Análisis y anotación de genomas

          Fernán Agüero




                                  143 /39
                       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




                                                   144 /39
                  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




                                            145 /39
               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



                                              146 /39
             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.




                                                   147 /39
             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




                                                        148 /39
    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




                                                                149 /39
                            Anotación genómica

Genomic DNA
                                                                    ab initio gene
                                                                    prediction
                                         transcription
Unprocessed RNA

                                         RNA processing
Mature mRNA           Gm3                                AAAAAAA
                                                                   Comparative gene
                                         translation               prediction
Nascent polypeptide

                                         folding

Active enzyme


                                                                   Functional
                                                                   identification
Function                    Reactant A        Product B


                                                                         150 /39
   Annotation & functional genomics
La anotación del genoma es esencial en el desarrollo de
estrategias funcionales (functional genomics)


         proteome based functional genomics



  RNAi phenotypes                       Gene
                                        Knockout



                    Expression Microarray


                                                      151 /39
         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!



                                                                       152 /39
             Integrar resultados
            BLASTX
                                DB
            BLASTN

Secuencia   RepeatMasker
 genoma
            tRNASCan
                              flatfiles
            gene prediction



                                          Visualización




                                                 153 /39
Genome annotation: C. elegans




                                154 /39
             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




                                                                                               155 /39
             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




                                                         156 /39
                Artemis: main window


Sequence view




Sequence view



Feature list



                                       157 /39
                Artemis: plots


%GC plot




AA properties
plot para un
CDS




                                 158 /39
         Artemis: display de análisis


Frameplot


BLASTX


BLASTN




                                        159 /39
Artemis:




           160 /39
Artemis: zoom




                161 /39
Artemis: spliced genes




                         162 /39
Artemis: comparar análisis




                             163 /39
               ACT: Artemis Comparison Tool
Nature Genetics 35 (2003)
Comparative analysis of the genome
sequences of Bordetella pertussis,
Bordetella parapertussis and
Bordetella bronchiseptica.




                                              164 /39
ACT: Artemis Comparison Tool




                               165 /39
                 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).




                                                      166 /39
       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




                                                                       167 /39
Transferencia directa de anotación

                 • Realizar una búsqueda en la
                   base de datos de referencia
                   y transferir la anotación
XDB
                 • Ejemplo: FASTA contra una
                   base de datos de
                   secuencias y transferencia
        Target     de la línea DE del mejor hit




                                         168 /39
Anotación a partir de múltiples fuentes

                     • Generalmente se usa
                       más de una base de
                       datos externa
 XDB
                     • Hay que combinar los
                       resultados


          Target




                                         169 /39
                   Conflictos
• Contradicción
• Inconsistencia
• Sinónimos
• Redundancia




                                170 /39
      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
XDB                 target que queremos anotar




         Target




                                                     171 /39
    Traducciones: algunos ejemplos
ENZYME  TrEMBL
CA L-ALANINE=D-ALANINE
CC -!- CATALYTIC ACTIVITY: L-ALANINE=
CC     D-ALANINE.

PROSITE  TrEMBL
/SITE=3,heme_iron
FT METAL         IRON

Pfam  TrEMBL
FT DOMAIN       zf_C3HC4
FT ZN_FING      C3HC4-TYPE




                                        172 /39
    Requerimientos de un sistema de anotación
                   automática
•   Corrección
•   Escalable
•   Actualizable
•   Poco redundante
•   Completo
•   Vocabulario controlado




                                          173 /39
                  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’



                                                     174 /39
               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
                                                             175 /39
   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




                                                                        176 /39
            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),




                                                               177 /39
           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




                                                                  178 /39
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
                                                          179 /39
                            HAMAP
• Hay muchos genomas bacterianos terminados, pero va a haber
  muchos más en los próximos años

• El número de proteínas bacterianas proveniente de estos
  genomas llegará al millón muy rápidamente

• Pero el análisis funcional y una caracterización detallada van a
  exsitir sólo en unos pocos casos:
   – todas las proteínas de organismos modelo (E. coli, B.
     subtilis)
   – proteínas involucradas en patogénesis (interés médico e
     industrial)
   – proteínas involucradas en vías metabólicas específicas
     (interés biotecnológico)


                                                                180 /39
    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




                                                     181 /39
         Estrategia HAMAP




ORFans

                            182 /39
                    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




                                                       183 /39
HAMAP: ORFan antes




                     184 /39
HAMAP: ORFan después




                       185 /39
HAMAP: large/complex families




                                186 /39
        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)




                                                                 187 /39
HAMAP: ejemplo reglas




                        188 /39
              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)




                                                               189 /39
               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

                                                             190 /39
191 /39
            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.




                                                     192 /39
UCSC Genome Browser: gene expression




                               193 /39
UCSC Genome browser: alternative
          splicing




                               194 /39
UCSC Genome browser: complex
        transcription




                           195 /39
    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




                                                      196 /39
              Acknowledgements
• Nicola Mulder, EBI
• Daniel Lawson, Sanger Centre




                                 197 /39
      Bioinformática
Herramientas y aplicaciones

                                        Fernán Agüero
          Instituto de Investigaciones Biotecnológicas
         Universidad Nacional de General San Martín

            2004


                                             198 /39
    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




                                                       199 /39
  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,
                                                                 200 /39
    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.


                                                                                       201 /39
  Bases de datos: conceptos básicos
Qué es una base de datos?               Una colección de datos

Cómo colecciono los datos?              Decisión del usuario. Diseño de la
                                        base de datos.

Puedo usar:

Procesador de texto? (Word)             Si. Permite sólo búsqueda y
                                        ordenamiento simples.

Planilla de Cálculo? (Excel)            También. Como los datos están en
                                        columnas independientes, se puede
                                        ordenar en formas más complejas.
                                        Las búsquedas siguen siendo
                                        simples.

Un sistema de manejo de base de datos   Ideal. Permite representar los datos
(Database Management System, DMS)       en formas complejas. Flexible para
                                        reordenar y buscar con distintos
                                        criterios
                                                                             202 /39
             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.




                                                                                        203 /39
    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




                 El costo de un proyecto bioinformático es bajo
             una vez que cubierto el gasto inicial en computadoras
                           (y eventualmente software)




                                                                            204 /39
                       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




                                                                                    205 /39
            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



                                                                                  206 /39
                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)




                                                                          207 /39
               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)




                                                                     208 /39
Automatizar búsquedas con BLAST

                  Secuencias




                     BLAST




           NO
                  Significativo?



                          SI




          NO                         SI
                Es una proteinasa?        Guardar




                                                    209 /39
                           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




>gi|32172429|sp|P25807|CYS1_CAEEL Gut-specific cysteine proteinase precursor
>gi|32172419|sp|P07268|PRZN_SERSP Serralysin precursor (Extracellular metalloproteinase) (Zinc proteinase)



                                                                                                  210 /39
                    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




                                                                             211 /39
                   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.




                                                                          212 /39
     Anatomía de un reporte de BLAST
Header

Programa
$programa = “TBLASTN”
$version = “2.2.6”




Query
$id = “GROU_DROME”
$accession = “P16371”
$descripcion = “Groucho protein …”
$longitud = “719”




Base de datos
$database = “GenBank non-mouse …”
$secuencias = “8104717”




                                       213 /39
 Anatomía de un reporte de BLAST
Hit List




                                   214 /39
Anatomía de un reporte de BLAST
High scoring pairs (HSPs)

 Subject
 $gi = “132150256”
 $gb = “CB923560”
 $version = “1”
 $desc = “TcAmaPl03Run01_C08 …”
 Longitud = “653”




 HSP info
 $score = “58.9”
 $expect = “7e-10”
 $identity = “24%”
 $similarity = “43%”
 $frame = “+1’




                                  215 /39
     Anatomía de un reporte de
             BLAST
Footer




 Estadísticas para esta corrida
 Base de datos
 Parámetros estadísticos
 Matriz
 Penalties
 Detalles sobre lo que hizo el algoritmo




                                           216 /39
                     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)




                                                                217 /39
Representación de la información

  flatfiles
                               Ayer


               procesamiento




  resultados



                                      218 /39
Representación de la información

   flatfiles
                                Hoy


                procesamiento


                                      DB

   resultados



                                      219 /39
       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 }


                                                                    220 /39
          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)




                                                                         221 /39
 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




                                                                      222 /39
                              Pipelines
• Qué es un pipeline?
      – Una línea automatizada de análisis


Seq




      BLAST      Pfam      TMHMM         SignalP   etc   Fábrica de resultados




                             Base de datos               Almacenamiento



                                   CGI

                                                          Integración
                                                               Y
                                                         Visualización
                              Web Page

                                                                    223 /39
                    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




                                                             224 /39
         Estrategia HAMAP




ORFans

                            225 /39
226 /39
227 /39
228 /39
                  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




                                                                                            229 /39
                  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




                                                                   230 /39
                   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




                                                                    232 /39
233 /39
Búsqueda en bases de datos

      Similitud, homología.
      Métodos heurísticos.




                              234 /39
Búsqueda en bases de datos

       Perspectiva general




                             235 /39
   Búsqueda en BD frente al alineamiento de
                secuencias
• Una de las aplicaciones más conocidas es buscar [nuevas] secuencias
  en una BD.
• Esto suele hacerse alineando la secuencia contra todas las de la BD.
   – Proceso parecido al alineamiento por parejas.
   – Objetivos distintos: interesa más la puntuación que el alineamiento en si.
   – Los parámetros que mejor distingan entre secuencias relacionadas y las
     que no lo están no son necesariamente los mismos que proporcionan el
     mejor alineamiento.




                                                                         236 /39
Búsqueda en BD y predicción de la función de
          una proteína o un gen
• La búsqueda de secuencias en bases de datos puede verse como un
  proceso de descubrimiento científico en el que.
   – Se utiliza la información acumulada.
   – Para descubrir propiedades de nuevas secuencias.
• Obviamente como en toda investigación.
   – Es preciso proceder con meticulosidad y racionalidad.
   – Un proceso incorrecto o descuidado puede llevar a conclusiones erróneas o
     a omitir hallazgos.




                                                                      237 /39
¿Puede predecirse la función de una proteína
                o un gen?
• La evolución es un proceso conservativo
   – Cambian los residuos en una secuencia
   – Pero se conservan las propiedades bioquímicas y los procesos
     fisiológicos
• Si somos capaces de encontrar en la BD secuencias
  homólogas a la secuencia problema concluimos que la
  nueva secuencia “debe de tener” propiedades similares a la
  secuencia conocida




                                                              238 /39
                 Homología y similitud
• Para inferir las propiedades de una nueva secuencia
  precisamos de secuencias homólogas a ésta.
• Sin embargo la homología no es observable, solo la
  similitud.
• Debemos pues determinar…
   – Cual es la mejor forma de medir la similitud.
   – Como determinar si de la similitud observada puede inferirse la
     homología.




                                                                 239 /39
Fuentes de información para la búsqueda
           en bases de datos




                                    240 /39
               Fuentes de información
• La búsqueda en BD se fundamenta en tres tipos distintos
  de fuentes de información [conocimiento previo].
   – El sistema de puntuación con el que se cuantifica el grado de
     similitud.
   – El algoritmo utilizado para realizar las comparaciones.
   – La base de datos en donde se realiza la búsqueda.




                                                                 241 /39
             El sistema de puntuación
• La similitud se cuantifica con matrices de sustitución (PAM,
  BLOSUM, etc…).
• Se han obtenido analizando sustituciones conocidas de
  unos AA por otros entre secuencias con grados distintos de
  divergencia y conservación de función.
   – Siempre es mejor usar una matriz adecuada que suponer
     sustituciones equiprobables.
   – Distintos grados de divergencia requieren distintas matrices de
     puntuación.




                                                                  242 /39
              El algoritmo de búsqueda
• Cada algoritmo (S-W, FASTA, Blast).
   – Aprovecha de forma distinta la información.
   – Imponiendo restricciones distintas sobre el modelo evolutivo.
• SW: pocas restricciones.
   – Muy sensitivo pero poco selectivo.
   – Lento.
• FASTA/Blast: restricciones heurísticas.
   – Pueden resultar en menor sensibilidad.
   – Más selectivos y mucho más veloces.




                                                                     243 /39
                 La base de datos
• Es la fuente más evidente de conocimiento preexistente.
• Una búsqueda adecuada en BD puede ahorrar muchas
  horas de trabajo en el laboratorio.




                                                      244 /39
           Suposiciones en que se basa
             la búsqueda en las BD
• La búsqueda en BD presupone que…
  – Las secuencias buscadas tienen ancestros comunes con la
    secuencia problema.
  – El camino evolutivo más adecuado es el que presupone un menor
    número de cambios.
     • No todas las sustituciones son igualmente probables: Debemos usar
       matrices de sustitución que las ponderen adecuadamente.
     • Las inserciones y eliminaciones son menos probables que las
       sustituciones




                                                                   245 /39
                     En la práctica …
• La elección del algoritmo de búsqueda influye en
   – La sensibilidad y
   – La especificidad
 de la búsqueda.
• La elección de la matriz de similitud determina el patrón y la
  cantidad supuesta de sustituciones en las secuencias que
  se espera descubrir en la búsqueda.




                                                         246 /39
Sensibilidad y especificidad




                               247 /39
          Exitos y fracasos en la búsqueda

• Supongamos que conociéramos TODAS las coincidencias entre una
  secuencia problema y una base de datos.
• En este caso podríamos distinguir si, dada una coincidencia, ésta es
  cierta o falsa.
• Esto nos lleva a distinguir entre.
   –   Positivos verdaderos (True positives TP).
   –   Positivos Falsos . (False Positives, FP).
   –   Negativos Verdaderos (True Negatives, TN).
   –   Negativos Falsos (False Negatives, FN).




                                                                248 /39
    Verdaderos/Falsos Positivos/Negativos

               Realidad       Coincidencia         Coincidencia
                                 Cierta               Falsa
Detección


Positivo:                 Positivo verdadero   Falso positivo
Se detecta
coincidencia


Negativo:                 Falso Negativo       Negativo verdadero
No se detecta la
coincidencia



                                                                249 /39
               Sensibilidad frente a
            Especificidad (“Selectividad”)

• Sensibilidad= TP /(TP+FN)
   % de coincidencias bien identificadas
     (% positivos entre las coincidencias)


• Especificidad = TP / (TP+FP)
   % de positivos correctos
     (% de correctos entre los positivos)




                                             250 /39
                     El compromiso entre
                  sensibilidad y especificidad
•   Si en una búsqueda colocamos el umbral alto 
     – Cuesta localizar los positivos Pocos FP
     – Pero tendremos más falsos negativos
    Es decir un umbral alto suele conllevar una baja sensibilidad y una alta
    especificidad
•   AL reves si colocamos un umbral bajo
     – Tendremos muchos positivos  Tambien más FP
     – Pero habran menos falsos negativos
    Es decir un umbral bajo conlleva una alta sensibilidad y una baja especificidad
• Idealmente:mirar de lograr un equilibrio,
• O en todo caso decidir que error nos interesa más controlar en cada
  situación




                                                                               251 /39
< 0.05
< 1.00




Low sensitivity,
many false
negatives


High selectivity,
few false positives
           252 /39
  High
  sensitivity,
  few false
  negatives
  Low
  selectivity,
  many false
  positives



< 1.00




          253 /39
   Algoritmos de búsqueda

De la programación dinámica a los métodos
               heurísticos




                                            254 /39
             Busqueda basada en PD
• Una forma razonable de buscar una secuencia en una base
  de datos es realizando alineamientos locales de ésta contra
  todas las de la base de datos
• Algoritmo: Smith-Waterman
   – Encuentra una solución óptima
   – Sólo impone una restricción: Puntuación > 0
   – Proporciona la mejor sensibilidad




                                                      255 /39
                  Inconvenientes de la
                búsqueda basada en SW
• La busqueda basada en PD proporciona una gran
  sensibilidad pero
   – Es poco específica Pocos falsos negativos: Fàcil perder las
     “homologías remotas”
   – Es necesariamente lenta.
• Alternativa: Métodos heurísticos
   – Aproximaciones a SW con restricciones que:
      • Aumentan la especificidad (aunque baja la sensibilidad)
      • Són mucho más rápidas




                                                                  256 /39
                          FASTA
• Aproximación a S-W que utiliza dos heurísticas para ir más
  rápido a costa de perder sensibilidad
• Heurísticas : Restricciones al modelo evolutivo implicito en
  la comparación de secuencias
   – Tamaño de palabra (Word size)
   – Tamaño de ventana (Window size)




                                                        257 /39
          Tamaño de palabra en FASTA
• La comparación entre secuencias no se realiza residuo a residuo sino
  por grupos de residuos,
    – 2 residuos en AA.
    – 6 bases en DNA.
• A mayor tamaño de palabra menor es la sensibilidad y mayor la
  especificidad.
• El efecto de variar el tamaño de palabra se muestra en los dot-plots: A
  mayor tamaño menor numero de coincidencias.




                                                                   258 /39
Tamaño de palabra=1
                 • Ruidoso
                 • Es dificil
                   localizatr las
                   zonas de
                   similitud




                              259 /39
Tamaño de palabra=2

                • Se ven las
                  regiones candidatas
                • Aunque se pierden
                  algunas
                  coincidencias




                              260 /39
Tamaño de palabra=3
                 • Sin ruído pero
                 • Apenas sin
                   coincidencias




                            261 /39
                             BLAST

• Aproximación similar a la anterior basada en aparear fragmentos
  cortos que irá extendiendo para buscar alineamientos locales
• Utiliza un modelo estadístico para encontrar los mejores
  alineamientos entre la secuencia desconocida y la BD
• HSP: High-scoring Segment Pair
   – La unidad fundamental de trabajo con BLAST
   – Corresponde a una región de máxima similitud entre dos
     subsecuencias (palabras, W) con una puntuación más grande o igual a
     una puntuación umbral, T




                                                                   262 /39
                     BLAST: Algoritmo

1.   Compilar todas las palabras de medida n que den una puntuación
     superior al umbral (HSP)
2.   Comparar estas palabras con las de la BD para identificar las
     identidades exactas (“hits”)
3.   Extender las palabras que han superado el umbral, en las dos
     direcciones mirando de mejorar la puntuación
     –   La extensión acabará si baja la puntuación por debajo de otro umbral,
         si llega a cero o si se acaba la secuencia
4.   Listar los segmentos extendidos de puntuación más alta




                                                                       263 /39
Algoritmo de BLAST (1)




                         264 /39
Algoritmo de BLAST (2)




                         265 /39
Algoritmo de BLAST (3)




                         266 /39
5. Significación de los resultados




                                     267 /39
        E-values, p-values y bit-scores
• Dado que los programas de búsqueda heurística tan sólo
  encuentran coincidencias aproximadas conviene poder
  cuantificar cuan aproximadas son
• Esto se hace mediante distintos estadísticos
   – E-value
   – P-value
   – Bit-scores




                                                    268 /39
                                E-values

•   Dado un High Scoring Pair el E-value es el número esperado de
    puntuaciones iguales o superiores a las del HSP dado
•   Un E-value de 10 para una coincidencia significa, que, en una base de datos
    del mismo tamaño en la que se ha realizado la búsqueda, se podría esperar
    encontrar hasta 10 coincidencias con la misma puntuación o similar,
    simplemente por azar
•   El E- value es la medida de corte más utilizada en las búsquedas en bases
    de datos. Sólo se informa de las coincidencias que superan un nivel mínimo
•   El E-value oscila entre 0 y cualquier valor




                                                                         269 /39
                            P-values
• Refleja la probabilidad de obtener por azar una puntuación superior o
  igual a la observada
• Se relaciona con el E-value en que: P=1-e-E
• Un P-valor de 0.03 significa que hay una probabilidad (>=) 3% de
  encontrar una puntuación superior a la observada simplemente por azar
• Si E<0,01 Los P-valores y los E-valores son similares
• Los p-valores oscilan entre 0 y 1




                                                               270 /39
                     Bit scores
• El valor de la puntuaciones obtenidas por un
  emparejamiento carecen de sentido si no se tiene en
  cuenta el tamaño de la base de datos y el sistema de
  puntuación
• Los Bit-scores normalizan las puntuaciones para
  independizarlas de ambos factores de forma que podamos
  compararlas




                                                   271 /39
Score   E-Value

        272 /39
< 0.05
< 1.00




         273 /39
274 /39
Bases de datos




                 275 /39
              Tipos de bases de datos
• Primarias
   – Principales depósitos de información. Datos de secuencia o
     estructura. Pueden contener datos adicionales.


• Derivadas
   – Preparadas a partir de primarias. Información adicional procesada
     manual o automáticamente




                                                                  276 /39
        Bases de datos biológicas
•   Primarias
     – Información suministrada por trabajo experimental
     – La institución receptora organiza la información pero no añade nada
         • Ejemplo EMBL/GenBank
•   Derivadas
     – Anotadas a posteriori
         • Los datos son revisados, corregidos y se añade información bibliográfica
         • Ejemplo SWISS-PROT
     – Derivadas computacionalmente
         • Ejemplo PFAM
     – Combinaciones específicas




                                                                              277 /39
     Molecular Database Collection 2006 update
         Principales Tipos de Búsqueda
• Acceso directo a la base de datos
   – Normalmente se obtiene una información más elaborada

• Sistemas de búsqueda global
   – SRS, NCBI Entrez
   – Automatizado, uniforme. Permite una visión global de la información (varias
     BD simultáneamente)

• Acceso programático (bioXXX, servicios Web, taverna)




                                                                        278 /39
       Bases de datos de secuencia


• Contienen todas las secuencias obtenidas
  experimentalmente
   –   DNA genómico
   –   cDNA, RNA
   –   EST
   –   Proyectos genoma (HTS)
   –   Proteína
   –   ...




                                             279 /39
             Origen de la información
• Trabajo individual de investigación
   – Produce información de gran calidad en cantidades muy limitadas


• Secuenciaciones masivas: EST, HTS, proyectos genoma.
   – Producen mucha información de una calidad inferior, en algunos
     casos dudosa.




                                                               280 /39
              Principales repositorios
• DNA/RNA
   – (EMBL, Genbank, DDBJ), RefSeq


• Proteína
   – Uniprot (Swissprot/TrEMBL), PIR




                                         281 /39
282 /39
283 /39
284 /39
TEXT


   285 /39
286 /39
287 /39
288 /39
                        Anotaciones




                        Traducción




                                      289 /39
http://www.expasy.org
290 /39
              Información cruzada
• La mayoría de archivos de bases de datos incluyen
  enlaces a otras bases de datos
   –   Secuencia DNA Secuencia proteína
   –   Secuencia   Estructura 3D
   –   Secuencia      Datos bibliográficos
   –   ....




                                                  291 /39
292 /39
293 /39
294 /39
295 /39
Busqueda integrada. SRS




                          296 /39
297 /39
        Búsqueda integrada. Entrez




                                                            298 /39
http://www.ncbi.nlm.nih.gov/Database/datamodel/index.html
                Acceso prog. Web Services

      String        Uniprot ID     PDB ID     getHeadersfromPDBId PDBText


   StringtoAAS     getAASfromUniprot getAASfromPDBId getPDBFilefromPDBId


                                 AAS    getAASfromPDBText    PDBText
   Input/output
   Service
                         runPSIBlastfromAAS            runFSOLVfromPDBText
   Output
AAS: AminoAcidSeq           BLASTText


       runPHDfromBlastText        runPMUTHSfromBlastText

               PHDText                  PMUTText            FSOLVText
                                                                    299 /39
                   Notas de prudencia
• Las bases de datos pueden contener errores

• Distintas versiones (“releases”) pueden contener diferencias
  significativas

• Todos los grupos bioinformáticos publican bases de datos, no existe
  control




                                                                 300 /39

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:13
posted:2/13/2013
language:Unknown
pages:299