La matriz de peso posicional (PWM) es un método bioinformático que se utiliza para buscar motivos en secuencias biológicas.
PWM se puede construir sobre la base de la alineación múltiple de secuencias relacionadas o secuencias que realizan funciones similares. PWM se utiliza en muchos algoritmos modernos para descubrir nuevos motivos [1] .
La matriz de peso posicional fue presentada por el genetista estadounidense Gary Stormo.y colegas en 1982 [2] como una forma alternativa de representar secuencias de consenso . Secuencias de consenso se han utilizado previamente para mostrar motivos comunes en secuencias biológicas, sin embargo, este método tenía algunas desventajas en la predicción y búsqueda de estos motivos en nuevas secuencias [3] . Por primera vez, se utilizó PVM para buscar sitios de iniciación de la traducción en el ARN . Para crear una matriz de peso con la que distinguir sitios verdaderos de secciones similares de secuencias, el matemático polaco-estadounidense Andrzej Ehrenfeuchtse propuso un algoritmo de perceptrón . El resultado del entrenamiento del perceptrón en muestras de sitios verdaderos y falsos fue una matriz y un valor umbral para la diferencia entre estos dos conjuntos de datos. La prueba de esta matriz en nuevas secuencias no incluidas en el conjunto de entrenamiento mostró que este método era más preciso y sensible en comparación con la construcción de una secuencia de consenso.
Las ventajas de PWM sobre las secuencias de consenso han hecho de las matrices un método popular para representar motivos en secuencias biológicas [4] [5] .
Una definición estricta de una matriz de peso posicional es la siguiente [6] :
, donde es el alfabeto de la secuencia (zd. nucleótidos), es el número de posición,
es una matriz de probabilidad posicional, es la aparición de una letra en el alfabeto (es decir, 0,25 para una secuencia de nucleótidos y 0,05 para una secuencia de aminoácidos).
PVM es una matriz, cuyo número de filas corresponde al tamaño del alfabeto (4 nucleótidos para ácidos nucleicos y 20 aminoácidos para secuencias de proteínas), y el número de columnas corresponde a la longitud del motivo [6] .
El primer paso en la construcción de una matriz de peso basada en la alineación múltiple sin deleciones es la creación de una matriz de frecuencia posicional (PMF). Los elementos de esta matriz corresponden a cuántas veces aparece cada letra del alfabeto en una posición particular del motivo. A continuación, el PMP se convierte en una matriz de probabilidad posicional al normalizar el número total de secuencias en la alineación. Tal matriz muestra cuál es la probabilidad de encontrar una letra dada en una posición dada en la alineación inicial.
Cada elemento de la matriz de probabilidad es igual a la probabilidad de encontrar una letra en una posición en la alineación inicial y se calcula mediante la fórmula [1] :
donde es el número de secuencia, es el número de posición, es la letra de la alfabeto,
es la letra correspondiente a la posición en la secuencia , y es la función indicadora calculada por la fórmula:
Por ejemplo, dadas las siguientes diez secuencias de ADN alineadas que representan un motivo:
GAGGTAAAAC |
TCCGTAAGT |
CAGGTTGGA |
ACAGTCAGT |
TAGGTCATT |
TAGGTACTG |
ATGGTAACT |
CAGGTATAC |
TGTGTGAGT |
AAGGTAAGT |
respectivamente, la matriz de frecuencia posicional:
y, por tanto, la matriz de probabilidad obtenida tras dividir por el número de secuencias:
En una matriz de probabilidad posicional, la suma de los valores de cada columna, es decir, la probabilidad de encontrar cualquier letra del alfabeto en una posición dada, en el caso de una alineación inicial libre de borrado es 1.
Con esta matriz podemos calcular la probabilidad de que, al generar letras en cada posición con la probabilidad que en ella se indica, obtengamos una secuencia . Como se supone que las columnas de la matriz son independientes entre sí, esta probabilidad es igual al producto de las probabilidades de colocar cada letra de la secuencia en su posición, es decir: ¿
dónde está la letra de la secuencia en posición ? Por ejemplo, se puede calcular
la probabilidad de que la secuencia S = GAGGTAAAC sea obtenida por la matriz del ejemplo anterior:
Para calcular una matriz de probabilidad posicional a partir de una pequeña matriz de datos, a menudo se utilizan pseudocuentas . Debido a que la muestra está incompleta, puede surgir una situación en la que no todas las letras estén representadas en una determinada posición en la muestra original. En este caso, la probabilidad de obtener esta letra al generar una secuencia aleatoria a partir de esta matriz será igual a cero. En consecuencia, la probabilidad de generar una secuencia con tal letra en esta posición también será igual a cero, independientemente del resto de la secuencia [8] . Para evitar esto, se agrega algún valor, llamado pseudoconteo, a cada elemento de la matriz de probabilidad para que sea distinto de cero. De acuerdo con la regla de Laplace , se agrega 1 a cada elemento de la matriz de frecuencia, la mínima ocurrencia posible de una letra en esta posición. Existen sistemas de pseudoconteo más complejos, como los que utilizan mezclas de Dirichlet o matrices de sustitución .
Dados los pseudoconteos, la definición de la matriz de probabilidad se puede formular como:
, donde - PMC, - función de pseudocontaje [9] .
En el ejemplo anterior, construido sin usar pseudoconteos, cualquier secuencia que no tenga una G en la cuarta posición o una T en la quinta posición tendrá una probabilidad de 0.
El último paso para crear un PWM es la transición de las probabilidades de las letras en diferentes posiciones del motivo a sus pesos. En la mayoría de los casos, estos pesos se calculan como una relación logarítmica de verosimilitud , teniendo en cuenta el modelo de fondo para generar una secuencia aleatoria b. El modelo de fondo más simple supone que cada letra aparece con la misma frecuencia en cualquier posición del conjunto de datos, es decir, el valor de cualquier carácter del alfabeto (0,25 para nucleótidos y 0,05 para aminoácidos, respectivamente). El modelo de fondo no tiene por qué implicar una distribución uniforme de letras: por ejemplo, cuando se estudian organismos con una composición alta de GC, las probabilidades de C y G pueden aumentar, y las de A y T, respectivamente, pueden disminuir. Así, los elementos de la matriz de pesos se calculan mediante la fórmula [6] :
Aplicando esta transformación a la matriz de probabilidad del ejemplo (ignorando los pseudoconteos) obtenemos:
En caso de que los elementos del SRP se calculen usando la razón de verosimilitud logarítmica, el peso de la secuencia se puede calcular como la suma de los pesos de cada letra de esta secuencia en su posición. El peso resultante da una idea de cómo esta secuencia se corresponde con el motivo por el cual se creó la matriz de peso posicional. Cuanto mayor sea la probabilidad de que la secuencia sea generada por la matriz de probabilidad correspondiente y no al azar, mayor será el peso.
El contenido de información del PVM muestra cómo la distribución de las letras en las posiciones descritas en él difiere de la distribución uniforme . La información propia de cada carácter en la posición del motivo es igual a:
La autoinformación esperada (promedio) para este elemento es:
El contenido de información de toda la matriz es igual a la suma de todos los valores propios promedio esperados de cada elemento de la matriz. El contenido de información del SPM en el caso de una distribución de fondo desigual se calcula mediante la fórmula:
donde es la frecuencia de fondo para el símbolo dado.El contenido de la información está relacionado con la distancia Kullback-Leibler o la entropía relativa . Sin embargo, cuando se usa el algoritmo PSSM para buscar secuencias genómicas (ver más abajo), una corrección tan uniforme puede conducir a una sobreestimación de la importancia de las diferentes bases en el motivo debido a la distribución desigual de los n-meros en los genomas reales, lo que lleva a un número significativamente mayor de falsos positivos [10] .
Los PVM se utilizan ampliamente para el análisis de secuencias de nucleótidos y proteínas. En primer lugar, se utilizan para buscar sitios y motivos específicos. Por ejemplo, el algoritmo MATCH [11] puede buscar posibles sitios de unión para factores de transcripción en secuencias de ADN. Se utilizan enfoques similares para las proteínas [12] . Además de buscar dominios funcionales, PVM se puede utilizar para predecir varias propiedades de las proteínas, como la estructura secundaria [13] [14] [15] , su accesibilidad a un solvente [16] [17] , contactos en la estructura [ 18] . Además de buscar motivos, se utilizan PWM de alineación múltiple para describir familias de proteínas. Existen bases de datos de PVM que se pueden utilizar para determinar si una proteína de interés pertenece a familias conocidas. También se están mejorando los métodos para construir y usar PVM. Por ejemplo, se ha desarrollado un método para crear PWM sin usar grandes alineaciones de proteínas múltiples, lo que acelera significativamente los cálculos en presencia de una gran variedad de datos iniciales [19] . Además, existe un enfoque que utiliza múltiples PTM para describir familias de proteínas: en este caso, no una, sino muchas matrices se construyen utilizando diferentes proteínas familiares no cercanas (para evitar sesgos).
Hay varios algoritmos para buscar coincidencias de PWM en secuencias. Un ejemplo es el algoritmo MATCH, que se implementó en el ModuleMaster. Algoritmos más sofisticados para búsquedas rápidas en bases de datos usando nucleótidos así como aminoácidos PWM/PSSM están implementados en el software possumsearch y descritos por Beckstette, et al. (2006) [20] .
Además, entre los algoritmos más famosos, se encuentran MEME y Gibbs [1] .
La implementación de PVM lista para usar se puede usar en los lenguajes de programación Python ( paquete BioPython ) y R ( biblioteca seqLogo ).