¿Cuáles son algunas herramientas en las que puedo ingresar un par de secuencias de ADN (o, alternativamente, un par de secuencias de aminoácidos) y calcular una métrica de identidad de similitud porcentual entre ellas?
¿Es BLAST el algoritmo correcto para esto o algo más?
El contexto es que una determinada patente protege todas las secuencias al menos en un 90% o más de identidad con una secuencia determinada. Quería probar algunas secuencias candidatas y verificar la métrica de porcentaje de identidad.
A continuación, publico un fragmento de patente donde realmente definen su métrica de identidad.
Se pueden utilizar tBLASTn, BLASTx y tBLASTx.
Está claramente ilustrado aquí .
Si solo tiene dos secuencias, no necesita realizar una búsqueda en la base de datos. Simplemente puede alinearlos usando los algoritmos Smith-Waterman o Needleman-Wunsch, como mencionó David. Sin embargo, aún necesita traducir su ADN a proteína antes de realizar la alineación. Nuevamente, como señaló David, con las alineaciones de proteínas generalmente no usa la identidad. Las matrices de puntuación como PAM o BLOSUM se utilizan para calcular la similitud.
Si desea comparar dos secuencias específicas que ya tiene, entonces BLAST en sí no es el programa que necesita. BLAST es un programa que utiliza heurística para la búsqueda rápida de secuencias similares a una secuencia de consulta en una gran base de datos. Cada una de las secuencias de puntuación más altas obtenidas se 'termina' para su presentación mediante la ejecución de una implementación de un algoritmo de programación dinámica bastante diferente, más antiguo y más lento, que no es heurístico.
Hay una opción en la implementación de BLAST en NCBI para simplemente comparar dos secuencias , pero esto parece extraño ya que también se puede usar el algoritmo de alineación de programación dinámica. Además, el resultado no es lo que desea, ya que obtiene una alineación local , mientras que lo que especifica su patente es una alineación global ( ver más abajo).
Entonces, para la comparación por pares de dos secuencias, normalmente se usa un programa que implementa el algoritmo de programación dinámica de Smith y Waterman para el alineamiento local (solo se comparan las regiones de mayor similitud) o el algoritmo de Needleman y Wunsch para el alineamiento global (la totalidad de ambas secuencias se comparan). comparado). Según la especificación de su patente, claramente desea una alineación global y un valor para la identidad porcentual.
Puede encontrar implementaciones web gratuitas de ambos en el sitio web de EBI (entre otros lugares) donde el programa 'Needle' realiza la alineación global que necesita. Alternativamente, hay una implementación del algoritmo de Needleman y Wunsch en NBCI , escondido engañosamente en la suite BLAST.
Veo un problema teórico con estos programas en relación con la patente, aunque esto puede no importar en la práctica. La patente dice que “La alineación óptima es aquella en la que el porcentaje de identidad es el más alto posible”. Pero estos programas intentan encontrar la 'mejor' alineación no sobre la base de la puntuación de identidad más alta, sino sobre la base de la similitud más alta.puntaje. Esto se hace mediante el uso de una de varias matrices de puntuación empíricas que abarcan la probabilidad de sustituciones de aminoácidos particulares. Por ejemplo, una coincidencia entre aminoácidos similares (p. ej., Glu/Asp) puede dar una puntuación de 4, en comparación con una puntuación de coincidencia perfecta de 5. Además, una coincidencia perfecta para un aminoácido como Trp puntúa mucho más alto que una para Gly. (Se puede encontrar más información sobre este y estos términos en la entrada de Alineación de secuencias de Wikipedia o en el Glosario de BLAST ).
Ahora esperaría que la "mejor" alineación de secuencias obtenida mediante la optimización de la similitud de esta manera también diera la mejor puntuación de identidad . Esto es bastante probable para secuencias con una identidad del 90 % o superior, pero no hay razón para que sea necesariamente así. En teoría, para obtener la puntuación de identidad más alta, debe utilizar una matriz de puntuación en la que todas las coincidencias perfectas obtengan la misma puntuación y todas las discrepancias sean cero. Esto es posible usando una implementación de Needleman y Wunsch que le permite usar su propia matriz de comparación, por ejemplo, esta implementación en línea de EMBOSS-Explorer. El problema es qué puntuación dar al partido perfecto (¿el promedio de las puntuaciones de los partidos?), ya que esto tiene que encajar con las penalizaciones de puntuación por desajustes. O tal vez debería eliminar la penalización por desajuste por completo, ya que solo está interesado en la identidad más alta.
Mi consejo sería optar por el algoritmo de Needleman y Wunsch, aceptar los valores predeterminados y verificar que obtenga el mismo puntaje con diferentes implementaciones. Si sus abogados quieren algo más, puedo ofrecerle una consultoría ;-).
WYSIWYG
WYSIWYG
gato_curioso
David
gato_curioso
gato_curioso