Programació Aplicada III

Esteu aquí

Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
CS;UAB
El curs presenta tècniques algorítmiques bàsiques que s'apliquen en problemes de Bioinformàtica, amb una visió de les fortaleses i limitacions d'aquestes tècniques. També descriu elements i formats de dades comuns utilitzats per representar dades biològiques. Durant el curs els estudiants adquiriran els coneixements per tractar problemes de programació de naturalesa biològica de complexitat petita i mitjana, fent eleccions algorítmiques pragmàtiques raonables de paquets estàndard o implementacions per a aplicacions específiques.
Al final del curs, els alumnes:
1. Coneixeran els conceptes bàsics de programació, algorítmica i gestió de la informació en la resolució de problemes de caràcter biològic mitjançant programes informàtics.
2. Seran capaços d'utilitzar els principals esquemes algorísmics i algunes de les seves variants que apareixen freqüentment en problemes comuns de Bioinformàtica,
3. Reconeixeran els casos d'aplicació dels principals mètodes utilitzats en Bioinformàtica per accedir a les dades emmagatzemades en ordinadors, amb especial atenció als mecanismes eficients de tractament de seqüències.
4. Sabran integrar l'accés a grans bases de dades biològiques amb l'accés a altres estructures d'informació locals i combinar-les adequadament amb els conceptes algorísmics necessaris.
5. Sabran connectar-se amb eines externes i utilitzar biblioteques comunes que amplien la funcionalitat i milloren el rendiment dels programes Python.
El llenguatge de programació utilitzat en aquest curs és Python, que es complementarà amb l'ús puntual d'eines del Sistema Operatiu o aplicacions externes.

Professorat

Responsable

  • Gabriel Valiente Feruglio ( )
  • Miquel Angel Senar Rosell ( )

Altres

  • Alexis Molina Martinez de los Reyes ( )
  • Quim Aguado Puig ( )

Hores setmanals

Teoria
2
Problemes
2
Laboratori
0
Aprenentatge dirigit
0
Aprenentatge autònom
6

Resultats d'aprenentatge

Resultats d'aprenentatge

Coneixements

  • K3 - Identificar els fonaments matemàtics, les teories informàtiques, els esquemes algorísmics i els principis d'organització de la informació aplicables al modelat de sistemes biològics i a la resolució eficient de problemes bioinformàtics mitjançant el disseny d'eines computacionals.
  • K4 - Integrar els conceptes oferts pels llenguatges de programació de major ús en l'àmbit de les Ciències de la Vida per a modelar i optimitzar estructures de dades i construir algorismes eficients, relacionant-los entre sí i amb els seus casos d'aplicació.
  • K5 - Identificar la naturalesa de les variables biològiques que cal analitzar, així com els models matemàtics, els algorismes i les proves estadístiques adequades per a desenvolupar i avaluar anàlisis estadístics i eines computacionals.

Habilitats

  • S2 - Analitzar computacionalment seqüències d'ADN, ARN i proteïnes, incloent anàlisis comparatives de genomes, usant la computació, les matemàtiques i l'estadística com a eines bàsiques de la bioinformàtica.
  • S7 - Implementar mètodes de programació i anàlisi de dades a partir de l'elaboració d'hipòtesis de treball, dins de l'àrea d'estudi.
  • S8 - Enfrontar-se a la presa de decisions, i defensar-les amb arguments, en la resolució de problemes de les àrees de biologia, així com, dins dels àmbits adequats, les ciències de la salut, les ciències de la computació i les ciències experimentals.

Competències

  • C6 - Detectar deficiències en el propi coneixement i superar-les mitjançant la reflexió crítica i l'elecció de la millor actuació per a ampliar aquest coneixement.

Objectius

  1. Entendre com construir un programa i utilitzar eines addicionals per resoldre problemes que utilitzen dades bioinformàtiques.
    Competències relacionades: K3, K4, S7, C6,
  2. Comprendre el format i la semàntica de les estructures de dades bàsiques utilitzades per representar dades biològiques: seqüències, genomes,...
    Competències relacionades: K3, K5, S2, C6,
  3. Conèixer les operacions més habituals que s'apliquen als fitxers de dades bioinformàtiques i desenvolupar programes per realitzar-les.
    Competències relacionades: K3, K4, K5, S2, S7, C6,
  4. Comprendre els principis bàsics d'algorisme que s'utilitzen per resoldre problemes d'alineació de seqüències i de concordança de patrons.
    Competències relacionades: K3, K4, K5, S2, S7, C6,
  5. Analitzar solucions pel que fa a temps i cost de memòria i utilitzar components de programació per millorar el rendiment.
    Competències relacionades: K3, S7, S8, C6,

