Técnicas y Herramientas Bioinformáticas

Usted está aquí

Créditos
3
Tipos
  • MEI: Optativa
  • MIRI: Optativa
  • MDS: Optativa
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
CS
Este curso presenta las principales técnicas algorítmicas y las estructuras de datos utilizadas en la genómica y la pangenómica modernas. Se centra en la búsqueda exacta y aproximada de patrones en cadenas, el alineamiento de secuencias y el alineamiento sobre representaciones genómicas basadas en grafos. Se pone especial énfasis en comprender los principios algorítmicos subyacentes, los compromisos de complejidad y las consideraciones prácticas necesarias para procesar datos a escala genómica de forma eficiente y correcta.

Profesorado

Responsable

  • Santiago Marco Sola ( )

Horas semanales

Teoría
2
Problemas
1
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
8.5

Competencias

Competencias Técnicas de cada especialidad

Dirección y gestión

  • CDG1 - Capacidad para la integración de tecnologías, aplicaciones, servicios y sistemas propios de la Ingeniería Informática, con carácter generalista, y en contextos más amplios y multidisciplinares.

Específicas

  • CTE7 - Capacidad para comprender y poder aplicar conocimientos avanzados de computación de altas prestaciones y métodos numéricos o computacionales a problemas de ingeniería.
  • CTE9 - Capacidad para aplicar métodos matemáticos, estadísticos y de inteligencia artificial para modelar, diseñar y desarrollar aplicaciones, servicios, sistemas inteligentes y sistemas basados en el conocimiento.

Competencias Técnicas Genéricas

Genéricas

  • CG4 - Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Ingeniería en Informática.

Competencias Transversales

Uso solvente de los recursos de información

  • CTR4 - Gestionar la adquisición, la estructuración, el análisis y la visualización de datos e información del ámbito de la ingeniería informática y valorar de forma crítica los resultados de esta gestión.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.

Objetivos

  1. Comprender algoritmos y estructuras de datos de coincidencia de patrones y su implementación en un lenguaje de programación moderno, y aplicarlos para resolver problemas prácticos en bioinformática.
    Competencias relacionadas: CB6, CTR4, CDG1, CTE7, CTE9, CG4,

Contenidos

  1. Tecnologías de secuenciación y análisis del genoma
    Se presenta una visión general de las tecnologías modernas de secuenciación de ADN y de las características computacionales de los datos genómicos. Se presentan las principales tareas del análisis genómico, incluyendo el mapeo de secuencias, el variant calling y el ensamblaje de secuencias. Estos problemas motivan la abstracción de las secuencias biológicas como cadenas y ponen de relieve los retos algorítmicos y computacionales que plantean los conjuntos de datos a escala genómica.
  2. Algoritmos de búsqueda exacta de patrones
    Se estudia el problema de la búsqueda exacta como tarea algorítmica fundamental. Se presentan algoritmos clásicos para ilustrar distintos paradigmas de diseño, incluyendo el preprocesamiento basado en prefijos, las estrategias heurísticas de salto, las técnicas de hashing y el paralelismo a nivel de bit. Se hace énfasis en la corrección, la complejidad temporal y las consideraciones prácticas de rendimiento.
  3. Estructuras de datos para la indexación de texto
    Este bloque se centra en estructuras de datos que permiten una búsqueda eficiente de patrones sobre textos de gran escala, con especial atención a aplicaciones genómicas. Se cubren estrategias de indexación basadas en hashing y en k-mers, estructuras de árboles lexicográficos, árboles de sufijos y arrays de sufijos, así como índices comprimidos de texto completo basados en la transformada de Burrows-Wheeler.
  4. Algorithmos de búsqueda aproximada de patrones
    Este bloque presenta la búsqueda aproximada de patrones de texto, donde se permiten diferencias. El bloque introduce modelos de distancia y error, seguidos de técnicas de filtrado y seeding para reducir el espacio de búsqueda. Se presentan métodos asistidos por índice, estimación de similitud mediante sketches, algoritmos de verificación y estrategias de chaining como componentes clave de los algoritmos y herramientas modernas de búsqueda aproximada.
  5. Alineamiento de secuencias
    Este bloque aborda el alineamiento de secuencias como tarea fundamental en bioinformática y análisis genómico. Se introducen técnicas de programación dinámica para calcular la distancia de edición y otros modelos de alineamiento, incluyendo gap-affine. Se estudian modalidades clásicas de alineamiento y optimizaciones algorítmicas avanzadas, con atención a la eficiencia espacial, al sparse dynamic programming y a métodos output-sensitive, como el Wavefront Alignment Algorithm.
  6. Grafos de secuencia y pangenómica
    La asignatura concluye con una introducción a representaciones basadas en grafos para modelar variación genómica. Se discuten grafos de secuencia, modelos de pangenoma y su relación con las referencias lineales. Se introduce el problema de alineamiento de secuencias sobre grafos, destacando los retos y las oportunidades algorítmicas que surgen al extender técnicas de alineamiento a estas representaciones.

