blastn: ¿Qué matriz de sustitución se utiliza?

Actualmente estoy trabajando en la alineación de secuencias y necesito calcular la similitud entre pares de 'palabras' de ADN de una longitud particular.

Para los aminoácidos, puedo usar las matrices de sustitución en Biopython (Bio.SubsMat.MatrixInfo).

Sin embargo, no he encontrado nada similar para el ADN, así que leí y descubrí que la mayoría de los sistemas utilizan un sistema de puntuación de coincidencia/desajuste en el que se puntúa cada coincidencia y desajuste de nucleótidos y luego se suman las puntuaciones. Esto funciona bien siempre que solo trate con A, G, C y T, pero me encuentro con problemas cuando obtengo una secuencia que contiene N o M y similares (lo que significa que se desconoce el nucleótido).

¿Existe una forma estándar de manejar la situación con incógnitas? Es decir, ¿cómo califico A frente a N o M frente a N?

Gracias por adelantado.

Respuestas (1)

BLASTN no utiliza una matriz de sustitución. Hay puntajes para coincidencia, discrepancia y brechas que también puede definir.

No hay ninguna función disponible a partir de ahora que permita puntuar partidos contra desconocidos. Se consideran discrepancias (como se muestra a continuación). Si estos desconocidos están en medio de un HSP, entonces probablemente pueda volver a puntuar el HSP de acuerdo con su esquema utilizando un script de Python. Si el Nestiramiento está interrumpiendo el HSP, puede intentar relajar las penalizaciones por desajuste y reducir el tamaño de la palabra (básicamente, reducir la rigurosidad). No puedo pensar en ninguna otra solución.

Query  1    CAGCGTCCANNTCCCGAGGTGCCGGGATTGCAGACGGAGTCTGGTTCACTCAGTGCTCAA  60
            |||||||||  |||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  8    CAGCGTCCACCTCCCGAGGTGCCGGGATTGCAGACGGAGTCTGGTTCACTCAGTGCTCAA  67

Query  61   TGGTGCCCAGGCTGGAGTGCAGTGGCGTGATCTCGGCTCGCTACANNCTCCACCTCCCAG  120
            |||||||||||||||||||||||||||||||||||||||||||||  |||||||||||||
Sbjct  68   TGGTGCCCAGGCTGGAGTGCAGTGGCGTGATCTCGGCTCGCTACAACCTCCACCTCCCAG  127

Query  121  CCGCCTGCCCTGGCCTCCCAAAGTGCCGAGATTGCAGCCTCTGCCCAGCCGCCACCCC  178
            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  128  CCGCCTGCCCTGGCCTCCCAAAGTGCCGAGATTGCAGCCTCTGCCCAGCCGCCACCCC  18
Entiendo que estoy usando el término matriz porque lo estoy manejando con uno programáticamente, pero lo estoy generando con dichos valores de coincidencia y desajuste. Modificaré la pregunta para ser más específico sobre lo que quiero.
@ChrisChambers Editado. Pero me temo que lo que está buscando no es posible sin secuencias de comandos adicionales.
"Se consideran desajustes (como se muestra a continuación)" Esto es lo que quería saber. Entonces, básicamente, si me encuentro con cualquier nucleótido que no esté específicamente especificado (es decir, N, M, etc.), es automáticamente una falta de coincidencia. No importa si estoy comparando N con M, o N con A, etc., etc., es una falta de coincidencia, ¿correcto? Eso es todo lo que necesito saber, ya que estoy trabajando en la implementación de la puntuación para determinar palabras similares para la alineación.