Continguts

  1. Introducció i resum de Python
    Conceptes bàsics de Python, control de flux, funcions, llistes, diccionaris i dades estructurades
  2. Seqüències genòmiques i mecanismes d'anàlisi
    Seqüències, cadenes i dades genòmiques. Formats de fitxer de seqüències. Bases de dades biològiques. Manipulació de seqüències i dades genòmiques: biopython i altres eines comunes.
  3. Motifs i kmers
    Motifs i kmers. Concordança bàsica de cadenes. Seqüències de consens. Búsqueda de motifs. Eines de descoberta de motifs.
  4. Cerca de patrons i expressions regulars
    Cercar patrons. Trobar patrons amb expressions regulars. Creació i associació d'objectes regex.
  5. Manipulació de cadenes de caràcters i alineació de seqüències
    Manipulació de cadenes de caràcters: indexació, unió, tall. Algoritmes d'alineació i programació dinàmica. Programari d'alineació i estadístiques d'alineació. Dades genòmiques i formats de fitxers.
  6. Alineament de seqüències múltiples i filogenètica
    Formats de fitxer per alineació de múltiples seqüències i mètodes d'alineament de múltiple seqüències. Arbres filogenètics: representació i funcionament bàsic.
  7. Temes diversos
    Interacció de Python amb el sistema operatiu i ús de mòduls. Millora de la velocitat dels scripts de Python.

Activitats

Activitat Acte avaluatiu


Introducció i resum de Python.

Resolució de problemes amb Python
Objectius: 1 2
Continguts:
Teoria
4h
Problemes
4h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Seqüències genòmiques, motifs i kmers. Mecanismes d'anàlisi

Representació de seqüències i dades genòmiques. Formats de fitxer per emmagatzemar dades biològiques. Bases de dades externes. Programes que utilitzen Biopython i altres eines habituals per manipular biodades.
Objectius: 1 2 3
Continguts:
Teoria
4h
Problemes
4h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Cerca de patrons i expressions regulars

Trobar patrons de text sense expressions regulars. Trobar patrons amb expressions regulars. Ús d'objectes d'expressió regular a Python.
Objectius: 2 3 4
Continguts:
Teoria
4h
Problemes
4h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Manipulació de cadenes de caràcters i alineament de seqüències

Accions habituals de manipulació de cadenes de caràcters: indexació, unió, tall, cerca, inserció. Algorismes bàsics d'alineació i implementacions de programació dinàmica. Manipulació de dades genòmiques generades amb eines d'alineació.
Objectius: 2 3 4 5
Continguts:
Teoria
8h
Problemes
8h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
24h

Alineamiento de seqüències múltiples i filogenètica

Mètodes comuns utilitzats per resoldre el problema d'alineació de múltiples seqüències. Ús de fitxers d'alineament de seqüències múltiples. Representació i funcionament bàsic dels arbres de Filogenètica.
Objectius: 2 3 4 5
Continguts:
Teoria
6h
Problemes
6h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
18h

Temes diversos

Interfície Python amb el sistema operatiu i altres mòduls externs. Millora de la velocitat dels programes Python: Cython, numpy,...
Objectius: 1 5
Continguts:
Teoria
4h
Problemes
4h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Metodologia docent

Durant les sessions teòriques, el professor exposarà conceptes de programació, combinats amb exemples i resolució de problemes.
Durant les sessions de resolució de problemes, els estudiants treballaran la seva pròpia resolució de problemes en un sistema informàtic, sota la supervisió i assistència del professor quan sigui necessari.

Mètode d'avaluació

Hi haurà dos exàmens: un examen parcial i un examen final
A més, es realitzaran algunes proves de problemes avaluables durant les sessions de problemes, anunciades amb antelació.
Puntuació final = 0,20*NP + 0,80*màx (EF, 0,35*EP+0,65*EF)
on:
NP: Puntuació de problemes. Proves breus de problemes realitzades durant les sessions de problemes
EP: Puntuació de l'examen parcial
EF: Puntuació de l'examen final
Els alumnes que suspenen l'assignatura poden anar a l'examen de reavaluació ER. En aquest cas, la nota de ER substituirà la nota de l'examen final EF en la fórmula de dalt de càlcul de la nota final.

Bibliografia

Bàsica:

Complementaria:

Capacitats prèvies

Programació Aplicada I
Programació Aplicada II
Introducció a la Bioinformàtica