Un estudio preliminar sobre el algoritmo BlastHerramienta de búsqueda de alineación local básica

Un estudio preliminar sobre el algoritmo BlastHerramienta de búsqueda de alineación local básica

Búsqueda de datos de secuencia

BLAST es un algoritmo heurístico, es decir, no garantiza que pueda encontrar la solución óptima, pero hace todo lo posible para encontrar una solución suficientemente buena en un tiempo más corto.

全局比对: dp
F ( 0 , 0 ) = 0 F ( i , j ) = max ⁡ { F ( i − 1 , j − 1 ) + s ( xi , yj ) F ( i − 1 , j ) + d F ( i , j − 1 ) + d G lobal A alineación \begin{array}{l} F(0,0)=0 \\ F(i, j)=\max \left\{\begin{array} {l} F(i-1, j-1)+s\left(x_{i}, y_{j}\right) \\ F(i-1, j)+d \\ F(i, j- 1)+d\end{array}\right. \end{array} Alineación globalF ( 0 ,0 )=0F ( yo ,j )=máximoF ( yo1 ,j1 )+s( xyo,yj)F ( yo1 ,j )+dF ( yo ,j1 )+reAlineamiento global _ _ _ _ _ _ _ _ _ _ _ _ _

Por qué se propone la comparación local:

  1. Los PR funcionalmente relacionados son muy diferentes en la secuencia general, pero tienen el mismo dominio funcional. Los fragmentos de secuencia pueden ejercer funciones biológicas independientes y no se pueden comparar globalmente.
  2. connotación

Explosión de comparación local: reduzca la matriz dp, calcule la ruta de comparación óptima, encuentre el óptimo local , limite la puntuación más baja y calcule la similitud local
F (0, 0) = 0 F (i, j) = max ⁡ { F ( i − 1 , j − 1 ) + s ( xi , yj ) F ( i − 1 , j ) + d F ( i , j − 1 ) + d 0 Alineamiento local A \begin{array}{l} F( 0,0)=0 \\ F(i, j)=\max \left\{\begin{array}{l} F(i-1, j-1)+s\left(x_{i} , y_ {j}\right) \\ F(i-1, j)+d \\ F(i, j-1)+d \\ 0 \end{array}\right.\end{array} LocalAlignmentF ( 0 ,0 )=0F ( yo ,j )=máximoF ( yo1 ,j1 )+s( xyo,yj)F ( yo1 ,j )+dF ( yo ,j1 )+d0Alineación local _ _ _ _ _ _ _ _ _ _ _ _
Insertar descripción de la imagen aquí

Rastreo: decodifica la alineación local.

El rastreo comienza en la puntuación más alta de la matriz y continúa hasta llegar a 0.

Puede haber varios resultados coincidentes locales.

imagen

Ideas explosivas: siembra y extensión

  1. Encuentre coincidencias (semilla) entre la consulta y el tema.

    (Encuentra la semilla primero)

  2. Extienda la semilla a pares de segmentos de puntuación alta (HSP): ejecute el algoritmo Smith-Waterman solo en la región especificada.

    (Extienda a ambos extremos según la semilla y construya una comparación)

  3. Evaluar la confiabilidad de la alineación.

    (calcular significación estadística)

Insertar descripción de la imagen aquí

siembra

Para una longitud de palabra determinada w (generalmente 3 para proteínas y 11 para nucleótidos), dividir la secuencia de consulta en múltiples "palabras semilla" continuas

Longitud dada w

Insertar descripción de la imagen aquí

Aceleración: base de datos de índice

La base de datos fue preindexada para localizar rápidamente todas las posiciones en la base de datos para una semilla determinada (tiempo constante aproximado/lineal).

Alinear semillas con secuencias preindexadas

Insertar descripción de la imagen aquí

Diagonal y dos golpes

La ruta de comparación óptima definitivamente debe ser paralela a la diagonal principal (con la puntuación más alta). Se pueden eliminar los resultados dispersos y se pueden conservar los resultados consecutivos >2 para reducir el espacio de búsqueda.

Insertar descripción de la imagen aquí

Según el grupo de visitas, extienda y expanda en las direcciones izquierda y derecha hasta que la puntuación total disminuya en más de x.

El algoritmo de la esquina inferior derecha se puede utilizar para ampliar el área.

Insertar descripción de la imagen aquí

Aceleración: máscara de baja complejidad

Las secuencias de baja complejidad
producen falsos positivos.

  • CACACACACACACACA,K=0.36
  • KLKLKLKLKLKL

Enmascare áreas repetitivas de baja complejidad para evitar generar demasiados resultados falsos positivos.

Insertar descripción de la imagen aquí

No puedo decidir de antemano, por lo que puede que no sea adecuado cuando lo use.

palabras de barrio

Para mejorar la sensibilidad, además de la palabra semilla en sí, BLAST también utiliza estas " palabras vecinas " muy similares (basadas en la matriz de sustitución) para la siembra.

Específicamente, las puntuaciones se calculan en función de la matriz de sustitución de todas las posibles variaciones de la palabra inicial.

  • semilla de DKT
  • DRT=6+2+5=13, etc. Solo se tendrá en cuenta la puntuación de la versión actual >= 11 (reducir los falsos positivos)

Evaluar la significancia estadísticaEvaluación de la calidad

Dado el gran volumen de datos, es fundamental proporcionar algunas medidas para evaluar la importancia estadística de un resultado determinado.

Evaluar el control de calidad después de obtener la comparación final.

Asegúrese de que la alineación no sea causada por factores aleatorios (cuando la base de datos es lo suficientemente grande, las secuencias generadas aleatoriamente también pueden coincidir con los resultados)

E-Value: cómo es probable que surja una coincidencia por casualidad

El número esperado de alineamientos con una puntuación determinada que se esperaría que ocurrieran al azar en la base de datos en la que se ha buscado.

En circunstancias aleatorias, obtenga el número de alineaciones con puntuaciones iguales o superiores a la puntuación de alineación actual.

  • por ejemplo, si E=10, se espera que se encuentren por casualidad 10 coincidencias con puntuaciones tan altas

E = kmne − λ SE=kmne^{-\lambda S}mi=k m n eλS _

  • Expectativa>1
  • longitud de la secuencia de consulta m是
  • n es el tamaño de la base de datos
  • s es una fracción
  • k y λ están relacionados con la matriz de puntuación y son equivalentes al factor de normalización.

Cuanto mayor sea la base de datos n, mayor será la posibilidad de una coincidencia aleatoria; el valor e también es proporcional a m (longitud de la secuencia de consulta), porque blast es una alineación local que no requiere una coincidencia completa ; e y s están correlacionados negativamente. es decir, cuanto mayor es la puntuación, menor es la probabilidad de encuentro aleatorio; k y λ equilibran el impacto de diferentes matrices de puntuación y espacios de búsqueda en los resultados.

E espera que y p se conviertan

Insertar descripción de la imagen aquí

Para facilitar la explicación, podemos convertir aún más el valor p y el valor E entre sí. Como se puede ver en la figura, cuando es inferior a 0,1, el valor E y el valor p, es decir, el valor de probabilidad. , son casi iguales. En particular, cuando p es 0,05, el valor E correspondiente es 0,0513, por lo que algunas personas suelen utilizar 0,05 como límite del valor E.

A diferencia de los algoritmos basados ​​en programación dinámica como Needleman-Wunsch y Smith-Waterman, BLAST es un algoritmo heurístico, es decir, no garantiza encontrar la solución óptima, pero hace todo lo posible para encontrar una solución suficientemente buena en un tiempo más corto. . desatar. Específicamente, BLAST solo aplica el algoritmo de programación dinámica en un área limitada mediante la aplicación de la estrategia de siembra y extensión, lo que reduce efectivamente la cantidad de cálculo y aumenta la velocidad de cálculo. Sin embargo, el aumento de la velocidad tiene el costo de una disminución de la sensibilidad, que también es una compensación común a una serie de algoritmos heurísticos.

Referencia: Bioinformática de la Universidad de Pekín

Supongo que te gusta

Origin blog.csdn.net/qq_52038588/article/details/128039166
Recomendado
Clasificación