Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
CS;UAB
Al final del curso, los estudiantes:
1. Conocerán los conceptos básicos de programación, algorítmica y gestión de la información en la resolución de problemas de carácter biológico a través de programas informáticos.
2. Serán capaces de utilizar los principales esquemas algorítmicos y algunas de sus variantes que aparecen frecuentemente en problemas comunes de Bioinformática
3. Reconocerán los casos de aplicación de los principales métodos utilizados en Bioinformática para acceder a datos almacenados en ordenadores, con especial atención a los mecanismos eficientes de tratamiento de secuencias.
4. Sabrán integrar el acceso a grandes bases de datos biológicas con el acceso a otras estructuras de información locales y combinarlos adecuadamente con los conceptos algorítmicos necesarios.
5. Sabrán cómo interactuar con herramientas externas y utilizar bibliotecas comunes que amplían la funcionalidad y mejoran el rendimiento de los programas Python.
El lenguaje de programación utilizado en este curso es Python, el cual se complementará con el uso ocasional de herramientas del Sistema Operativo o aplicaciones externas.
Profesorado
Responsable
- Miquel Angel Senar Rosell ( miquelangel.senar@uab.cat )
Otros
- Abraham De la Rosa Ibarra ( abraham.delarosa@uab.cat )
- Elisa Heymann Pignolo ( elisa.heymann@uab.es )
- Sandra Adriana Mendez Valerio ( sandra.adriana.mendez@upc.edu )
Horas semanales
Teoría
2
Problemas
2
Laboratorio
0
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Conocimientos
Habilidades
Competencias
Objetivos
-
Comprender cómo construir un programa y utilizar herramientas adicionales para resolver problemas que utilizan datos bioinformáticos.
Competencias relacionadas: C6, K3, K4, S7, -
Comprender el formato y la semántica de las estructuras de datos básicas utilizadas para representar datos biológicos: secuencias, genomas,...
Competencias relacionadas: K3, K5, S2, C6, -
Comprender las operaciones más comunes que se aplican a los archivos de datos bioinformáticos y desarrollar programas para realizarlas.
Competencias relacionadas: C6, K3, K4, K5, S2, S7, -
Comprender los principios básicos de los algoritmos que se utilizan para resolver problemas de alineación de secuencias y coincidencia de patrones.
Competencias relacionadas: K3, K4, K5, S2, S7, C6, -
Analizar soluciones con respecto al tiempo y el costo de la memoria y utilizar componentes de programación para mejorar el rendimiento.
Competencias relacionadas: C6, K3, S7, S8,
Contenidos
-
Introducción
Conceptos básicos de Python, control de flujo, funciones, listas, diccionarios y datos estructurados -
Estructuras de datos avanzadas i manipulación de cadenas.
Secuencias, cadenas y datos genómicos. Manipulación básica de secuencias genómicas, kmers y motifs -
Iteradores, "Comprehensions" y Generadores
Iteradres i "Comprehensions" sobre colecciones. Principis y funcionamiento de Generadores. -
Búsqueda de patrones y expresiones regulares
Encontrar patrones. Encontrar patrones con expresiones regulares. Crear y combinar objetos regex. -
Ficheros y gestión de excepciones
Operaciones básicas con ficheros. Gesti¿n de excepciones. Datos genómicos y formatos de archivos habituales en Bioinformática. -
Decoradores y principios de programación funcional
Definición y uso de decoradores. Uso de funciones especiales: map, filter, reduce, lambdas, zip, unzip, logging -
Alineación de secuencias: definiciones y métodos básicos
Algoritmos de alineación y programación dinámica. Programas de alineamiento y estadísticas de alineamiento. -
Extensiones de Python
Módulos de Python para interacción con el SO y manipulación de carpetas, interfícies de programa (argumentos en linea de comandos), Biopython. -
Análisis de datos avanzado
Numpy, Pandas, Matplotlib
Actividades
Actividad Acto evaluativo
Teoría
2h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Estructuras de datos avanzadas y manipulación de cadenas
Representación de secuencias y datos genómicos. Operaciones habituales en cadenas: indexación, unión, división, búsqueda e inserciónObjetivos: 1 2 3
Contenidos:
Teoría
2h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Búsqueda de patrones y expresiones regulares
Encontrar patrones de texto sin expresiones regulares. Encontrar patrones con expresiones regulares. Uso de objectos de expresión regular en Python.Objetivos: 2 3 4
Contenidos:
Teoría
4h
Problemas
4h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h
Metodología docente
Durante las sesiones teóricas, el profesor expondrá conceptos de programación, combinándolos con ejemplos y resolución de problemas.Durante las sesiones de resolución de problemas, los estudiantes trabajarán por sí mismos resolviendo problemas en un sistema informático, bajo la supervisión y asistencia del profesor cuando sea necesario.
Método de evaluación
Habrá dos exámenes: un examen parcial y un examen final.Además, se realizarán algunas pruebas de problemas evaluables durante las sesiones de problemas, anunciadas con antelación.
Puntuación final = 0,20*NP + 0,80*máx(EF, 0,35*EP+0,65*EF)
dónde:
NP: Puntuación de problemas. Pruebas breves de problemas realizadas durante las sesiones de problemas.
EP: Puntuación del examen parcial
EF: Puntuación del examen final
Los alumnos que suspednen la asignatura podrán hacer el examen de reevaluación ER. En este caso, la nota de ER sustituirá la nota del examen final EF en la fórmula de cálculo de la nota final de arriba.
Bibliografía
Básico
-
Python for the Life Sciences. A Gentle Introduction to Python for Life Scientists
- Lancaster, Alexander; Webster, Gordon,
Apress,
2019.
ISBN: 9781484245231
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=5909881 -
An Introduction to bioinformatics algorithms
- Jones, Neil C; Pevzner, Pavel,
MIT Press,
2004.
ISBN: 9780262101066
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=3338847 -
Learning Python
- Mark Lutz,
O'Reilly Media, Inc,
2025.
ISBN: 9781098171278
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=31926500
Complementario
-
Python Programming for Biology
- Stevens, Tim J.,
Cambridge University Press,
2015.
ISBN: 9780521895835
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005219278706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Capacidades previas
Programación Aplicada IProgramación Aplicada II
Introducción a la Bioinformática