La mayoría de las herramientas bioinformáticas están relacionadas con el procesamiento de cadenas (para buscar, extraer y alinear datos biológicos, como secuencias de ADN), o el aprendizaje automático (para hacer predicciones estadísticas más complejas).
Procesamiento de cadenas:
Dos de los algoritmos más comunes utilizados son el algoritmo Needleman-Wunsch y BLAST . Muchos otros algoritmos utilizados son derivados o variaciones de estos algoritmos.
- ¿Las GPU se usan solo para entrenar algoritmos de aprendizaje automático?
- ¿Cuáles son las grandes diferencias entre un profesional de TI y un informático?
- ¿Qué le sugerirás a un estudiante de segundo año de CSE para sus vacaciones de invierno?
- ¿Las computadoras actuales funcionan bien para la capacitación de aprendizaje profundo?
- Arquitectura de computadora: ¿Cuál es la diferencia entre canalización y paralelismo?
Needleman-Wunsch es un algoritmo de programación dinámico que encuentra la alineación global de mayor puntuación entre dos secuencias. Se puede aplicar a secuencias de nucleótidos o aminoácidos, y funciona puntuando una secuencia por el número de coincidencias / inserciones / deleciones requeridas. El algoritmo genera una matriz 2D de puntuaciones como la siguiente:
Una variación de Needleman-Wunsch para la alineación local conocida como el algoritmo Smith-Waterman es en realidad solo una versión generalizada del problema de subsecuencia común más largo, por lo que esto puede parecer familiar.
BLAST es algo similar, y se usa principalmente para encontrar alineamientos locales dada alguna secuencia de consulta inicial. Sin embargo, la principal diferencia con BLAST es que utiliza una heurística y no siempre genera la solución más óptima. Sin embargo, todavía se usa ampliamente porque es extremadamente rápido.
Aprendizaje automático:
Para problemas más complejos, los algoritmos de aprendizaje automático a menudo se usan para crear modelos que predicen datos biológicos específicos. Este es un campo mucho más amplio, y hay una gran cantidad de algoritmos utilizados en este caso, pero uno común es un modelo de Markov oculto .
Analizar cómo los datos biológicos cambian con el tiempo es un campo de investigación importante, y uno que a menudo surge es cómo el genoma se ve afectado por las mutaciones a lo largo del tiempo. Dado que una secuencia de ADN está compuesta de 4 nucleótidos (A, T, C, G), podemos representar cada uno de esos nucleótidos como estados diferentes y crear un modelo de Markov oculto, donde estimamos la tasa de mutación de un nucleótido a otro, y determine cuál podría ser el estado final más probable durante un período de tiempo determinado:
Además de eso, hay mucho más, especialmente a medida que el campo del aprendizaje automático continúa creciendo, por lo que definitivamente veremos una mayor variedad de algoritmos utilizados en las herramientas de bioinformática a medida que pase el tiempo.