Elementi di Bioinformatica

Il corso ha lo scopo di fornire gli elementi di base per
la comprensione di algoritmi utili nell'analisi di biosequenze
ed eventualmente la loro implementazione in un linguaggio di
programazione. Non sono richieste conoscenze precedenti di
programmazione.

Introduzione agli algoritmni per l'analisi di sequenze. Concetto di
algoritmo. Concetto di complessita' computazionale nel tempo e nello
spazio. Flusso di un algoritmo, variabili, vettori, matrici.  Espressioni
e funzioni. Condizioni e iterazioni.
Esempi di strutture di dati astratte (liste, code, alberi).

Algoritmi di utilita`: traduzione DNA-proteina, analisi statistiche
delle sequenze, ricerca di espressioni regolari (prosite), calcolo
di plot di idropatia.

Algoritmi basati sulla programmazione dinamica:
allineamento di biosequenze a coppie, locali e globali:
Needlman e Wunsh, Smith-Waterman e Gotoh.
 

Elementi e sintassi di un linguaggio di alto livello (perl o
python). Implementazione di algoritmi per l'analisi di biosequenze nel
linguaggio descritto, eventualmente utilizzando strumenti gia`
disponibili come biopython e bioperl.
 
 

Materiale:

1. "How to think like a computer scientist"
(http://rocky.wellesley.edu/downey/ost/thinkCS/)

2. BioComputing Hypertext Coursebook
(http://www.techfak.uni-bielefeld.de/bcd/Curric/welcome.html)

3. Python course in Bioinformatics
    (http://www.pasteur.fr/recherche/unites/sis/formation/python/)

4. Biopython (http://www.biopython.org)