Actividades

Actividad Acto evaluativo


Tecnologías de secuenciación y análisis del genoma


Objetivos: 1
Contenidos:
Teoría
2h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Algoritmos de búsqueda exacta de patrones


Objetivos: 1
Contenidos:
Teoría
2h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Estructuras de datos para la indexación de texto


Objetivos: 1
Contenidos:
Teoría
3h
Problemas
1h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Algoritmos de búsqueda aproximada de patrones


Objetivos: 1
Contenidos:
Teoría
2h
Problemas
1h
Laboratorio
1h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Alineamiento de secuencias


Objetivos: 1
Contenidos:
Teoría
2h
Problemas
1h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Grafos secuencia y pangenómica


Objetivos: 1
Contenidos:
Teoría
1h
Problemas
1h
Laboratorio
1h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Proyecto de programación


Objetivos: 1
Semana: 7 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
15h

Presentación de algoritmos y estructuras de datos avanzadas


Objetivos: 1
Semana: 7 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Metodología docente

La asignatura combina clases, sesiones de resolución de problemas y trabajo autónomo para desarrollar tanto la comprensión teórica como las competencias prácticas. Durante las clases, el profesorado introduce conceptos algorítmicos, estructuras de datos y técnicas clave para la genómica y la pangenómica, apoyándose en ejemplos ilustrativos y en la discusión de compromisos de complejidad y rendimiento.

Las sesiones de problemas se dedican a la resolución guiada de ejercicios, en los que el estudiante trabaja sobre problemas algorítmicos relacionados con los contenidos del curso. Estas sesiones enfatizan el razonamiento, la corrección y el análisis, y el alumnado recibe supervisión y retroalimentación continuas.

El estudio independiente y el trabajo de proyecto desempeñan un papel central en la asignatura. Se espera que el estudiante lea y analice literatura científica, prepare una presentación oral de un artículo seleccionado y desarrolle un proyecto aplicado de programación que consolide las técnicas estudiadas a lo largo del curso.

Método de evaluación

La evaluación de la asignatura es continua.

El componente principal, que representa el 80% de la nota final, consiste en una presentación oral y defensa de un artículo de investigación sobre temas tratados en la asignatura. Se espera que el estudiante lea, analice y presente de forma crítica, de manera autónoma, una contribución de nivel investigador que demuestre comprensión de las ideas algorítmicas subyacentes, las decisiones metodológicas y su relevancia para el análisis de secuencias a escala genómica.

El segundo componente, que representa el 20% restante, consiste en un proyecto de programación, en el que el estudiante diseña e implementa de forma autónoma una solución aplicada y experimental que ponga en práctica las técnicas algorítmicas trabajadas a lo largo del curso.

Bibliografía

Básica:

Complementaria:

Capacidades previas

No se requieren conocimientos previos de bioinformática. Disponer de nociones básicas de biología molecular, genética o genómica puede ser útil, pero todo el contexto biológico necesario se introducirá durante el curso.

Se espera que el estudiantado tenga conocimientos básicos de informática, incluidos algoritmos y estructuras de datos elementales. Además, el estudiante debe sentirse cómodo programando en al menos un lenguaje de programación de uso general (p.ej., Python, C, C++, Java o Rust). No es necesario tener experiencia previa en computación de altas prestaciones, arquitectura de computadores o ingeniería de rendimiento, aunque una comprensión básica de estos aspectos puede resultar beneficiosa en la parte de implementación y optimización de la asignatura.

Se requiere un alto interés y motivación por los algoritmos y las estructuras de datos.