En esta seccion veremos, paso por paso, como el programa CLUSTALW desarrolla el MSA . SARDOR ejecuta el algoritmo de la misma manera que el original, aunque como comprobaremos seguidamente existen ciertas variaciones entre los dos programas.
LOS TRES PASOS BASICOS DEL MSA
A partir de un alineamiento de todas las secuencias con todas combinandolas de dos a dos, obtenemos los matches de cada una de las secuencias vs las otras. La distancia de una secuencia respecto a otra se calculara dividiendo el numero de aciertos entre el numero total de aminoacidos comparados y restandole a este valor 1 . Asi pues podemos generar una matriz de distancias triangular n x n, siendo n el numero de secuencias a alinear. Para este primer paso usaremos el GEP y GOP fijado por el usuario y los valores de match y mismatch de la primera de las matrices Blosum o PAM seleccionadas.
A partir de un alineamiento de todas las secuencias con todas combinandolas de dos a dos, obtenemos los matches deA partir de la matriz conseguida anteriormente ClustalW genera un arbol filogenetico a partir del programa Neighbour Joining, produciendo un arbol sin raiz con una longitud de las mismas proporcional a la divergencia estimada. A partir de estos calculos el programa determina un peso para cada secuencia. El peso es, definido de modo laxo, la "importancia" que se da a cada secuencia . Por ejemplo si en un MSA tenemos secuencias semejantes y otras mas divergentes, estas ultimas tendran mas peso ya que nos interesa que el MSA se guie segun las mas alejadas. Si esto no fuera asi nuestro alineamiento no seria del todo correcto ya que penalizariamos o le dariamos una puntuacion igual en el alineamiento a dos secuencias con distancias evolutivas diferentes, de modo que el peso es una manera de "relativizar" este hecho e intentar estandarizar las secuencias.
En nuestro programa hemos obtenido el peso de una manera aproximada. Sabiendo que es proporcional a la distancia, hemos calculado, para cada secuencia, la media de las distancias de dicha secuencia vs las demas y posteriormente este resultado lo hemos dividido por la distancia maxima, de modo que la secuencia mas divergente se le otorgara mayor puntuacion.
A partir de la matriz de distancias podemos saber que dos secuencias tienen la menor distancia entre ellas. Estas dos secuencias las "fusionaremos" y formaran parte de un mismo grupo. Con este grupo recalcularemos la matriz de distancias ( es decir alinearemos este grupo vs todas las demas y obtendremos nuevas distancias). Una vez hecho esto volveremos a mirar que dos secuencias ( o grupos de secuencias ) tienen la distancia menor y volveremos a fusionar y recalcular, y asi progresivamente hasta que ya no nos quede ninguna secuencia por añadir.
A partir de un alineamiento de todas las secuencias con todas combinandolas de dos a dos, obtenemos los matches deEl peso obtenido anteriormente se usa en el proceso de alineamiento del modo siguiente :
Imaginemos que en el grupo 1 tenemos las siguientes secuencias :
En el grupo 2 solo tenemos una secuencia:
Score = (M (E,G)*W1*W4 + M (G,G)*W2*W4+ M (A,G)*W3*W4)/3
Esto lo realizaremos para cada una de las posiciones.
Como sabemos hemos fijado un valor inicial de GOP aunque a partir de la primera ronda de alineamientos el GOP ira cambiando en base a :
GOP = {GOP+ log [min(N,M)]}*Media valores mismatch*Factor de escalado
Dependera de la diferencia entre las longitudes de las secuencias a alinear.Si una es mucho mas corta que la otra, el GEP se incrementa para inhibir demasiadas extensiones de GAPs en secuencias cortas. De este modo el GEP se computara como :
GEP=GEP*[1+log (N/M)]
Tanto en SARDOR como en CLUSTALW podemos elegir la serie PAM o bien Blosum. Cuando se va realizando el alineamiento las matrices usadas para evaluar las secuencias van variando ya que cada una de las matrices esta preparada para puntuar secuencias de una determinada distancia evolutiva. De este modo las matrices hechas con secuencias cercanas evaluaran proteinas poco divergentes y viceversa. Veamos para que distancias usamos cada matriz :
Si hay un gap en una posicion, el GOP es reducido en proporcion al numero de secuencias con un gap en esta posicion y el GEP es reducido a la mitad. Asi pues el nuevo GAP es :
GOP=GOP*0.3*(nº secuencias sin gap/nº de secuencias)
Si una posicion no tiene Gaps pero esta a ocho posiciones de un gap el GOP se incrementa:
GOP =GOP*{2+[(8-distancia al gap)*2]/8}
Si encontramos 5 residuos hidrofilicos se considera una subsecuencia hidrofilica.Si en ninguna posicion no hay gaps y ninguna de las secuencias tiene esta subsecuencia, el GOP se reduce un tercio
Si no hay subsecuencia hidrofilica y la posicion a tratar no tiene gap el GOP se multiplica segun una matriz que contiene valores para las parejas de residuos. Si hemos de considerar varias combinaciones de residuos hallaremos la media de las puntuaciones.
Para mejorar el alineamiento, CLUSTALW ofrece la opcion que las secuencias de menos de un 40% de identidad entren en el proceso de alineamiento cuando las secuencias mas cercanas ya han sido alineadas. De este modo la tarea es mucho mas facil ya que es complicado alinear secuencias demasiado remotas.
MEJORAS EN EL MSA
Supongamos que queremos computar la segunda posicion :
De este modo el GOP dinamico se computara como :
Otros parametros
Hasta aqui, salvando pequeñas diferencias, nuestro programa usa los mismos parametros que CLUSTALW pero como ahora veremos no hemos incluido algunas consideraciones que si usan en el original :