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

  • Alexis Molina Martinez de los Reyes ( )
  • Gabriel Valiente Feruglio ( )
  • Miquel Angel Senar Rosell ( )

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: C6, K3, K4, S7,
  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: C6, K3, K4, K5, S2, S7,
  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: C6, K3, S7, S8,

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

Bibliografia

Bàsica:

Complementaria:

  • Python Programming for Biology - Stevens, Tim J., Cambridge University Press , 2015. ISBN: 9780511843556

Capacitats prèvies

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